reckfellENGINE

Skeleton2D

Объединяет кости, исходную позу и модификаторы скелета 2D.

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

Skeleton2D регистрирует прямые цепочки Bone2D и передаёт их позы для деформации полигона. Назначьте Polygon2D.Skeleton, пути к костям и веса: одна иерархия не создаёт деформацию.

GetBoneCount() и GetBone() вызывайте после входа скелета в дерево. Индексы относятся к текущей структуре скелета; не используйте их как постоянные идентификаторы сохранения. Стек SkeletonModificationStack2D позволяет выполнять IK во время игры. Этот API помечен экспериментальным; проверяйте результат при смене версии.

Практический пример.

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

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

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

Методы8

ExecuteModificationsvoid
# ExecuteModifications
C#
public void ExecuteModifications(float delta, int executionMode);

Выполняет все изменения в SkeletonModificationStack2D, если они назначены Skeleton2D.

Параметры
ИмяТипПо умолчанию
deltafloat—
executionModeint—
GetBoneBone2D
# GetBone
C#
public Bone2D GetBone(int idx);

Возвращает кость по текущему индексу. Требует скелет в дереве и индекс от 0 до GetBoneCount() - 1; при ошибке возвращает null. При изменении цепочки сначала обновите подготовку через GetBoneCount().

Параметры
ИмяТипПо умолчанию
idxint—
Возвращает Bone2D
GetBoneCountint
# GetBoneCount
C#
public int GetBoneCount();

Возвращает число зарегистрированных костей и при необходимости обновляет отложенную подготовку. Требует скелет в дереве; вне дерева сообщает ошибку и возвращает 0. Используйте после AddChild() или в _Ready().

Возвращает int
GetBoneLocalPoseOverrideTransform2D
# GetBoneLocalPoseOverride
C#
public Transform2D GetBoneLocalPoseOverride(int boneIdx);

Возвращает локальное преобразование переопределения позы для bone_idx.

Параметры
ИмяТипПо умолчанию
boneIdxint—
Возвращает Transform2D
GetModificationStackSkeletonModificationStack2D
# GetModificationStack
C#
public SkeletonModificationStack2D GetModificationStack();

Возвращает SkeletonModificationStack2D, прикрепленный к данному скелету, если таковой существует.

Возвращает SkeletonModificationStack2D
GetSkeletonRid
# GetSkeleton
C#
public Rid GetSkeleton();

Возвращает Rid экземпляра Skeleton2D.

Возвращает Rid
SetBoneLocalPoseOverridevoid
# SetBoneLocalPoseOverride
C#
public void SetBoneLocalPoseOverride(int boneIdx, Transform2D overridePose, float strength, bool persistent);

Устанавливает локальное преобразование позы, override_pose, для кости в bone_idx. strength — это сила интерполяции, которая будет использоваться при применении позы, а persistent определяет, останется ли примененная поза. Примечание: Преобразование позы должно быть локальным преобразованием относительно узла Bone2D в bone_idx!

Параметры
ИмяТипПо умолчанию
boneIdxint—
overridePoseTransform2D—
strengthfloat—
persistentbool—
SetModificationStackvoid
# SetModificationStack
C#
public void SetModificationStack(SkeletonModificationStack2D modificationStack);

Заменяет стек модификаторов. Если скелет уже в дереве, связывает новый стек с ним и выполняет setup. Для работы IK включите стек и сам модификатор, задайте корректные пути и Strength. Стек API 2D остаётся экспериментальным.

Параметры
ИмяТипПо умолчанию
modificationStackSkeletonModificationStack2D—

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

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

Вызывается при изменении настройки Bone2D, прикрепленной к этим скелетам. В основном используется внутри скелета.

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

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

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

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