五、动画

教程原链接:

12.动画

本节的目标是为角色设定一些动画:待机动画、运动动画,并将这些动画跟角色的不同状态进行匹配。

知识点:

  1. animator 和 animation 的区别
  2. 动画时间轴面板的使用
  3. 不同状态动画的匹配

第一步,为视觉角色添加animator组件

需要注意:我们的角色氛围逻辑角色和视觉角色两部分。动画匹配在视觉角色上。

拓展阅读:👉animator和animaton的区别

在unity的老版本中我们只有Animation组件,在4.6版本以后则增添了Animator组件,如果只是控制一个动画的播放我们则用Animaton组件,如果是很多动画之间相互转换则使用Animator组件,它们两者的区别就是Animator有一个动画控制器(俗称动画状态机),使用它来进行动画切换是非常方便的,但缺点是占用内存比Animaton组件大。

主要区别:

  • Animator加入了动画状态机。
  • Animator加入了骨骼Avatar。
激情1995的博客

选择视觉角色并在检视器上点击add componet

分配角色控制器。创建Animator Controller驱动动画,将其拖动至检视器中对应位置。

打开控制器(苹果原装鼠标也可以通过双指滑动视线缩放)

在window中打开animation窗口。可拖动窗口按照你想要的方式进行布局。

通过create创建动画:创建之前确保你选中了视觉角色

在弹出的窗口中修改动画文件的名字。

制作待机动画

因为我之前用AE做过一些及其简单的动画有一定的基础,且这部分更多在于实操,所以这部分暂时不做笔记,大家多跟着视频动手做做,遇到问题欢迎评论区讨论。

需要注意的是:

  1. 制作动画时始终确保你选择对了对象(视觉角色)再操作;
  2. 在小红点激活(时间轴变成红色)后操作;
  3. 检查你的关键点处于时间轴的时间点(位置);
  4. 确保首位帧参数一直(动画是循环的)。

制作行走时的动画

在资产库中复制刚刚的动画文件(Idle),修改名称为Walk。将Walk文件拖入到上一步中的动画窗口中去。

在时间轴哦中切换到Walk动画。确保你选择正确了对象。

制作身体的上下移动动画跟头部的类似。

框选所有的关键点可以快速缩放整体动画的时间,来控制动画的速度。

实现角色运动时从待机动画切换到行走动画

切换到animator,为Idle动画和Walk动画创建连线。

创建一个名称为“IsWalking”的布尔参数。

同样的方式创建反向连线,实现角色不运动时恢复到待机动画。

代码部分

我们已经有了动画及其变化的基本逻辑。但是计算机还不知道什么时候IsWalking的值是true,什么时候值是false。所以我们需要通过代码告诉计算机当我们的角色移动的时候IsWalking的值为true(角色的移动是由咱们之前课程中制作的角色控制器来实现的)。

在脚本文件夹中新建一个C#文件,并改名为“PlayerAnimator”

将文件拖指视觉角色的检视器中。

双击脚本文件进入到代码编写的界面中去。(我现在还不太懂老师所教学的内容的意义,只是尽量一边听一边跟着写。如果未来在学习了C#编程相关的内容后有了一定的理解,或许会再回来补充这部分内容的详解。)

这里记录一些我自己操作过程中遇到的问题。

待机动画和行走动画做反了

在做的过程中一定要先检查是否选中正确的对象后再做。

不知道拖动的是哪个角色
逻辑角色无法拖入进去

我起先吧中括号这部分代码写在了下面那一行,没写在player这一行,导致在unity编辑器中怎么也无法把逻辑角色拖到对应位置上去。

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注