Unity AnimatorController 混合树 状态机 骨骼

一、AnimatorController 1D混合树:

  1. 新建混合树:
  2.  

  3. 混合树控制:

 

 

Parameter:控制当前混合树的参数;

三个蓝色三角形区域,代表的是三个动画的权重;

Threshold:阈值(-1-0 运行的是向左走动画权重越来越低,直走权重越来越高,0-1运行的是直走权重越来越低,向右走的权重越来越高);

Automate Threshold:自动计算;通过动画片段的动画位移来计算的阈值,我们一般使用自己设置的;

 

二、2D混合树

1.2D混合树:

   

2.2D混合树参数设置:

 

 

 

Parameters:两个参数,分别控制两个轴;

 

 

1.2DsimpleDirection:在同一方向上不能有多个动画片段;

2.2DFreeform Directional:在同一方向上可以有多个动画片段;

3.2Dfreeform Cartesian:不是在方向上操作的动画片段;

 

三、多Layer层动画状态机

1.baseLayer层的设置

 

 

Blending:override:覆盖,表示当前层的动画会覆盖掉其他层的动画;

                    Additive:添加,表示当前层的动画的量会叠加到其他层的动画;

Sync:同步层,打开后两个层所有状态同步;

2.armLayer层的设置

 

 

 

针对以上两中Layer层的设置对比如下:

  1. weight权重,BaseLayer层默认为1,如果希望armLayer也有播放权限,,需要将armLayer层的weight也设为1;
  2. armLayer的Mask是只有右手臂的骨骼是活跃的,单独做了一个LayerMask(这个是在peoject面板中新建的一个文件)
  3.  

  4. Blending:override:覆盖baseLayer的动作;additive:两个动画融合;

 

四、IK动画(逆向动画)

1.在Aniamator中开启IKPass;

 

 

2.什么叫IK:人物的四肢点AvatarIKGoal.RightHand

 

 

  1. 设置ik权重、匹配四个ik位置和方向

 

 

 

  1. 用位置匹配的方法来跳跃到集装箱上

 

 

五、Override Animator Controller

 

 

  1. 可以重写其他状态机的某一状态;
  2. 不能改变原来状态机的切换逻辑;

 

六、动画的重定向:

什么叫动画的重定向:其他模型的动画用作自身模型,虽然是不同模型,但是播放的是同一个动作;

注意:动作的重定向必须是两个骨骼动画是一样的或者很接近的,否则不能实现动画重定向;

 

posted @ 2019-06-19 15:29  D个人笔记  阅读(1426)  评论(0编辑  收藏  举报