CopyTransformModifier3D
Успадковує: BoneConstraint3D < SkeletonModifier3D < Node3D < Node < Object
SkeletonModifier3D, який застосовує трансформацію до кістки, скопійованої з посилання.
Опис
Застосуйте скопійоване перетворення набору кісток за допомогою методу BoneConstraint3D.set_reference_bone до набору кісток за допомогою методу BoneConstraint3D.set_apply_bone() з обробкою його деякими масками та опціями.
Існує 4 способи застосування перетворення, залежно від комбінації методів set_relative() та set_additive().
Відносне + Адитивне:
Витягніть опорну позу відносно решти та додайте її до пози застосованої кістки.
Відносне + Неадитивне:
Витягніть опорну позу відносно решти та додайте її до решти застосованої кістки.
Не відносне + Адитивне:
Абсолютно витягніть опорну позу та додайте її до пози застосованої кістки.
Не відносне + Неадитивне:
Абсолютно витягніть опорну позу, і поза застосованої кістки замінюється нею.
Властивості
|
Методи
BitField[AxisFlag] |
get_axis_flags(index: int) const |
BitField[TransformFlag] |
get_copy_flags(index: int) const |
BitField[AxisFlag] |
get_invert_flags(index: int) const |
is_additive(index: int) const |
|
is_axis_x_enabled(index: int) const |
|
is_axis_x_inverted(index: int) const |
|
is_axis_y_enabled(index: int) const |
|
is_axis_y_inverted(index: int) const |
|
is_axis_z_enabled(index: int) const |
|
is_axis_z_inverted(index: int) const |
|
is_position_copying(index: int) const |
|
is_relative(index: int) const |
|
is_rotation_copying(index: int) const |
|
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
Якщо встановлено, дозволяє обробку всіх осей.
Описи властивостей
Кількість налаштувань у модифікаторі.
Описи методів
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, витягнуте перетворення є абсолютним.