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

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

下面的讨论主要是关于前两个来源的动画。稍后我们将学习如何使用代码编写动画。

Unity内置强大的动画系统,可以支持在Unity中创建动画和从外部导入动画。

动画系统基于称为动画剪辑的资源,这些资源以文件的形式存储在项目中。这些文件中的数据记录了对象如何移动、旋转、缩放以及对象的属性如何随时间变化。每个 Clip 文件都是一个动画。

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

Unity 中的动画

在 Unity 中创建动画需要动画窗口。可以通过菜单栏Window > Animation打开Animation窗口。

此窗口允许您创建、编辑和查看导入的动画。 Animation 窗口只能同时查看和编辑同一个 Clip 中的动画。动画适用于单个对象(及其子对象)的动画编辑。我们刚刚学习的Timeline系统适合同时制作场景中多个物体的复杂动画,还可以包含音频和自定义动画内容。

Unity中的动画一般分为以下几个步骤:

1、打开动画窗口

2、选择要设置动画的对象

3、创建一个新的动画剪辑

4、编辑、预览、修改动画

创建一个新的动画剪辑

选择要制作动画的对象,那么Animation窗口会有以下两种状态:

状态1:物体上没有动画,可以点击Animation窗口中间的Create按钮创建动画Clip。

unity导入fbx动画不动_unity动画系统_unity 动画系统 不动

物体上没有动画的情况

对象上没有动画

状态2:对象已有动画,窗口中会显示动画的关键帧。您可以通过左上角的菜单切换预览动画并创建新动画。您可以点击 Create New Clip... 创建一个新的动画 Clip,如下图所示。

物体上有动画的情况

物体上有动画

点击新建动画剪辑后,会弹出文件对话框unity 动画系统 不动,您可以在其中设置保存动画剪辑的位置。 (为了保持项目文件目录干净,不要保存在项目根目录下,建议保存在Animations文件夹中)

保存后,一个Animator组件会自动附加到没有动画的原始对象上。这个组件有什么作用?

Animator组件

动画组件

unity 动画系统 不动_unity导入fbx动画不动_unity动画系统

Animation Clip只是一段动画数据unity 动画系统 不动,你可以把它比作一个视频文件,而Animator组件是一个播放器,控制动画的播放、多个动画片段的切换等。

Animator窗口

动画窗口

Animator组件的第一个属性是Controller,项目目录对应的文件是Animator Controller类型的文件,可以用来定义动画Clip之间如何切换。双击此文件将打开 Unity 的 Animator 窗口UI界面,显示文件的内容。 Animator 组件将在后面详细讨论。

动画

unity导入fbx动画不动_unity 动画系统 不动_unity动画系统

创建动画剪辑后,就可以对其进行动画处理了。

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

点击图中红色按钮进入录制模式,时间轴会显示为红色

点击图中红色按钮进入录制模式,时间线会显示为红色

点击图中Preview按钮进入预览模式,时间轴会显示为浅蓝色。在时间轴上点击也会自动进入预览模式

点击图片中的预览按钮进入预览模式,时间线会以浅蓝色显示。点击时间线也会自动进入预览模式

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

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

记录关键帧

点击录音按钮进入录音状态。

您可以通过拖动时间轴来修改当前时间位置。

在时间轴上拖动修改当前时间

在时间线上拖动修改当前时间

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

unity 动画系统 不动_unity动画系统_unity导入fbx动画不动

unity动画系统_unity导入fbx动画不动_unity 动画系统 不动

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

当前被记录的属性,在Inspector上会以红色背景显示

当前记录的属性将在 Inspector 上显示为红色背景

编辑动画

编辑动画

编辑完动画后,可以再次点击录制按钮退出录制模式,避免后续对动画中录制的对象进行操作。

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

unity导入fbx动画不动_unity 动画系统 不动_unity动画系统

手动创建关键帧

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

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

属性上的右键菜单

属性的右键菜单

您也可以点击动画窗口左侧的添加关键帧按钮,将选中属性的关键帧记录在当前属性列表中。如果当前未选择任何属性,则将记录所有属性。如下图。

unity动画系统_unity导入fbx动画不动_unity 动画系统 不动

unity动画系统_unity导入fbx动画不动_unity 动画系统 不动

提示

还有用于添加关键帧的快捷键。请记住,快捷键可以大大提高动画制作的效率。

用曲线编辑动画

unity动画系统_unity 动画系统 不动_unity导入fbx动画不动

默认情况下,动画窗口处于 DopeSheet 模式,显示关键帧点。可以通过点击下方的Curves切换到曲线模式,进一步调整关键帧之间数值的过渡方式。

切换到Curves模式后,出现的曲线编辑框和我们之前在粒子系统模块中学到的一样,这里不再赘述。

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

提示

别忘了F的魔力,F键可以让曲线填满整个窗口,在不同属性的曲线之间切换时非常有用。

编辑关键帧

编辑关键帧时,可以多选(曲线编辑也是如此):

框选关键帧

帧关键帧

批量移动关键帧

批量移动关键帧

unity 动画系统 不动_unity动画系统_unity导入fbx动画不动

批量缩放关键帧

批量缩放关键帧波纹编辑波纹编辑

你会发现,当你直接拖动多个关键帧时,后面的关键帧并不会随着这些关键帧一起移动。如果您想将关键帧移动到您身后,您可以在拖动这些关键帧的同时按住 R 键。这种编辑方式称为Ripple Edit(常见于音视频编辑软件)。缩放也是如此。

Ripple Edit

波纹编辑预览动画效果

点击动画窗口中的播放按钮,在场景中预览动画。

在游戏运行时播放动画

今天制作的动画会在点击播放按钮后自动循环播放。如果你不想让它循环,你可以选择动画剪辑文件并取消选中循环。

如果不想让这个动画自动播放,需要修改Animator Controller,然后学习!

总结

大智:“敲黑板。今天我讲了如何使用Unity中的Animation来动画对象。希望大家记住几点:”

当天的思考题

大智:“试着做一个简单的动画!”

小新:“好~”

大智:“别忘了分享收获!别忘了分享给你的朋友,说不定能帮到他。”