Unity动画系统全面解析,动画制作技巧

Unity动画系统详解1:在Unity中如何制作动画?_游戏开发

小新:“智哥,我想在场景里加上一个旋转的风扇怎么做啊?现在做的模型都是静态的。”

大智:“这就需要用到动画系统了。在场景中加入动态的物体,会让整个场景更加生动、真实。除了上周学过的粒子效果外,场景中的物体也可以通过制作动画,让物体动起来。简单的动画如物体的移动、旋转(比如旋转的风扇、闪烁不定的灯泡等),复杂的动画如游戏中角色的动作、面部表情等。”



动画系统

Unity中的动画主要是三种来源:

  • 在Unity引擎中制作动画
  • 从外部工具(如3ds Max、Maya等)导入动画
  • 使用代码制作的动画

下面讨论的主要是前两种来源的动画,使用代码写动画我们后面再学习。

Unity中内置了强大的动画系统,可以支持在Unity内制作动画,也支持从外部导入动画。

动画系统基于一种名为Animation Clip(动画剪辑)的资源,这些资源以文件的形式存在工程中。这些文件内的数据记录了物体如何随着时间移动、旋转、缩放,物体上的属性如何随着时间变化。每一个Clip文件是一段动画。

这些动画可以在Unity中直接制作,也可以由美术同学在3D建模软件中制作并导入到Unity中。



在Unity中制作动画

在Unity中制作动画需要用到Animation窗口,可以通过菜单栏Window > Animation打开Animation窗口。

通过这个窗口可以创建、编辑动画,也可以查看导入的动画。Animation窗口同一时间只能查看、编辑同一段Clip中的动画。Animation适合单个物体(及其子物体)的动画编辑。咱们最近刚学的Timeline系统,适合同时对场景中多个物体制作复杂动画,还能包含音频,自定义的动画内容。



在Unity中制作动画一般分为以下几个步骤:
1、打开Animation窗口
2、选中要制作动画的物体
3、创建新的动画Clip
4、编辑、预览、修改动画



创建新的Animation Clip

选中要制作动画的物体,这时候Animation窗口会有以下两种状态:
状态1:该物体上没有动画,可以点击Animation窗口中间的Create按钮创建动画Clip。

Unity动画系统详解1:在Unity中如何制作动画?_属性列表_02



状态2:该物体上已经有动画,会在窗口中显示一段动画的关键帧。可以通过左上角的菜单切换预览动画、创建新动画。可以点击Create New Clip…来创建新的动画Clip,如下图所示。

Unity动画系统详解1:在Unity中如何制作动画?_关键帧_03



点击完创建新的动画Clip后,会弹出一个文件对话框,可以设置保存动画Clip的位置。(为了保持工程文件目录的整洁,不要保存在工程根目录,建议保存在Animations文件夹中)

保存完毕后,原先没有动画的物体上会自动附加一个Animator组件,这个组件是做什么的呢?

Unity动画系统详解1:在Unity中如何制作动画?_Unity_04

Unity动画系统详解1:在Unity中如何制作动画?_关键帧_05



Animation Clip只是一段动画数据,你可以把它类比成视频文件,而Animator组件是一个播放器,用来控制动画的播放、多个动画片段之间的切换等。

Unity动画系统详解1:在Unity中如何制作动画?_游戏开发_06

**Animator组件的第一个属性是Controller,对应到工程目录中的文件是一个Animator Controller类型的文件,可以在这个文件中定义动画Clip之间如何进行切换。**双击这个文件会打开Unity的Animator窗口,显示该文件中的内容。后面会细讲Animator组件。

制作动画

创建了动画Clip后,就可以开始制作动画了。

Animation窗口有两种模式:录制模式和预览模式。

Unity动画系统详解1:在Unity中如何制作动画?_游戏开发_07

Unity动画系统详解1:在Unity中如何制作动画?_Unity_08

在录制模式下,当你对物体进行改动时(例如移动、旋转、缩放、修改属性等),Unity会自动在当前时间位置生成关键帧,记录修改的属性。

在预览模式下,修改物体不会自动创建/修改关键帧,如果需要创建/修改关键帧,你需要手动点击添加关键帧按钮。

录制关键帧

点击录制按钮后,就进入了录制状态。

可以通过在时间轴上拖动修改当前所在的时间位置。

Unity动画系统详解1:在Unity中如何制作动画?_动画_09

也可以通过修改当前帧数输入框中的数字,修改时间轴的位置。默认情况下,动画的帧速率是60,即每秒播放60帧。如果设置当前帧数为30,就是0.5秒的位置。

Unity动画系统详解1:在Unity中如何制作动画?_Unity_10

在录制模式下,不管是在场景中移动、旋转、缩放物体,还是在Inspector面板中修改物体组件的属性(Unity动画支持的属性),Unity都会自动在动画Clip的当前时间上添加关键帧保存。

Unity动画系统详解1:在Unity中如何制作动画?_Unity_11

Unity动画系统详解1:在Unity中如何制作动画?_动画_12

编辑完动画后,可以再次点击录制按钮退出录制模式,避免后续对物体的操作被记录到动画中。

现在你会看到在Animation窗口中,左侧多处很多个属性,这些属性就是所有被记录的属性列表。你也可以通过点击下方的Add Property按钮手动添加需要被动画记录的属性。

Unity动画系统详解1:在Unity中如何制作动画?_动画_13

手动创建关键帧

如果没有在录制模式下,对物体的修改不会自动记录到动画Clip中。如果需要记录,需要手动添加关键帧进行记录。

如果在Inspector中修改了物体的属性,物体的属性会从浅蓝色背景变为浅红色,代表该属性已经被修改。这时候你可以右键点击对应的属性,在弹出菜单中点击Add Key即可添加关键帧,将该属性的数据保存到动画Clip中。如果你在当前帧修改了多个属性,可以点击菜单中的Key All Modified(将所有修改的属性记录关键帧)或Key All Animated(记录属性列表中所有属性的数值,即使与上一帧相同数值的属性也会被记录)来一次性将所有修改的属性保存。

Unity动画系统详解1:在Unity中如何制作动画?_动画_14

也可以点击Animation窗口左侧的Add Keyframe按钮来记录当前属性列表中选中属性的关键帧,如果当前没有选中任何属性,则会记录所有属性。如下图所示。

Unity动画系统详解1:在Unity中如何制作动画?_关键帧_15

小技巧 添加关键帧也有快捷键哦,记住快捷键能大幅提高制作动画的效率。
  • K Key All Animated,将记录当前属性列表中选中属性的关键帧,如果当前没有选中任何属性,则会记录所有属性。
  • Shift + K Key All Modified,将动画属性列表中所有已修改的属性的数值记录为关键帧。
使用曲线编辑动画

Unity动画系统详解1:在Unity中如何制作动画?_游戏开发_16

默认情况下,Animation窗口是DopeSheet模式,显示的是关键帧的点。可以通过点击下方的Curves切换为曲线模式,进一步调节关键帧之间的数值是如何过渡的。

切换到Curves模式后,出现的曲线编辑框和我们之前在粒子系统模块学到的用法是一样的,在这就不重复了。

可以在左侧属性列表选中一条或多条曲线进行编辑。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空