简介: transform 组件的 Rotation 属性的动画曲线居然有多个选择模式
unity版本: 2022.3.14.f1c1
管线: URP
Transform 的 Rotation
在 Unity 中我们可以给 Transform 组件的旋转属性进行 Key 帧,然而在Animation 窗口对应的 Rotation 属性上点击右键居然会比其他属性多出一个 Interpolation 选项
这里面包含了三种差值方式
- Euler Angles 欧拉角差值方式
- Euler Angles(Quaternion) 欧拉角转四元素 差值方式
- Quaternion 四元素差值方式
在 Unity 内部系统中旋转使用的是 四元素模式,但是一般人不是很好理解和使用四元素,所以经典的旋转操作还是通过欧拉角的差值方式来操作,就是在x y z 三个轴进行旋转
所以在进行旋转差值计算时,可以使用 四元数 或 欧拉角 的方式进行差值。但是在 Animation 的窗口中,始终是以欧拉角的方式进行属性显示。这也是大家不容易发现这个属性可以选的原因。
Quaternion 四元数差值
四元数差值方式会旋转最小的旋转角度,例如我们旋转Y轴270度,如果使用四元素差值的方式,则实际的旋转会表现为反向旋转90度。修改xyz 任意一个分量,都会引起其它分量的变化。
Euler Angles 欧拉角差值
最直观的差值方式,但是容易出现万向锁
Euler Angles(Quaternion)
这种差值方式表现上和 欧拉角差值一样,不知道是不是可以规避万向锁,有使用 欧拉角差值出现万向锁的朋友可以尝试换一下这个差值方式试一下。