Unity3D:动画中的旋转
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生
动画中的旋转
您可以使用 Unity 为游戏对象的旋转设置动画。有不同的方法可以应用这些旋转以最适合您的项目。
有关旋转表示的更多信息,请参阅 Unity 中的旋转和方向。
旋转插值
您可以使用“动画”窗口选择 Unity 如何将旋转应用于游戏对象。Unity 使用插值来计算游戏对象在动画中从一个方向移动到另一个方向的视觉效果。
不同的插值方法在运动中看起来不同,但结果相同。Unity 为您的动画提供了三种类型的插值:

欧拉角插值
欧拉角插值将整个运动范围应用于由您输入的角度指定的游戏对象;如果旋转大于 360 度,则游戏对象在停止在正确方向之前会完全旋转。
欧拉角(四元数)插值使用上述插值方法,但将信息烘焙成四元数曲线。此方法使用更多内存,但会导致运行时稍快。
四元数插值
四元数插值将游戏对象在最短距离内旋转到特定方向。例如,无论旋转值是 5 度还是 365 度,游戏对象都会旋转 5 度。
外部动画源
来自外部源的动画通常包含欧拉格式的旋转关键帧动画。Unity 对这些动画重新采样,并为动画中的每个帧生成新的关键帧,以避免旋转超出旋转四元数有效范围的旋转。
例如,如果有两个相距六帧的关键帧,x 值从 0 到 270 度,则游戏对象将沿相反方向旋转 90 度,因为这是获得相同结果的最短方法。相反,Unity 会在每个帧上重新采样并添加一个关键帧,因此关键帧之间的旋转仅 45 度,并且旋转是正确的。
解决外部动画源的旋转问题
如果导入的动画的四元数重采样与原始动画的匹配程度不足以满足您的需求,则可以关闭动画重采样并在运行时使用原始欧拉动画关键帧。有关详细信息,请参阅欧拉曲线重采样。
其他资源
- Unity 中的旋转和定向
- 使用动画曲线
- 欧拉曲线重采样
由3D建模学习工作室整理翻译,转载请注明出处!