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