CopyTransformModifier3D

Успадковує: BoneConstraint3D < SkeletonModifier3D < Node3D < Node < Object

SkeletonModifier3D, який застосовує трансформацію до кістки, скопійованої з посилання.

Опис

Застосуйте скопійоване перетворення набору кісток за допомогою методу BoneConstraint3D.set_reference_bone до набору кісток за допомогою методу BoneConstraint3D.set_apply_bone() з обробкою його деякими масками та опціями.

Існує 4 способи застосування перетворення, залежно від комбінації методів set_relative() та set_additive().

Відносне + Адитивне:

  • Витягніть опорну позу відносно решти та додайте її до пози застосованої кістки.

Відносне + Неадитивне:

  • Витягніть опорну позу відносно решти та додайте її до решти застосованої кістки.

Не відносне + Адитивне:

  • Абсолютно витягніть опорну позу та додайте її до пози застосованої кістки.

Не відносне + Неадитивне:

  • Абсолютно витягніть опорну позу, і поза застосованої кістки замінюється нею.

Властивості

int

setting_count

0

Методи

BitField[AxisFlag]

get_axis_flags(index: int) const

BitField[TransformFlag]

get_copy_flags(index: int) const

BitField[AxisFlag]

get_invert_flags(index: int) const

bool

is_additive(index: int) const

bool

is_axis_x_enabled(index: int) const

bool

is_axis_x_inverted(index: int) const

bool

is_axis_y_enabled(index: int) const

bool

is_axis_y_inverted(index: int) const

bool

is_axis_z_enabled(index: int) const

bool

is_axis_z_inverted(index: int) const

bool

is_position_copying(index: int) const

bool

is_relative(index: int) const

bool

is_rotation_copying(index: int) const

bool

is_scale_copying(index: int) const

void

set_additive(index: int, enabled: bool)

void

set_axis_flags(index: int, axis_flags: BitField[AxisFlag])

void

set_axis_x_enabled(index: int, enabled: bool)

void

set_axis_x_inverted(index: int, enabled: bool)

void

set_axis_y_enabled(index: int, enabled: bool)

void

set_axis_y_inverted(index: int, enabled: bool)

void

set_axis_z_enabled(index: int, enabled: bool)

void

set_axis_z_inverted(index: int, enabled: bool)

void

set_copy_flags(index: int, copy_flags: BitField[TransformFlag])

void

set_copy_position(index: int, enabled: bool)

void

set_copy_rotation(index: int, enabled: bool)

void

set_copy_scale(index: int, enabled: bool)

void

set_invert_flags(index: int, axis_flags: BitField[AxisFlag])

void

set_relative(index: int, enabled: bool)


Переліки

flags TransformFlag: 🔗

TransformFlag TRANSFORM_FLAG_POSITION = 1

Якщо встановлено, дозволяє копіювати позицію.

TransformFlag TRANSFORM_FLAG_ROTATION = 2

Якщо встановлено, дозволяє копіювати обертання.

TransformFlag TRANSFORM_FLAG_SCALE = 4

Якщо встановлено, дозволяє копіювати масштаб.

TransformFlag TRANSFORM_FLAG_ALL = 7

Якщо встановлено, дозволяє копіювати положення/обертання/масштаб.


flags AxisFlag: 🔗

AxisFlag AXIS_FLAG_X = 1

Якщо встановлено, дозволяє обробляти вісь X.

AxisFlag AXIS_FLAG_Y = 2

Якщо встановлено, дозволяє обробляти вісь Y.

AxisFlag AXIS_FLAG_Z = 4

Якщо встановлено, дозволяє обробляти вісь Z.

AxisFlag AXIS_FLAG_ALL = 7

Якщо встановлено, дозволяє обробку всіх осей.


Описи властивостей

int setting_count = 0 🔗

  • void set_setting_count(value: int)

  • int get_setting_count()

Кількість налаштувань у модифікаторі.


Описи методів

BitField[AxisFlag] get_axis_flags(index: int) const 🔗

Повертає прапорці осі налаштування в index.


BitField[TransformFlag] get_copy_flags(index: int) const 🔗

Повертає прапорці копіювання налаштування за адресою index.


BitField[AxisFlag] get_invert_flags(index: int) const 🔗

Повертає прапорці інвертування налаштування за адресою index.


bool is_additive(index: int) const 🔗

Повертає true, якщо опція адитивного параметра ввімкнена в налаштуванні index.


bool is_axis_x_enabled(index: int) const 🔗

Повертає true, якщо прапорці ввімкнення мають прапорець для осі X у налаштуванні index. Див. також set_axis_flags().


bool is_axis_x_inverted(index: int) const 🔗

