教程原链接:
本节的目标是为角色设定一些动画:待机动画、运动动画,并将这些动画跟角色的不同状态进行匹配。
知识点:
- animator 和 animation 的区别
- 动画时间轴面板的使用
- 不同状态动画的匹配
第一步,为视觉角色添加animator组件
需要注意:我们的角色氛围逻辑角色和视觉角色两部分。动画匹配在视觉角色上。
拓展阅读:👉animator和animaton的区别
在unity的老版本中我们只有Animation组件,在4.6版本以后则增添了Animator组件,如果只是控制一个动画的播放我们则用Animaton组件,如果是很多动画之间相互转换则使用Animator组件,它们两者的区别就是Animator有一个动画控制器(俗称动画状态机),使用它来进行动画切换是非常方便的,但缺点是占用内存比Animaton组件大。
主要区别:
激情1995的博客
- Animator加入了动画状态机。
- Animator加入了骨骼Avatar。
选择视觉角色并在检视器上点击add componet
分配角色控制器。创建Animator Controller驱动动画,将其拖动至检视器中对应位置。
打开控制器(苹果原装鼠标也可以通过双指滑动视线缩放)
在window中打开animation窗口。可拖动窗口按照你想要的方式进行布局。
通过create创建动画:创建之前确保你选中了视觉角色。
在弹出的窗口中修改动画文件的名字。
制作待机动画
因为我之前用AE做过一些及其简单的动画有一定的基础,且这部分更多在于实操,所以这部分暂时不做笔记,大家多跟着视频动手做做,遇到问题欢迎评论区讨论。
需要注意的是:
- 制作动画时始终确保你选择对了对象(视觉角色)再操作;
- 在小红点激活(时间轴变成红色)后操作;
- 检查你的关键点处于时间轴的时间点(位置);
- 确保首位帧参数一直(动画是循环的)。
制作行走时的动画
在资产库中复制刚刚的动画文件(Idle),修改名称为Walk。将Walk文件拖入到上一步中的动画窗口中去。
在时间轴哦中切换到Walk动画。确保你选择正确了对象。
制作身体的上下移动动画跟头部的类似。
框选所有的关键点可以快速缩放整体动画的时间,来控制动画的速度。
实现角色运动时从待机动画切换到行走动画
切换到animator,为Idle动画和Walk动画创建连线。
创建一个名称为“IsWalking”的布尔参数。
同样的方式创建反向连线,实现角色不运动时恢复到待机动画。
代码部分
我们已经有了动画及其变化的基本逻辑。但是计算机还不知道什么时候IsWalking的值是true,什么时候值是false。所以我们需要通过代码告诉计算机当我们的角色移动的时候IsWalking的值为true(角色的移动是由咱们之前课程中制作的角色控制器来实现的)。
在脚本文件夹中新建一个C#文件,并改名为“PlayerAnimator”
将文件拖指视觉角色的检视器中。
双击脚本文件进入到代码编写的界面中去。(我现在还不太懂老师所教学的内容的意义,只是尽量一边听一边跟着写。如果未来在学习了C#编程相关的内容后有了一定的理解,或许会再回来补充这部分内容的详解。)
这里记录一些我自己操作过程中遇到的问题。
待机动画和行走动画做反了
在做的过程中一定要先检查是否选中正确的对象后再做。
不知道拖动的是哪个角色
逻辑角色无法拖入进去
我起先吧中括号这部分代码写在了下面那一行,没写在player这一行,导致在unity编辑器中怎么也无法把逻辑角色拖到对应位置上去。
发表回复