下面是演示环节,本节演示
《慕课英雄》第三人称简易版中,玩家动画状态机的创建与设置 我们已经在
Unity 编辑器中打开了《慕课英雄》第三人称简易版的项目
首先我们点击 Project 视图中 RobotPlayer
文件夹,该文件夹包含了玩家对象的预制件 与动画片段。
右键点击 Project 视图中
RobotPlayer 文件夹,选择 Create 菜单下的
Animator Controller,新建一个动画控制器 重命名为
Player 表示玩家的动画控制器
选中它,我们就可以在 Animator
视图中 进行查看与编辑的操作。
下面我们设置玩家的动画状态机 在右侧编辑区中,点击鼠标右键
选择 Create State 下的 Empty,创建第一个动画状态
我们选中这个动画状态,在 Inspector 视图中
将其重命名为 Idle
将其 Motion 属性设置为 Idle
动画 表示玩家的 Idle
动画状态 接下来,我们以相同的方式创建玩家的另外两个动画状态
其中一个状态将其重命名为 Run
表示玩家的奔跑动画状态 并将 Motion
设置为 Run 动画片段 下面创建玩家的第三个动画状态
我们将其重命名为 Jump 表示玩家的跳跃动画,将 Motion
设置为 Humanoid Jump Up
接着我们创建控制动画状态过渡的参数 我们点击 Parameters
下的+号按钮 创建两个 Bool 类型参数
分别重命名为 IsMove
和 IsJump
然后我们在动画状态之间创建动画过渡 首先我们建立一条从
Idle 到 Run 状态的动画过渡 点击该动画过渡线
我们在 Inspector 视图中添加一个动画过渡条件
将其设置为IsMolve 等于 True
接着我们创建其他的动画过渡 Run
到 Idle 状态的动画过渡条件为
IsMove 等于 False,Idle 到 Jump
的 动画过渡条件为 IsJump 等于True
Run 状态到 Jump 状态的动画过渡条件为 IsJump
等于True 最后我们
创建从 Jump 状态过渡到 Idle 状态的动画
状态过渡线,我们将动画状态过渡条件 设置为
IsJump 等于 False [空白_录音]
接下来我们设置所有的动画状态过渡线 取消勾选它们的
Has Exit Time 属性 [空白_录音]
这样在动画状态过渡时 动画状态的过渡会更加的迅速
下面我们设置玩家射击动画的控制 在
Animator 视图的 Layers 中新建一个动画层
重命名为 Shooting Layer
在该动画层创建三个动画状态
[空白_录音]
我们将第一个动画状态 重命名为
Now 同时不设置它的 Motion 属性
表示该动画状态不播放任何动画片段 我们设置第二个动画状态
为 Weapon Raise [空白_录音]
将其 Motion 属性设置为 Weapon Raise
动画片段 同时将其 Speed 属性设置为 3
表示我们将以 3 倍的速度播放 Weapon Raise
动画片段 我们将第三个动画状态重命名为
Weapon Shoot 将其
Motion 属性设置为 Wespon Shoot
动画状态 下面
我们在 Parameters 中新建一个 Bool 类型的参数
重命名为 Is Shooting
然后我们在动画状态之间创建动画过渡 首先我们建立从
Now 到 Weapon Raise 状态的动画过渡 点击该动画过渡线
在 Inspector 视图中,添加一个过渡条件 设置为
Is Shooting 等于 True 同时取消勾选
Has Exit Time 下面
我们建立从 Weapon Raise 到 Weapon Shoot
的 动画状态过渡线
但我们不设置动画状态的过渡条件 表示
Weapon Raise 状态过渡到 Weapon Shoot
状态 无需进行条件判断,状态过渡将自动进行 同时,我们需要保证
Has Exit Time 是勾选的 这样动画状态之间的过渡就会有一定的时间间隔
最后我们将 Weapon Shoot
到 Now 动画状态的过渡条件设置为
Is Shooting 等于
False 接着我们取消勾选
Has Exit Time 属性
使动画状态之间的过渡更加迅速 下边
我们给射击动画层添加身体遮罩 我们在 Project
视图的 Pobotplayer 文件夹下 创建一个 Avatar Mask
对象 重命名为
Shooting Mask
单击 Shooting Mask 在 Inspector
视图中展开 Humanoid
标签 我们使用鼠标左键禁用除了右手之外
其他的身体关节 下面我们回到
Animator 视图中 点击
Layers ,选择 Shooting Layer
右侧的小指纹 在弹出的窗口中点击 Mask
右侧的小圆圈 选择刚才创建的 Shooting Mask
并将该动画层的 Weight 承重 设置为
1 ,以上我们便完成
玩家的动画状态机的制作,最后 我们点击
Project 视图中 RobotPlay
预制件 会去添加 Animator 组件
将刚才设置完毕的动画控制器 Player 设置到 Animator
的 Controller 属性中 同时,我们设置其
Avatar 为 robotGuardAvatar
以上 就是本次演示的全部内容