[RS] Mecanim动画使用杂记

记录环境

  • Unity 2020.3.2f1

Parameter - Trigger

  • SetTrigger时,动画所处状态不处理Trigger参数,则Trigger状态会持续保留。当转换到处理Trigger的状态时,立刻执行。

  • Trigger执行后,会立刻关闭标记

  • 1个Trigger尽量只绑定1个状态转换,会重复SetTrigger的地方,要在适当时机ResetTrigger。避免状态保持,导致意料外的动画切换。

  • 可以用 Animator.GetBool 取Trigger当前值


State

  • AnimatorController中,直接删除一个Layer,里面的State不会从序列化文件里删掉

  • State有个FullPath的概念,其组成为:LayerName.(Sub)StateMachineName.StateName
    如果有多层状态机嵌套,按顺序拼接


Transition(状态转换)

  • HasExitTime勾选后,在进入退出时间后,Unity才会去检测条件是否满足

  • 即使没勾HasExitTime,在满足转换条件时,两个片段的交错时间,也会做动画融合


Layer

  • Blending = Override的时候,当前层的效果会覆盖其他层的效果。并且,列表中下面的Layer优先级高
  • Layer中Empty状态不会覆盖其他层(Motion没有关联AnimationClip的是Empty状态)

代码

  • AnimationCurve.keys 每次取值,都返回一个新的数组对象
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容