·来源于唐老狮的视频教学,仅作记录和感悟记录,方便日后复习或者查找


一、使用导入的3D动画

①把模型拖入场景中

②给模型添加Animator脚本

③创建一个Animator Controller文件

④点开Animator Controller文件并把需要的动画剪辑拖进去(一个动画文件里可能包含多个动画剪辑)

⑤给各个动画剪辑之间设置连线与切换条件

注意:要是动画没有在动画页签中选择把运动烘焙到根上,那可能会运动起来,如果不想让他运动的话,也可以直接取消打勾Animator脚本上的Apply Root Motion选项 

更详细带图文操作可以回去看之前的笔记:

Unity学习--动画基础--[Animator动画状态机]Animator Controller动画控制器(状态机)


二、状态设置相关参数

  • Speed下的Multipiler:可以在Animator窗口中设置一个float类型变量,用于和Speed相乘,可以控制动画播放的速度
  • Motion Time:可以在Animator窗口中设置一个float类型的变量,用于指定动画定在哪一帧(0-1)【感觉可以做类似定身的效果?】
  • Mirror:打勾后可以让动画左右镜像(仅限人形动画),也可以在Animtor窗口中设置一个Bool类型变量与其关联以控制
  • Cycle Offset:每次循环开始的位置,为0就是从第一帧开始(一般也不会改这个)
  • Foot IK:是否遵循Foot IK,适用于人形人形动画
  • Write Defaults:AnimatorStates 是否为其运动执行末动画化的属性写回默认值。(反正一般不要动他了)

Solo就是如果这个状态连了很多线,那现在它只能切换这个线(绿灯行)

Mute就是这个线不能切换(红灯停)


三、连线相关参数

1.动作与动作之间的连线

  • Exit Time:如果填的大于1的,比如4,那就会在循环四次之后再切换到下一个动画
  • Transition Duration(s):就是下面那个蓝色区域的长度,如果你填的是大于1的,你会发现一直切换不过去,因为完全被上一个状态覆盖了,总之就是越小,越快完全切换到下一个动画
  • Transition Offset:就是到一个状态的切入点,如果填0.5,那就从下个状态的一半开始(就是上图红色线标出来的位置)
  • Interruption Source:该过度中断的情况

2.Any State与动作之间的连线


四、其他

①连线可以有多种方式,但是有的方式比其他方式更简洁

比如这个这两种连线方式表达的意思是一样的,所以尽可能连线前思考好之后再选择最合适的连接方式

②灵活运用动画事件可以帮助我们完成很多复杂的逻辑判断


四、总结

①使用导入的3D动画就是把需要的动画剪辑拖入Animator窗口中摆好,连好线,设置好相关的参数

②对于状态的设置,可以改变它的名字,以及用参数去控制它的一些效果比如播放速度,是否镜像,以及定在第几帧这样的

③对于连线的设置,主要就是注意那个Exit Time不要勾选,然后看效果调整过度的时间。还有从Any State到任意State的连线一般要取消勾选Can Transition To Self

④尽可能选用简洁的连线方式并灵活运用动画事件功能

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