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.

Свойства

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