ConvertTransformModifier3D
继承: BoneConstraint3D < SkeletonModifier3D < Node3D < Node < Object
对骨骼应用变换的 SkeletonModifier3D,变换转换自参考骨骼。
描述
Apply the copied transform of the bone set by BoneConstraint3D.set_reference_bone() to the bone set by BoneConstraint3D.set_apply_bone() about the specific axis with remapping it with some options.
There are 4 ways to apply the transform, depending on the combination of set_relative() and set_additive().
Relative + Additive:
Extract reference pose relative to the rest and add it to the apply bone's pose.
Relative + Not Additive:
Extract reference pose relative to the rest and add it to the apply bone's rest.
Not Relative + Additive:
Extract reference pose absolutely and add it to the apply bone's pose.
Not Relative + Not Additive:
Extract reference pose absolutely and the apply bone's pose is replaced with it.
Note: Relative option is available only in the case BoneConstraint3D.get_reference_type() is BoneConstraint3D.REFERENCE_TYPE_BONE. See also ReferenceType.
Note: If there is a rotation greater than 180 degrees with constrained axes, flipping may occur.
属性
|
方法
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,则提取到的变换是绝对的。