RetargetModifier3D
Модификатор для переноса поз родительского скелета (или глобальных поз) на дочерние скелеты в пространстве модели с различными опорами.
Модификатор для переноса поз родительского скелета (или глобальных поз) на дочерние скелеты в пространстве модели с различными опорами.
Извлекает позу (или глобальную позу) относительно покоя родительского скелета в пространстве модели и переносит ее в дочерний скелет.
Этот модификатор переписывает позу дочернего скелета непосредственно в процессе обновления родительского скелета. Это означает, что он перезаписывает сопоставленную позу кости, установленную в обычном процессе на целевом скелете. Если вы хотите установить позу кости целевого скелета после перенацеливания, вам нужно будет добавить дочерний элемент SkeletonModifier3D к целевому скелету и тем самым изменить позу.
Примечание: Когда включен RetargetModifier3D.UseGlobalPose, даже если это не сопоставленная кость, это может вызвать визуальные проблемы, поскольку глобальная поза применяется, игнорируя позу родительской кости , если у нее есть сопоставленные дочерние кости. См. также RetargetModifier3D.UseGlobalPose.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
RetargetModifier3DКонструктор
public RetargetModifier3D();Свойства4
CopyBoneSkinScaleСвойство
public bool CopyBoneSkinScale { get; set; }Если true, копии Skeleton3D.GetBoneSkinScale Кости источника скелета на картах детских скелетов.
Если false, масштаб кожей детских скелетов переустановляется в Vector3(1, 1, 1) Один раз и не будет переписаны после этого.
Примечание: Если вы хотите использовать Skeleton3D.SetBoneSkinScale на картированную кость детского скелета, установите это falseДаже если вы не используете Skeleton3D.SetBoneSkinScale с материнским скелетом, Vector3(1, 1, 1) Всегда будет установлен для детских скелетов.
EnableСвойство
public RetargetModifier3D.TransformFlag Enable { get; set; }Флаги для индивидуального управления процессом преобразования элементов, когда RetargetModifier3D.UseGlobalPose отключен.
ProfileСвойство
public SkeletonProfile Profile { get; set; }SkeletonProfile для перенацеливания костей с названиями, соответствующими списку костей.
UseGlobalPoseСвойство
public bool UseGlobalPose { get; set; }Если false, в случае, если целевой скелет имеет меньше костей, чем исходный скелет, преобразование исходной кости-родителя будет проигнорировано.
Вместо этого можно перенацеливаться между моделями с разными формами тела, а положение, поворот и масштаб могут перенацеливаться отдельно.
Если true, перенацеливание выполняется с учетом глобальной позы.
В случае, если целевой скелет имеет меньше костей, чем исходный скелет, учитывается преобразование исходной кости-родителя. Однако длина костей между скелетами должна точно совпадать, в противном случае кости будут вынуждены расширяться или сжиматься.
Это полезно для использования фиктивной кости с длиной 0 для сопоставления поз при перенацеливании между моделями с разным количеством костей.
Методы14
GetEnableFlagsRetargetModifier3D.TransformFlag
public RetargetModifier3D.TransformFlag GetEnableFlags();RetargetModifier3D.TransformFlagGetProfileSkeletonProfile
public SkeletonProfile GetProfile();SkeletonProfileIsCopyingBoneSkinScalebool
public bool IsCopyingBoneSkinScale();boolIsPositionEnabledbool
public bool IsPositionEnabled();Returns (Возврат) true если RetargetModifier3D.Enable has (имеет) RetargetModifier3D.TransformFlag.Position.
boolIsRotationEnabledbool
public bool IsRotationEnabled();Returns (Возврат) true если RetargetModifier3D.Enable has (имеет) RetargetModifier3D.TransformFlag.Rotation.
boolIsScaleEnabledbool
public bool IsScaleEnabled();Returns (Возврат) true если RetargetModifier3D.Enable has (имеет) RetargetModifier3D.TransformFlag.Scale.
boolIsUsingGlobalPosebool
public bool IsUsingGlobalPose();boolSetCopyBoneSkinScalevoid
public void SetCopyBoneSkinScale(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetEnableFlagsvoid
public void SetEnableFlags(RetargetModifier3D.TransformFlag enableFlags);| Имя | Тип | По умолчанию |
|---|---|---|
enableFlags | RetargetModifier3D.TransformFlag | — |
SetPositionEnabledvoid
public void SetPositionEnabled(bool enabled);Устанавливает RetargetModifier3D.TransformFlag.Position в RetargetModifier3D.Enable.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetProfilevoid
public void SetProfile(SkeletonProfile profile);| Имя | Тип | По умолчанию |
|---|---|---|
profile | SkeletonProfile | — |
SetRotationEnabledvoid
public void SetRotationEnabled(bool enabled);Устанавливает RetargetModifier3D.TransformFlag.Rotation в RetargetModifier3D.Enable.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetScaleEnabledvoid
public void SetScaleEnabled(bool enabled);Устанавливает RetargetModifier3D.TransformFlag.Scale в RetargetModifier3D.Enable.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetUseGlobalPosevoid
public void SetUseGlobalPose(bool useGlobalPose);| Имя | Тип | По умолчанию |
|---|---|---|
useGlobalPose | bool | — |
RetargetModifier3D.TransformFlag
| Значение | Описание |
|---|---|
All = 7 | Если установлено, позволяет перенацелить положение/поворот/масштаб. |
Position = 1 | Если установлено, позволяет перенацелить позицию. |
Rotation = 2 | Если установлено, позволяет перенацелить ротацию. |
Scale = 4 | Если установлено, позволяет перенаправить масштаб. |