reckfellENGINE

SkeletonModification2DFabrik

Модификация, использующая FABRIK для манипулирования серией узлов Bone2D для достижения цели.

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

Модификация, использующая FABRIK для манипулирования серией узлов Bone2D для достижения цели.

В SkeletonModification2D используется алгоритм, называемый «обратной кинематикой прямого и обратного действия» (FABRIK), для поворота цепочки костей таким образом, чтобы она достигла цели. FABRIK работает, зная положение и длину ряда костей, обычно называемых «цепочкой костей». Сначала выполняется прямой проход, который помещает последнюю кость в позицию цели. Затем все остальные кости перемещаются к конечной кости, оставаясь на заданном расстоянии. Затем выполняется обратный проход, в котором корневая/первая кость в цепочке FABRIK возвращается в начало координат. Затем все остальные кости перемещаются, оставаясь на заданном расстоянии. Это позволяет расположить цепочку костей таким образом, чтобы она достигла цели, когда это возможно, но при этом все кости остаются на правильном расстоянии друг от друга. Благодаря особенностям работы FABRIK, он часто дает более естественные результаты, чем SkeletonModification2DCcdik. Примечание: Модификатор FABRIK содержит fabrik_joints, которые представляют собой объекты данных, хранящие данные для каждого сустава в цепочке FABRIK. Это отличается от узлов Bone2D! Суставы FABRIK содержат данные, необходимые для каждого Bone2D в цепочке костей, используемой FABRIK. Чтобы контролировать движение суставов FABRIK, можно передать вектор магнита, который может подтолкнуть кости в определённом направлении перед решением, что даёт определённый уровень контроля над конечным результатом.

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

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

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

Свойства2

FabrikDataChainLengthСвойство
# FabrikDataChainLength
C#
public int FabrikDataChainLength { get; set; }

Количество соединений FABRIK в модификации FABRIK.

TargetEntitypathСвойство
# TargetEntitypath
C#
public EntityPath TargetEntitypath { get; set; }

EntityPath к узлу, который является целью модификации FABRIK. Этот узел — то, к чему цепь FABRIK попытается повернуть цепочку костей.

Методы12

GetFabrikDataChainLengthint
# GetFabrikDataChainLength
C#
public int GetFabrikDataChainLength();
Возвращает int
GetFabrikJointBone2DEntityEntityPath
# GetFabrikJointBone2DEntity
C#
public EntityPath GetFabrikJointBone2DEntity(int jointIdx);

Возвращает узел Bone2D, назначенный суставу FABRIK в joint_idx.

Параметры
ИмяТипПо умолчанию
jointIdxint—
Возвращает EntityPath
GetFabrikJointBoneIndexint
# GetFabrikJointBoneIndex
C#
public int GetFabrikJointBoneIndex(int jointIdx);

Возвращает индекс узла Bone2D, назначенного суставу FABRIK в joint_idx.

Параметры
ИмяТипПо умолчанию
jointIdxint—
Возвращает int
GetFabrikJointMagnetPositionVector2
# GetFabrikJointMagnetPosition
C#
public Vector2 GetFabrikJointMagnetPosition(int jointIdx);

Возвращает вектор положения магнита для сочленения в joint_idx.

Параметры
ИмяТипПо умолчанию
jointIdxint—
Возвращает Vector2
GetFabrikJointUseTargetRotationbool
# GetFabrikJointUseTargetRotation
C#
public bool GetFabrikJointUseTargetRotation(int jointIdx);

Возвращает, использует ли сочленение вращение цели, а не позволяет FABRIK вращать сочленение. Эта опция применяется только к кончику/конечному сочленению в цепочке.

Параметры
ИмяТипПо умолчанию
jointIdxint—
Возвращает bool
GetTargetEntityEntityPath
# GetTargetEntity
C#
public EntityPath GetTargetEntity();
Возвращает EntityPath
SetFabrikDataChainLengthvoid
# SetFabrikDataChainLength
C#
public void SetFabrikDataChainLength(int length);
Параметры
ИмяТипПо умолчанию
lengthint—
SetFabrikJointBone2DEntityvoid
# SetFabrikJointBone2DEntity
C#
public void SetFabrikJointBone2DEntity(int jointIdx, EntityPath bone2DEntitypath);

Устанавливает узел Bone2D, назначенный суставу FABRIK, в joint_idx.

Параметры
ИмяТипПо умолчанию
jointIdxint—
bone2DEntitypathEntityPath—
SetFabrikJointBoneIndexvoid
# SetFabrikJointBoneIndex
C#
public void SetFabrikJointBoneIndex(int jointIdx, int boneIdx);

Устанавливает индекс костей, bone_idx, из сустава FABRIK joint_idx. По возможности, это также позволит обновить bone2d_node на основе данных, представленных скелетом, связанным между собой.

Параметры
ИмяТипПо умолчанию
jointIdxint—
boneIdxint—
SetFabrikJointMagnetPositionvoid
# SetFabrikJointMagnetPosition
C#
public void SetFabrikJointMagnetPosition(int jointIdx, Vector2 magnetPosition);

Устанавливает вектор положения магнита для сочленения в joint_idx.

Параметры
ИмяТипПо умолчанию
jointIdxint—
magnetPositionVector2—
SetFabrikJointUseTargetRotationvoid
# SetFabrikJointUseTargetRotation
C#
public void SetFabrikJointUseTargetRotation(int jointIdx, bool useTargetRotation);

Устанавливает, будет ли соединение в joint_idx использовать вращение целевого узла вместо того, чтобы позволить FABRIK вращать узел. Примечание: Эта опция работает только для конечного/последнего соединения в цепочке. Для всех остальных узлов эта опция будет игнорироваться.

Параметры
ИмяТипПо умолчанию
jointIdxint—
useTargetRotationbool—
SetTargetEntityvoid
# SetTargetEntity
C#
public void SetTargetEntity(EntityPath targetEntitypath);
Параметры
ИмяТипПо умолчанию
targetEntitypathEntityPath—
Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

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

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

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