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. См. также enumBoneConstraint3D.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, извлеченное преобразование является абсолютным.