RetargetModifier3D

Наследует: SkeletonModifier3D < Node3D < Node < Object

Модификатор для переноса поз родительского скелета (или глобальных поз) на дочерние скелеты в пространстве модели с различными опорами.

Описание

Извлекает позу (или глобальную позу) относительно покоя родительского скелета в пространстве модели и переносит ее в дочерний скелет.

Этот модификатор переписывает позу дочернего скелета непосредственно в процессе обновления родительского скелета. Это означает, что он перезаписывает сопоставленную позу кости, установленную в обычном процессе на целевом скелете. Если вы хотите установить позу кости целевого скелета после перенацеливания, вам нужно будет добавить дочерний элемент SkeletonModifier3D к целевому скелету и тем самым изменить позу.

Примечание: Когда включен use_global_pose, даже если это не сопоставленная кость, это может вызвать визуальные проблемы, поскольку глобальная поза применяется, игнорируя позу родительской кости , если у нее есть сопоставленные дочерние кости. См. также use_global_pose.

Свойства

BitField[TransformFlag]

enable

7

SkeletonProfile

profile

bool

use_global_pose

false

Методы

bool

is_position_enabled() const

bool

is_rotation_enabled() const

bool

is_scale_enabled() const

void

set_position_enabled(enabled: bool)

void

set_rotation_enabled(enabled: bool)

void

set_scale_enabled(enabled: bool)


Перечисления

flags TransformFlag: 🔗

TransformFlag TRANSFORM_FLAG_POSITION = 1

Если установлено, позволяет перенацелить позицию.

TransformFlag TRANSFORM_FLAG_ROTATION = 2

Если установлено, позволяет перенацелить ротацию.

TransformFlag TRANSFORM_FLAG_SCALE = 4

Если установлено, позволяет перенаправить масштаб.

TransformFlag TRANSFORM_FLAG_ALL = 7

Если установлено, позволяет перенацелить положение/поворот/масштаб.


Описания свойств

BitField[TransformFlag] enable = 7 🔗

Флаги для индивидуального управления процессом преобразования элементов, когда use_global_pose отключен.


SkeletonProfile profile 🔗

SkeletonProfile для перенацеливания костей с названиями, соответствующими списку костей.


bool use_global_pose = false 🔗

  • void set_use_global_pose(value: bool)

  • bool is_using_global_pose()

Если false, в случае, если целевой скелет имеет меньше костей, чем исходный скелет, преобразование исходной кости-родителя будет проигнорировано.

Вместо этого можно перенацеливаться между моделями с разными формами тела, а положение, поворот и масштаб могут перенацеливаться отдельно.

Если true, перенацеливание выполняется с учетом глобальной позы.

В случае, если целевой скелет имеет меньше костей, чем исходный скелет, учитывается преобразование исходной кости-родителя. Однако длина костей между скелетами должна точно совпадать, в противном случае кости будут вынуждены расширяться или сжиматься.

Это полезно для использования фиктивной кости с длиной 0 для сопоставления поз при перенацеливании между моделями с разным количеством костей.


Описания метода

bool is_position_enabled() const 🔗

Возвращает истина, если enable имеет [constant TRANSFORM_FLAG_POSITION.


bool is_rotation_enabled() const 🔗

Возвращает true, если Enable имеет TRANSFORM_FLAG_ROTATION.


bool is_scale_enabled() const 🔗

Возвращает true, если Enable имеет TRANSFORM_FLAG_SCALE.


void set_position_enabled(enabled: bool) 🔗

Устанавливает TRANSFORM_FLAG_POSITION в enable.


void set_rotation_enabled(enabled: bool) 🔗

Устанавливает TRANSFORM_FLAG_ROTATION в enable.


void set_scale_enabled(enabled: bool) 🔗

Устанавливает TRANSFORM_FLAG_SCALE в enable.