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.

属性

int

setting_count

0

方法

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

bool

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

转换时使用缩放。传递比例而不是差值。


属性说明

int setting_count = 0 🔗

  • void set_setting_count(value: int)

  • int get_setting_count()

修改器中设置的数量。


方法说明

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,则提取到的变换是绝对的。