Unity 3D角色动画在游戏中的应用
通过上一节《Unity 3D 人形角色动画》我们对人形动画有了一定的了解,接下来我们将介绍一下在游戏开发中人形角色动画的具体应用步骤。
Animator 组件
Animator 组件是关联角色及其行为的纽带,每一个含有 Avatar 的角色动画模型都需要一个 Animator 组件。Animator 组件引用了 Animator Controller 用于为角色设置行为,具体参数如下表所示。
参 数 | 含 义 | 功 能 |
---|---|---|
Controller | 控制器 | 关联到角色的 Animator 控制器 |
Avatar | 骨架结构的映射 | 定义 Mecanim 动画系统的简化人形骨架结构到该角 色的骨架结构的映射 |
Apply Root Motion | 应用 Root Motion 选项 | 设置使用动画本身还是使用脚本来控制角色的位置 |
Animate Physics | 动画的物理选项 | 设置动画是否与物理属性交互 |
Culling Mode | 动画的裁剪模式 | 设置动画是否裁剪以及裁剪模式 |
Animator Controller
Animator Controller 可以从 Project 视图创建一个动画控制器(执行 Create→Animator Controller 命令),同时会在 Assets 文件夹内生成一个后缀名为 .Controller 的文件。
当设置好运动状态机后,就可以在 Hierarchy 视图中将该 Animator Controller 拖入含有 Avatar 的角色模型 Animator 组件中。
通过动画控制器视图(执行 Window→Animator Controller 命令)可以查看和设置角色行为,值得注意的是,Animator Controller 窗口总是显示最近被选中的后缀为 .Controller 的资源的状态机,与当前载入的场景无关。
Animator 动画状态机
一个角色常常拥有多个可以在游戏中不同状态下调用的不同动作。例如,一个角色可以在等待时呼吸或摇头,在得到命令时行走,从一个平台掉落时惊慌地伸手。
当这些动画回放时,使用脚本控制角色的动作是一个复杂的工作。Mecanim 动画系统借助动画状态机可以很简单地控制和序列化角色动画。
状态机对于动画的重要性在于它们可以很简单地通过较少的代码完成设计和更新。每个状态都有一个当前状态机在那个状态下将要播放的动作集合。这使动画师和设计师不必使用代码定义可能的角色动画和动作序列。
Mecanim 动画状态机提供了一种可以预览某个独立角色的所有相关动画剪辑集合的方式,并且允许在游戏中通过不同的事件触发不同的动作。
动画状态机可以通过动画状态机窗口进行设置,如下图所示。
发表评论