ConvertTransformModifier3D
继承: BoneConstraint3D < SkeletonModifier3D < Node3D < Node < Object
对骨骼应用变换的 SkeletonModifier3D,变换转换自参考骨骼。
描述
从通过 BoneConstraint3D.set_reference_bone() 指定的骨骼上复制变换,将所复制的变换沿特定轴应用到通过 BoneConstraint3D.set_apply_bone() 设置的骨骼上,并可使用一些选项对这个变换进行调整。
根据 set_relative()(相对)和 set_additive()(叠加)的组合,有四种方式可以应用该变换:
相对 + 叠加:
提取相对于静止姿态的参考姿态,并将其添加到目标骨骼的姿态上。
相对 + 非叠加:
提取相对于静止姿态的参考姿态,并将其添加到目标骨骼的静止姿态上。
非相对 + 叠加:
提取参考姿态的绝对姿态,并将其添加到目标骨骼的姿态上。
非相对 + 非叠加:
提取参考姿态的绝对姿态,并将其替换目标骨骼的姿态。
属性
|
方法
get_apply_axis(index: int) const |
|
get_apply_range_max(index: int) const |
|
get_apply_range_min(index: int) const |
|
get_apply_transform_mode(index: int) const |
|
get_reference_axis(index: int) const |
|
get_reference_range_max(index: int) const |
|
get_reference_range_min(index: int) const |
|
get_reference_transform_mode(index: int) const |
|
is_additive(index: int) const |
|
is_relative(index: int) const |
|
void |
set_additive(index: int, enabled: bool) |
void |
set_apply_axis(index: int, axis: Axis) |
void |
set_apply_range_max(index: int, range_max: float) |
void |
set_apply_range_min(index: int, range_min: float) |
void |
set_apply_transform_mode(index: int, transform_mode: TransformMode) |
void |
set_reference_axis(index: int, axis: Axis) |
void |
set_reference_range_max(index: int, range_max: float) |
void |
set_reference_range_min(index: int, range_min: float) |
void |
set_reference_transform_mode(index: int, transform_mode: TransformMode) |
void |
set_relative(index: int, enabled: bool) |
枚举
enum TransformMode: 🔗
TransformMode TRANSFORM_MODE_POSITION = 0
转换时使用位置。传递差值。
TransformMode TRANSFORM_MODE_ROTATION = 1
转换时使用旋转。角度是指定轴的翻滚值。
TransformMode TRANSFORM_MODE_SCALE = 2
转换时使用缩放。传递比例而不是差值。
属性说明
修改器中设置的数量。
方法说明
Axis get_apply_axis(index: int) const 🔗
返回重映射目标变换的轴。
float get_apply_range_max(index: int) const 🔗
返回重映射目标范围的最大值。
float get_apply_range_min(index: int) const 🔗
返回重映射目标范围的最小值。
TransformMode get_apply_transform_mode(index: int) const 🔗
返回重映射目标变换的操作。
Axis get_reference_axis(index: int) const 🔗
返回重映射来源变换的轴。
float get_reference_range_max(index: int) const 🔗
返回重映射来源范围的最大值。
float get_reference_range_min(index: int) const 🔗
返回重映射来源范围的最小值。
TransformMode get_reference_transform_mode(index: int) const 🔗
返回重映射来源变换的操作。
bool is_additive(index: int) const 🔗
如果索引为 index 的设置启用了加法选项,则返回 true。
bool is_relative(index: int) const 🔗
如果索引为 index 的设置启用了相对选项,则返回 true。
void set_additive(index: int, enabled: bool) 🔗
将索引为 index 的设置的叠加选项设置为 enabled。主要影响对 BoneConstraint3D.set_apply_bone() 施加变换的过程。
如果将 enabled 设置为 true,则会将处理后的变换叠加到当前应用骨骼的姿势之上。
如果将 enabled 设置为 false,则会将当前应用骨骼的姿势替换为处理后的变换。不过如果将 set_relative() 设为 true,则该变换是相对于放松姿势的。
void set_apply_axis(index: int, axis: Axis) 🔗
设置重映射目标变换的轴。
void set_apply_range_max(index: int, range_max: float) 🔗
设置重映射目标范围的最大值。
void set_apply_range_min(index: int, range_min: float) 🔗
设置重映射目标范围的最小值。
void set_apply_transform_mode(index: int, transform_mode: TransformMode) 🔗
设置重映射目标变换的操作。
void set_reference_axis(index: int, axis: Axis) 🔗
设置重映射来源变换的轴。
void set_reference_range_max(index: int, range_max: float) 🔗
设置重映射来源范围的最大值。
void set_reference_range_min(index: int, range_min: float) 🔗
设置重映射来源范围的最小值。
void set_reference_transform_mode(index: int, transform_mode: TransformMode) 🔗
设置重映射来源变换的操作。
void set_relative(index: int, enabled: bool) 🔗
将索引为 index 的设置的相对选项设置为 enabled。
如果将 enabled 设置为 true,则提取并应用的变换是相对于放松姿势的。
如果将 enabled 设置为 false,则提取到的变换是绝对的。