Повертає true, якщо прапорці інвертування мають прапорець для осі X у налаштуванні index. Див. також set_invert_flags().


bool is_axis_y_enabled(index: int) const 🔗

Повертає true, якщо прапорці ввімкнення мають прапорець для осі Y у налаштуванні index. Див. також set_axis_flags().


bool is_axis_y_inverted(index: int) const 🔗

Повертає true, якщо прапорці інвертування мають прапорець для осі Y у налаштуванні index. Див. також set_invert_flags().


bool is_axis_z_enabled(index: int) const 🔗

Повертає true, якщо прапорці ввімкнення мають прапорець для осі Z у налаштуванні index. Див. також set_axis_flags().


bool is_axis_z_inverted(index: int) const 🔗

Повертає true, якщо прапорці інвертування мають прапорець для осі Z у налаштуванні index. Див. також set_invert_flags().


bool is_position_copying(index: int) const 🔗

Повертає true, якщо прапорці копіювання мають прапорець для позиції в налаштуванні за адресою index. Див. також set_copy_flags().


bool is_relative(index: int) const 🔗

Повертає true, якщо відносний параметр увімкнено в налаштуванні index.


bool is_rotation_copying(index: int) const 🔗

Повертає true, якщо прапорці копіювання мають прапорець для обертання в налаштуванні index. Див. також set_copy_flags().


bool is_scale_copying(index: int) const 🔗

Повертає true, якщо прапорці копіювання мають прапорець для масштабу в налаштуванні index. Див. також set_copy_flags().


void set_additive(index: int, enabled: bool) 🔗

Встановлює опцію адитивного перетворення в налаштуванні index на enabled. Це головним чином впливає на процес застосування перетворення до BoneConstraint3D.set_apply_bone().

Якщо встановити enabled на true, оброблене перетворення додається до пози поточної застосованої кістки.

Якщо встановити enabled на false, поза поточної застосованої кістки замінюється обробленим перетворенням. Однак, якщо встановити set_relative() на true, перетворення здійснюється відносно до спокою.


void set_axis_flags(index: int, axis_flags: BitField[AxisFlag]) 🔗

Встановлює прапорці для копіювання осей. Якщо прапорець дійсний, вісь копіюється.


void set_axis_x_enabled(index: int, enabled: bool) 🔗

Якщо встановити enabled на true, вісь X буде скопійована.


void set_axis_x_inverted(index: int, enabled: bool) 🔗

Якщо встановити enabled на true, вісь X буде інвертована.


void set_axis_y_enabled(index: int, enabled: bool) 🔗

Якщо встановити enabled на true, вісь Y буде скопійована.


void set_axis_y_inverted(index: int, enabled: bool) 🔗

Якщо встановити enabled на true, вісь Y буде інвертована.


void set_axis_z_enabled(index: int, enabled: bool) 🔗

Якщо встановити enabled на true, вісь Z буде скопійована.


void set_axis_z_inverted(index: int, enabled: bool) 🔗

Якщо встановити enabled на true, вісь Z буде інвертована.


void set_copy_flags(index: int, copy_flags: BitField[TransformFlag]) 🔗

Встановлює прапорці для обробки операцій перетворення. Якщо прапорець дійсний, операція перетворення обробляється.

Примітка: Якщо обертання дійсне лише для однієї осі, воно враховує кут дійсної осі. Якщо обертання дійсне для двох осей, воно відкидає кут недійсної осі.


void set_copy_position(index: int, enabled: bool) 🔗

Якщо встановити enabled на true, позицію буде скопійовано.


void set_copy_rotation(index: int, enabled: bool) 🔗

Якщо встановити enabled на true, обертання буде скопійовано.


void set_copy_scale(index: int, enabled: bool) 🔗

Якщо встановити enabled на true, масштаб буде скопійовано.


void set_invert_flags(index: int, axis_flags: BitField[AxisFlag]) 🔗

Встановлює прапорці для інвертування осей. Якщо прапорець дійсний, вісь копіюється.

Примітка: Інвертований масштаб означає обернене число, а не від'ємний масштаб. Наприклад, інвертування 2.0 означає 0.5.

Примітка: Інвертований поворот перевертає елементи кватерніона. Наприклад, двоосьова інверсія перевертає кут нахилу кожної осі, а триосьова інверсія перевертає кінцеву орієнтацію. Однак майте на увазі, що перевертання лише однієї осі може спричинити ненавмисне обертання неперевернутими осями через характеристики кватерніона.


void set_relative(index: int, enabled: bool) 🔗

Встановлює відносний параметр у налаштуванні index на enabled.

Якщо встановити enabled на true, витягнуте та застосоване перетворення є відносним до решти.

Якщо встановити enabled на false, витягнуте перетворення є абсолютним.