Unity3d Mecanim动画系统Animator学习笔记

Posted LAN_YT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3d Mecanim动画系统Animator学习笔记相关的知识,希望对你有一定的参考价值。

1. unity3d Mecanim学习 


 

  Unity3d新版动画系统网上的介绍很多,但多是流水笔记,外人很难看明白,后来我 终于找到介绍的比较明白的两个作者,特别感谢。一个是58开发网的乐天老师,课程 视频网址:http://www.58kaifa.com/course/24, 这是一个免费的视频课程,讲解的 很仔细,很清除。另一个是博客园的 阿诚de窝,文章地址:http://www.cnblogs.com/hammerc/category/647246.html, 各个控制面板上的参数含义基本上都介绍了,非常详尽,再次像两位表示感谢。Orz!

 

2. Unity3d Mecanim补充 


 

 a.Animator中的Trigger类型参数

  Animator中有四种参数,Float,Int,Bool,Trigger,前三种很好理解,在这里只说一下Trigger 类型的参数,这个参数本质上是一个bool,但是他不需要你手动设置false状态,比如有两个动画, Idle与Run,这个过渡条件你选择了Trigger类型变量start,那么在Idle状态下你设置start后,系统 会在动画转移到Run后自动将start重置为false。但如果是bool类型的话就需要手动设置了。

 b.Transitions

  相同的两个状态之间有多个转移: 

 

 

   此时,这两个状态都可以设置转换条件,他们是“”的关系,只要一个满足即可状态转移。

  同一个转移,但是有多个不同的条件:

 

此时,这两个条件之间是“”的关系,需要同时满足才可完成状态转移。

c.混合树

一维混合树如图:

 

这里主要是说明一下,Motion之后的参数是要竖着一组去看的,我当时是当作横着一组看(怎么都理解不了为啥Strafe_R的范围是1,1),MDZZ。另外据我观察Parameter 只能使用参数表里面的Float,Int估计也可以,但是不能用Bool,当然看图之后也能理解,Threshold就是Direction的取值范围。

 

 3.杂项记录


 

  a. any state切换到任何状态机,都会有一个can transition to self选项,勾选此选项可以重置自身状态。(问题,如果不用any state 该怎么办?)

  b.

 

  c. Layer面板参数

 

  d.

   e. 动画重定向只能使用在Humanoid的类人模型中。https://www.jianshu.com/p/6e9ba1b9c99e

   f. 一个有趣的实验:animator controller中有Idle,A,B,C四个状态名,那么在Idle状态下当同时满足三个转移条件成立时如何转移呢,答案是先连那个就转移到那个

  g. 设置动画速度:https://blog.csdn.net/zhenmu/article/details/77716789

4.参照

# http://blog.csdn.net/u014635337/article/details/46918953

https://www.cnblogs.com/hont/p/5196485.html

http://www.cnblogs.com/hammerc/p/4826913.html

https://www.jianshu.com/p/c188e1f48522

http://www.58kaifa.com/course/24

http://blog.sina.com.cn/s/blog_14f07be760102w2sc.html

https://www.cnblogs.com/isayes/p/6527951.html

https://blog.csdn.net/SerenaHaven/article/details/78796431

https://blog.csdn.net/jason_520/article/details/54630820

https://www.cnblogs.com/hont/p/5100472.html

http://wiki.ceeger.com/script/unityengine/classes/animation/animation

https://www.jianshu.com/p/c188e1f48522

https://mp.weixin.qq.com/s?__biz=MzU5MjQ1NTEwOA==&mid=2247493316&idx=1&sn=7e4fef834a8066faca3d2f1f1a090bb4&chksm=fe1dd26fc96a5b79856840f556cf65026facb83520ac1891605e42d5e777d30a0d5219060e21&scene=21#wechat_redirect

http://www.sikiedu.com/my/course/82

 5.疑问 


 

  1. 混合树与动画分层。 第一个场景:角色向前走的时候可以向右移动,此时我们需要使用混合树来完成。 第二个场景:角色向前走的时候可以挥手,此时我们需要使用动画分层来完成。 为什么同样是两个动作,却一个使用混合树,一个使用动画层呢?我的理解是如果这两个动作是相同的骨骼部位,比如第一个场景都需要用到腿部的动画,那么使用动画分层是不好 实现的,此时使用了混合树,而第二个场景,两个动作可以说毫无关联,此时使用动画分层来实现,不知理解是否正确,忘赐教。

  2. xxxxx 额。。。。还有个啥疑问来着,咋忘了。。。。。,好吧确实没想起来,想到了补上。。。。Orz

 

以上是关于Unity3d Mecanim动画系统Animator学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D之Mecanim动画系统学习笔记:Mecanim动画的资源加载相关

[Unity3D]Unity4新的动画系统Mecanim

[Unity3D]Unity3D游戏开发之自己主动寻路与Mecanim动画系统的结合

Unity3D之Mecanim动画系统学习笔记:Animation State

Unity3D之Mecanim动画系统学习笔记:使用脚本控制动画

Unity3D之Mecanim动画系统学习笔记:模型导入