Unity-Animator深入系列---fullPathHash和shortNameHash
Unity5对状态哈希做了改进,拆分成了fullPathHash和shortNameHash,那么就来看看他们有什么区别
测试结果:
fullPathHash支持嵌套子状态以及层,shortNameHash直接不支持路径
这是使用的测试状态机,一共三种状态

测试脚本:
public class A1 : MonoBehaviour
{
public Animator animator; void OnGUI()
{
GUILayout.Box("Layer1 fullPathHash - " + (animator.GetCurrentAnimatorStateInfo().fullPathHash == Animator.StringToHash("Layer1.Idle")));
GUILayout.Box("Layer1 Idle2 fullPathHash - " + (animator.GetCurrentAnimatorStateInfo().fullPathHash == Animator.StringToHash("Layer1.Group.Idle")));
GUILayout.Box("Layer2 fullPathHash - " + (animator.GetCurrentAnimatorStateInfo().fullPathHash == Animator.StringToHash("Layer2.Idle"))); GUILayout.Box("Layer1 shortNameHash - " + (animator.GetCurrentAnimatorStateInfo().shortNameHash == Animator.StringToHash("Idle")));
GUILayout.Box("Layer1 Idle2 shortNameHash(1) - " + (animator.GetCurrentAnimatorStateInfo().shortNameHash == Animator.StringToHash("Group.Idle")));
GUILayout.Box("Layer1 Idle2 shortNameHash(2) - " + (animator.GetCurrentAnimatorStateInfo().shortNameHash == Animator.StringToHash("Idle")));
GUILayout.Box("Layer2 shortNameHash - " + (animator.GetCurrentAnimatorStateInfo().shortNameHash == Animator.StringToHash("Idle")));
}
}
测试结果1(Layer1.Group.Idle未跳转):

测试结果2(Layer1.Group.Idle已跳转):

最终结论:
fullPathHash支持子状态以及层,shortNameHash直接不支持路径
Unity-Animator深入系列---fullPathHash和shortNameHash的更多相关文章
- 【转】Unity Animator卡顿研究
Unity Animator卡顿研究 发表于2017-07-26 点赞3 评论3 分享 分享到 2.3k浏览 想免费获取内部独家PPT资料库?观看行业大牛直播?点击加入腾讯游戏学院游戏程序行业精英群 ...
- 【转】unity Animator 怎么判断一个动画播放结束
关于unity Animator 怎么判断一个动画播放结束这里有几种方法.希望对大家有帮助.还有其他办法的可以分享一下 第一种方法:在动画结束帧后面加个动画事件,调用下含这个变量的函数接口不是可以了? ...
- Unity Animator动画状态机 深入理解(一)
接触Unity以来就已经有了Animator,Animation用的少,不过也大概理解他俩之间的一个区别于联系. 图中其实就是Animator和Animation之间的区别于联系了,啊!你肯定会告诉我 ...
- Unity S老师系列课程学习
AssetBundle(创建打包)入门学习(基于Unity2017) (已看) 分组策略 逻辑实体分组 按照类型分组 按照使用分组 分组策略----总结 把经常更新的资源放在一个单独的包里面,跟不经常 ...
- Unity Animator动画状态机 深入理解(二)IK控制
IK还是一个很神奇和实用的东西啊,起码可以用代码来控制人物骨骼位置还是很爽的.因为不是动画师~ 这篇可能跟Animator没啥关系了哈,都是代码层的. 看了一官方的案例,老的,有些问题,自己修改了一下 ...
- 【Unity】UGUI系列教程——拼接一个简单界面
0.简介: 在目前的游戏市场上,手游依然是市场上的主力军,而只有快速上线,玩法系统完善的游戏才能在国内市场中占据份额.而在手游开发过程中,搭建UI系统是非常基本且重要的技能,极端的说如果对Unity的 ...
- unity, Animator.ResetTrigger
解: 正确的写法应该是:Animator.SetTrigger("unfoldTrigger")Animator.ResetTrigger("unfoldTrigger& ...
- Unity优化----drawcall系列
本文由博主(国宝大熊猫)原创,转载请注明出处:http://www.cnblogs.com/xsln/p/5151951.html 知识普及: *Drawcall影响的是CPU的效率.因为d ...
- unity, animator stateMachine立即触发状态转换
例如按下键jump按钮人物执行跳起动作,同时动画状态由idle转换为jump,同时打开Game窗口和Animator窗口对比观察,发现人物跳起时动画状态并没有同步发生转换,而是有一定延迟,导致人物动画 ...
随机推荐
- Java的数据转换
Java的数据类型分为三大类,即布尔型.字符型和数值型,其中数值型又分为整型和浮点型.相对于数据类型,Java的变量类型为布尔型boolean;字符型char:整型byte.short.int.lon ...
- leetcode-99 Recover_Binary_Search_Tree
题目要求: Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without ch ...
- PostgreSQL auto_explain
The auto_explain module provides a means for logging execution plans of slow statements automaticall ...
- break和continue的区别以及标签label的使用
break表示直接跳出当前循环,break只能运用于switch--case语句以及循环之中 continue则表示跳出当次循环,继续执行下一次循环 label标签则可以选择break,或者conti ...
- int和long long有符号整形 负数比正数多一个
int的负数比正数多一个,则有一个负数在int范围内没有对应的正数 最大正整数用十六进制,很容易表示:0x7f ff ff ff int num = 0x7fffffff; num = -num; p ...
- 【Origin】jquery.barddialog.js
/// <reference path="jquery-2.1.1.min.js" /> /** * @license jquery.bardDialog 1.0.0 ...
- DataBase: LeetCode
Combine Two Tables # Write your MySQL query statement below Select p.FirstName, p.LastName, a.City, ...
- MySQL 请选择合适的列! 转载(http://www.cnblogs.com/baochuan/archive/2012/05/23/2513224.html)
点击图片,可查看大图. 介绍 情况:如果你的表结构设计不良或你的索引设计不佳,那么请你优化你的表结构设计和给予合适的索引,这样你的查询性能就能提高几个数量级.——数据越大,索引的价值越能体现 ...
- HGE引擎之hgeSprite
一.hgeSprite类 hgeSprite是一个精灵实体的HGE帮助类. 1.构造函数 创建和初始化一个hgeSprite对象. hgeSprite(HTEXTURE tex, float x, f ...
- 目前主流的国产WebApp框架
1.FrozenUI:QQ 2.WeUI:WeChat 3.SUI:Taobao