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窗口对比观察,发现人物跳起时动画状态并没有同步发生转换,而是有一定延迟,导致人物动画 ...
随机推荐
- swift语言实战晋级-1 Swift开发环境的搭建
想要进行Swift的学习,必须要有个开发环境.简单的说就是装好了Xcode的Mac系统.那么接下来我们就简单了解一下这方面的内容. 1.1 下载Xcode Xcode是苹果公司出的编程工具,类似于微软 ...
- SQL 启动服务方法
(1)windows开始菜单->Microsoft SQL Server 2012->配置工具->配置管理器
- [转] HashMap的工作原理
HashMap的工作原理是近年来常见的Java面试题.几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此 ...
- Java基础(10):java基础第一部分综合测试题,成绩合法性校验与排序
题目: 编写一个 JAVA 程序,实现输出考试成绩的前三名 要求: 1. 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 64 , 91 , 119 , 52 , 73 ...
- ant的那些闹挺事
今日发现了一个问题,用ant+hudson去运行脚本代码时,突然ant报错: 即使我在ant的build文件中指定了basedir=“C:/Users/145064/.hudson/jobs/haix ...
- cocos2d对动画的各种操作
瞬时动作:瞬时动作的基类是InstantAction 1.放置位置 CGPoint p = ccp(width,height); [sprite runAction:[CCPlace action ...
- jnlp jws
http://www.mkyong.com/java/java-web-start-jnlp-tutorial-unofficial-guide/
- LDA-math-文本建模
http://cos.name/2013/03/lda-math-text-modeling/ 4. 文本建模 我们日常生活中总是产生大量的文本,如果每一个文本存储为一篇文档,那每篇文档从人的观察来说 ...
- RobotFramework 安装配置(一)
服务器接口的测试框架的选择,最后选中了 RobotFramework ,原因一:能有效的管理测试用例,,支持批量执行,能实现关键字驱动或者数据驱动.原因二:支持测试人员可以使用Python和java创 ...
- 【py技巧】使用reload重导入修改过的包或模块
#使用import导入 import my_module my_module.something() #out - orignal #这里修改输出 - changed reload(my_module ...