在很多实际场景中,我们经常需要根据特定的事件(比如玩家输入,敌人受到攻击等)来播放不同的动画。这需要我们了解一下Animator,Animator Controller和基础的动画状态机。
创建一个开门的动画
首先我们来创建一个简单的开门动画,示例中的门的模型来自官方教程。其实我们也可以用一个简单的Cube调整一下做成门的形状来做。无论是哪种方式,我们首先需要检查一下这个游戏物体的pivot point。一个pivot point是物体进行移动的基准点。对于门来说,这个点非常重要。如果pivot点设置不对,则开门动画会看起来非常奇怪(比如门沿着自身中轴线旋转,当然,如果你是要制作旋转门动画就另说,示例中是一个普通的门)。
1. 首先,选中门对应的游戏物体。此时Unity编辑器中会出现移动widget,如果这个widget的位置处于游戏物体正中心,如下图:

2. 我们点击Toggle Tool Handle Position按钮(上图左上角红框处),将它从Center改为Pivot

3. 在Animation编辑器中,点击Create按钮,创建一个新的动画片段,我们将其命名为Door_Open并保存

4. 在Animation编辑器中,点击Record,然后点击Add Property,添加Transform -> Rotation属性

5. 将Playhead移动到1:00处(第二个关键帧),然后调整一下门的旋转角度,将门的Inspector里的Transform -> Rotation里的Y改成90

6. 预览一下开门动画,没问题后再次点击Record退出Recording模式。
7. 在工程文件窗口中,找到刚刚创建的Door_Open动画文件,点击后,在Inspector窗口中,禁用掉Loop Time。禁用这个选项后动画只会播放一次,而不是无限循环。

Animator Controller
再次选择Door游戏物体,在Inspector中我们可以看到出现了一个新的Animator组件。对于一个选中的游戏物体,当我们第一次为其创建动画片段时,Unity会自动为它创建一个Animator组件。


3096

被折叠的 条评论
为什么被折叠?



