Version: 6000.3
语言: 中文
动画选项卡
提取动画剪辑

欧拉曲线重采样

3D 应用程序中的旋转通常表示为四元数Unity 将旋转表示为数据的标准方法。在编写处理旋转的代码时,通常应该使用 Quaternion 类及其方法。更多信息
请参阅术语表
或欧拉角。在大多数情况下,Unity 在内部将旋转表示为四元数;但是,对 Unity 中的旋转和方向有基本的了解非常重要。

导入包含来自外部源的动画的文件时,导入的文件通常包含关键帧标记动画中过渡的起点或终点的帧。关键帧之间的帧称为中间帧。
请参阅术语表
欧拉格式的动画。Unity 的默认行为是将这些动画重新采样为四元数值,并为动画中的每一帧生成新的四元数关键帧。这可以最大限度地减少源动画与其在 Unity 中的显示方式之间的差异。

在某些情况下,即使进行了重采样,导入动画的四元数表示也可能与原始动画不够匹配。因此,Unity 提供了关闭动画重采样的选项。这意味着你可以在运行时改用原始欧拉动画关键帧。

注意:如果帧之间的默认四元数插值产生不良结果并导致问题,则应仅将欧拉曲线保留为最后的手段。

在导入的动画上保留原始欧拉曲线

要在动画文件中使用原始欧拉曲线值,请取消选中动画选项卡中的重新采样曲线选项:

动画(Animations) 选项卡中的 重新采样曲线(Resample Curves) 选项
动画(Animations) 选项卡中的 重新采样曲线(Resample Curves) 选项

禁用此选项后,Unity 会根据曲线类型以欧拉或四元数模式保留旋转曲线及其原始关键帧。

注意:FBX SDK会自动对关节允许刚体组件之间进行动态连接的物理组件,通常允许一定程度的移动,例如铰链。更多信息
请参阅术语表
有轮换前或轮换后。这意味着 Unity 会自动将它们导入为四元数曲线。

Unity 支持如此广泛的导入文件,并尝试使导入的曲线尽可能接近原始曲线。为了实现这一点,Unity 支持所有正常(非重复)欧拉旋转顺序,并按原始旋转顺序导入曲线。

欧拉值和 Unity 引擎

使用原始欧拉(非重采样)旋转时,在动画播放中可以看到几乎没有视觉差异。在后台,Unity 甚至在运行时也以欧拉表示形式存储这些曲线。但是,Unity 最终必须将旋转值转换为四元数,因为引擎仅适用于四元数。

禁用 Resample Curves 选项时,Unity 会将旋转值保留为欧拉值,直到它们应用于游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表
.这意味着最终结果应该看起来和原始结果一样好,但内存有所改进,因为未在创作软件中烘焙的旋转曲线占用的内存更少。

变换检查器中的非默认欧拉阶数

默认情况下,Unity 会应用出现在 Transform 中的欧拉角检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表
按 Z、X、Y 顺序排列。

当播放或编辑导入的动画时,这些动画的旋转顺序与 Unity 的默认值不同,Unity 会在旋转字段旁边显示差异指示器:

检查器显示此对象上的旋转动画正在使用非默认旋转顺序
检查器显示此对象上的旋转动画正在使用非默认旋转顺序

当编辑具有不同旋转顺序的多个变换时,Unity 会显示一条警告消息,指出应用相同的欧拉旋转将在具有不同旋转顺序的曲线上产生不同的结果:

检查器显示所选对象组上的旋转动画正在混合使用旋转顺序
检查器显示所选对象组上的旋转动画正在混合使用旋转顺序
动画选项卡
提取动画剪辑