第三人称视角类的游戏有很多,比如《原神》、《崩坏:星穹铁道》、《剑星》、《绝地求生》等。这些游戏中,角色的移动方向取决于玩家的输入和相机的方向,例如玩家在键盘上按下D键,则角色会相对于相机方向向右移动,本篇文章就来揭晓这背后的实现方式。
1. 基于骨骼动画的移动
1.1 骨骼设置
首先选中一个骨骼动画,单击 Inspector 面板里的 Animation 选项卡按钮:
我们以行走动画为例,如果我们想让动画中出现的模型偏移来改变角色的实际位置,那么我们就要取消勾选 XZ轴 的 Bake into Pose:
如果是跳跃动画,则需要取消勾选 Y轴 的 Bake into Pose。
1.2 位移同步
假设目前我们的角色有一个胶囊体(characterController)和一个动画器(animator),并正在播放与位移相关的动画,如下代码实现了动画的运动偏