reckfellENGINE

SkeletonModification2DCcdik

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

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

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

Этот SkeletonModification2D использует алгоритм, называемый Обратная кинематика циклического спуска по координатам (CCDIK), для управления цепочкой костей в Skeleton2D так, чтобы она достигла определенной цели. CCDIK работает, вращая набор костей, обычно называемый «цепочкой костей», вокруг одной оси. Каждая кость поворачивается так, чтобы быть обращенной к цели с кончика (по умолчанию), что позволяет ей вращаться правильно, достигая цели, через цепочку костей. Поскольку кости вращаются только вокруг одной оси, CCDIK может выглядеть более роботизированным, чем другие решатели IK. Примечание: Модификатор CCDIK имеет ccdik_joints, которые являются объектами данных, которые содержат данные для каждого сустава в цепочке CCDIK. Это отличается от кости! Суставы CCDIK содержат данные, необходимые для каждой кости в цепочке костей, используемой CCDIK. CCDIK также полностью поддерживает угловые ограничения, что позволяет лучше контролировать выполнение решения.

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

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

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

Свойства3

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

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

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

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

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

Конечная позиция цепочки CCDIK. Обычно это должен быть дочерний узел Bone2D, прикрепленный к конечному Bone2D в цепочке CCDIK.

Методы20

GetCcdikDataChainLengthint
# GetCcdikDataChainLength
C#
public int GetCcdikDataChainLength();
Возвращает int
GetCcdikJointBone2DEntityEntityPath
# GetCcdikJointBone2DEntity
C#
public EntityPath GetCcdikJointBone2DEntity(int jointIdx);

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

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

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

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

Возвращает, использует ли соединение CCDIK в joint_idx инвертированное ограничение соединения. Подробности см. в SkeletonModification2DCcdik.SetCcdikJointConstraintAngleInvert.

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

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

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

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

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

Возвращает информацию о том, включены ли ограничения угла для соединения CCDIK в joint_idx.

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

Возвращает, установлено ли соединение в joint_idx для вращения от сочленения, true, или для вращения от кончика, false. По умолчанию вращение происходит от кончика.

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

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

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

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

Параметры
ИмяТипПо умолчанию
jointIdxint—
boneIdxint—
SetCcdikJointConstraintAngleInvertvoid
# SetCcdikJointConstraintAngleInvert
C#
public void SetCcdikJointConstraintAngleInvert(int jointIdx, bool invert);

Устанавливает, использует ли соединение CCDIK в joint_idx инвертированное ограничение соединения. Инвертированное ограничение соединения ограничивает соединение CCDIK только углами вне введенных минимальных и максимальных углов. По этой причине оно называется инвертированным ограничением соединения, так как оно ограничивает соединение снаружи введенных значений.

Параметры
ИмяТипПо умолчанию
jointIdxint—
invertbool—
SetCcdikJointConstraintAngleMaxvoid
# SetCcdikJointConstraintAngleMax
C#
public void SetCcdikJointConstraintAngleMax(int jointIdx, float angleMax);

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

Параметры
ИмяТипПо умолчанию
jointIdxint—
angleMaxfloat—
SetCcdikJointConstraintAngleMinvoid
# SetCcdikJointConstraintAngleMin
C#
public void SetCcdikJointConstraintAngleMin(int jointIdx, float angleMin);

Устанавливает минимальное ограничение угла для сочленения в joint_idx.

Параметры
ИмяТипПо умолчанию
jointIdxint—
angleMinfloat—
SetCcdikJointEnableConstraintvoid
# SetCcdikJointEnableConstraint
C#
public void SetCcdikJointEnableConstraint(int jointIdx, bool enableConstraint);

Определяет, включены ли ограничения угла на сочленении CCDIK в joint_idx. Когда true, ограничения будут включены и учтены при решении.

Параметры
ИмяТипПо умолчанию
jointIdxint—
enableConstraintbool—
SetCcdikJointRotateFromJointvoid
# SetCcdikJointRotateFromJoint
C#
public void SetCcdikJointRotateFromJoint(int jointIdx, bool rotateFromJoint);

Устанавливает, будет ли сочленение в joint_idx настроено на вращение от сочленения, true, или на вращение от кончика, false.

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

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

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

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