
我创建了一个原始的太空战斗机模型,我将用它来做玩家原型,并给它一个简单的引擎效果和一个粒子系统。此外,我开始调整玩家的移动方法,允许玩家在满足特定的输入条件时向某个方向倾斜。
目标。
在移动过程中,将一个变形体从一边平滑地倾斜到另一边,与用户的输入相对应。
解决方案。
你也可以通过使用Animation来实现所需的效果,但在这种情况下,我决定通过使用Quaternion.Slerp来改变运动行为,将其添加到我们的播放器脚本中。
逻辑。
让我们快速浏览一下Quaternion.Slerp 的声明,以及我们如何使用它来平稳地从a 点插值到 b点。
一个四元数在四元数a和b之间进行球形插值。
在我们的案例中,我们想在检测到水平运动输入时更新玩家的变换旋转。在玩家运动方法中,我们这样应用它。
当前旋转,朝向旋转,平滑时间
所以我们必须定义一个我们想要旋转的目标旋转。比方说,播放器处于默认位置。
添加一个私有成员变量,负责变换的最大倾斜角度。
然后添加一个局部变量,允许我们通过从Y轴上减去目标旋转来修改它。
Mathf.Round返回四舍五入到最近的整数的浮点数f。
现在我们根据用户的输入平滑地插值到新的旋转。
这里是对当前玩家运动方法的概述。
更新玩家运动》最初发表在《Nerd For Tech》杂志上,人们通过强调和回应这个故事来继续对话。