Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
CopyTransformModifier3D
Успадковує: BoneConstraint3D < SkeletonModifier3D < Node3D < Node < Object
SkeletonModifier3D, який застосовує трансформацію до кістки, скопійованої з посилання.
Опис
Застосуйте скопійоване перетворення набору кісток за допомогою методу BoneConstraint3D.set_reference_bone() до набору кісток за допомогою методу BoneConstraint3D.set_apply_bone() з обробкою його деякими масками та опціями.
Існує 4 способи застосування перетворення, залежно від комбінації методів set_relative() та set_additive().
Відносне + Адитивне:
Витягніть опорну позу відносно решти та додайте її до пози застосованої кістки.
Відносне + Неадитивне:
Витягніть опорну позу відносно решти та додайте її до решти застосованої кістки.
Не відносне + Адитивне:
Абсолютно витягніть опорну позу та додайте її до пози застосованої кістки.
Не відносне + Неадитивне:
Абсолютно витягніть опорну позу, і поза застосованої кістки замінюється нею.
Примітка: Відносний параметр доступний лише у випадку, якщо BoneConstraint3D.get_reference_type() має значення BoneConstraint3D.REFERENCE_TYPE_BONE. Див. також ReferenceType.
Властивості
|
Методи
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, витягнуте перетворення є абсолютним.