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 🔗

Повертає true, якщо enable має 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.