reckfellENGINE

SkeletonModifier3D

Узел, который может модифицировать кости Skeleton3D.

На этой странице
class SkeletonModifier3DReckfellSharpНаследует Entity3D

Узел, который может модифицировать кости Skeleton3D.

SkeletonModifier3D извлекает целевой Skeleton3D, имея родителя Skeleton3D. Если есть AnimationMixer, модификация всегда выполняется после процесса воспроизведения AnimationMixer. Этот узел следует использовать для реализации пользовательских решателей IK, ограничений или физики скелета.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

SkeletonModifier3DКонструктор
# SkeletonModifier3D
C#
public SkeletonModifier3D();

Свойства2

ActiveСвойство
# Active
C#
public bool Active { get; set; }

Если true, то SkeletonModifier3D будет обработан.

InfluenceСвойство
# Influence
C#
public float Influence { get; set; }

Устанавливает влияние модификации. Примечание: Это значение используется Skeleton3D для смешивания, поэтому SkeletonModifier3D всегда должен применять только 100% результата без интерполяции.

Методы9

GetInfluencefloat
# GetInfluence
C#
public float GetInfluence();
Возвращает float
GetSkeletonSkeleton3D
# GetSkeleton
C#
public Skeleton3D GetSkeleton();

Возвращает родительский узел Skeleton3D, если он существует. В противном случае возвращает null.

Возвращает Skeleton3D
IsActivebool
# IsActive
C#
public bool IsActive();
Возвращает bool
SetActivevoid
# SetActive
C#
public void SetActive(bool active);
Параметры
ИмяТипПо умолчанию
activebool—
SetInfluencevoid
# SetInfluence
C#
public void SetInfluence(float influence);
Параметры
ИмяТипПо умолчанию
influencefloat—
_ProcessModificationvoid · Устарело
# _ProcessModification
C#
public virtual void _ProcessModification();

Переопределите этот виртуальный метод, чтобы реализовать пользовательский модификатор скелета. Вам следует сделать что-то вроде получения текущей позы Skeleton3D и применить позу здесь. SkeletonModifier3D._ProcessModification не должен применять SkeletonModifier3D.Influence к позам костей, поскольку Skeleton3D автоматически применяет влияние ко всем позам костей, заданным модификатором.

_ProcessModificationWithDeltavoid
# _ProcessModificationWithDelta
C#
public virtual void _ProcessModificationWithDelta(double delta);

Переопределите этот виртуальный метод, чтобы реализовать пользовательский модификатор скелета. Вам следует получить текущую позу Skeleton3D и применить её здесь. Метод SkeletonModifier3D._ProcessModificationWithDelta не должен применять SkeletonModifier3D.Influence к позам костей, поскольку Skeleton3D автоматически применяет влияние ко всем позам костей, заданным модификатором. delta передаётся от родительского Skeleton3D. См. также Skeleton3D.Advance. Примечание: Этот метод может быть вызван вне Entity._Process и Entity._PhysicsProcess с delta равным 0.0, поскольку модификация должна быть обработана сразу после инициализации Skeleton3D.

Параметры
ИмяТипПо умолчанию
deltadouble—
_SkeletonChangedvoid
# _SkeletonChanged
C#
public virtual void _SkeletonChanged(Skeleton3D oldSkeleton, Skeleton3D newSkeleton);

Вызывается при изменении скелета.

Параметры
ИмяТипПо умолчанию
oldSkeletonSkeleton3D—
newSkeletonSkeleton3D—
_ValidateBoneNamesvoid
# _ValidateBoneNames
C#
public virtual void _ValidateBoneNames();

Вызывается, когда необходимо проверить имена и индексы костей, например, при входе в дерево сцены или изменении скелета.

Сигналы и события1

ModificationProcessedСобытие
# ModificationProcessed
C#
public event Action ModificationProcessed;

Уведомляет о завершении модификации. Примечание: Если вы хотите получить измененную позу кости модификатором, вы должны использовать Skeleton3D.GetBonePose или Skeleton3D.GetBoneGlobalPose в момент срабатывания этого сигнала.

SkeletonModifier3D.BoneAxis

ЗначениеОписание
MinusX = 1

Перечисленное значение для оси -X.

MinusY = 3

Перечисленное значение для оси -Y.

MinusZ = 5

Перечисленное значение для оси -Z.

PlusX = 0

Перечисленное значение для оси +X.

PlusY = 2

Перечисленное значение для оси +Y.

PlusZ = 4

Перечисленное значение для оси +Z.

SkeletonModifier3D.BoneDirection

ЗначениеОписание
FromParent = 6

Перечисленное значение для оси от родительской кости до дочерней кости.

MinusX = 1

Перечисленное значение для оси -X.

MinusY = 3

Перечисленное значение для оси -Y.

MinusZ = 5

Перечисленное значение для оси -Z.

PlusX = 0

Перечисленное значение для оси +X.

PlusY = 2

Перечисленное значение для оси +Y.

PlusZ = 4

Перечисленное значение для оси +Z.

SkeletonModifier3D.RotationAxis

ЗначениеОписание
All = 3

Перечисленное значение для неограниченного вращения.

Custom = 4

Перечисляемое значение для необязательной оси вращения.

X = 0

Перечисленное значение для вращения оси X.

Y = 1

Перечисленное значение для вращения оси Y.

Z = 2

Перечисленное значение для вращения оси Z.

SkeletonModifier3D.SecondaryDirection

ЗначениеОписание
Custom = 7

Перечисляемое значение для необязательной оси.

MinusX = 2

Перечисленное значение для оси -X.

MinusY = 4

Перечисленное значение для оси -Y.

MinusZ = 6

Перечисленное значение для оси -Z.

None = 0

Перечисляемое значение для случая, когда ось не определена.

PlusX = 1

Перечисленное значение для оси +X.

PlusY = 3

Перечисленное значение для оси +Y.

PlusZ = 5

Перечисленное значение для оси +Z.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.