SkeletonModification2DTwoBoneIK
Модификация, которая вращает две кости, используя закон косинусов, чтобы достичь цели.
Модификация, которая вращает две кости, используя закон косинусов, чтобы достичь цели.
Этот SkeletonModification2D использует алгоритм, обычно называемый TwoBoneIK. Этот алгоритм работает, используя закон косинусов и длины костей, чтобы выяснить, какое вращение имеют кости в данный момент, и какое вращение им нужно, чтобы составить полный треугольник, где первая кость, вторая кость и цель образуют три вершины треугольника. Поскольку алгоритм работает, создавая треугольник, он может работать только с двумя костями.
TwoBoneIK отлично подходит для рук, ног и любых суставов, которые можно представить всего двумя костями, которые сгибаются, чтобы достичь цели. Этот решатель более легкий, чем SkeletonModification2DFabrik, но дает похожие, естественно выглядящие результаты.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
SkeletonModification2DTwoBoneIKКонструктор
public SkeletonModification2DTwoBoneIK();Свойства4
FlipBendDirectionСвойство
public bool FlipBendDirection { get; set; }Если true, кости в модификации будут изгибаться наружу, а не внутрь при сокращении. Если false, кости будут изгибаться внутрь при сокращении.
TargetEntitypathСвойство
public EntityPath TargetEntitypath { get; set; }EntityPath к узлу, который является целью модификации TwoBoneIK. Этот узел будет использоваться модификацией при изгибе узлов Bone2D.
TargetMaximumDistanceСвойство
public float TargetMaximumDistance { get; set; }Максимальное расстояние, на котором может находиться цель. Если цель находится дальше этого расстояния, модификация будет решаться так, как будто она находится на этом максимальном расстоянии. Если установлено значение 0, модификация будет решаться без ограничений по расстоянию.
TargetMinimumDistanceСвойство
public float TargetMinimumDistance { get; set; }Минимальное расстояние, на котором может находиться цель. Если цель находится ближе этого расстояния, модификация будет решаться так, как будто она находится на этом минимальном расстоянии. Если установлено значение 0, модификация будет решаться без ограничений по расстоянию.
Методы16
GetFlipBendDirectionbool
public bool GetFlipBendDirection();boolGetJointOneBone2DEntityEntityPath
public EntityPath GetJointOneBone2DEntity();Возвращает узел Bone2D, который используется в качестве первой кости в модификации TwoBoneIK.
EntityPathGetJointOneBoneIdxint
public int GetJointOneBoneIdx();Возвращает индекс узла Bone2D, который используется в качестве первой кости в модификации TwoBoneIK.
intGetJointTwoBone2DEntityEntityPath
public EntityPath GetJointTwoBone2DEntity();Возвращает узел Bone2D, который используется как вторая кость в модификации TwoBoneIK.
EntityPathGetJointTwoBoneIdxint
public int GetJointTwoBoneIdx();Возвращает индекс узла Bone2D, который используется в качестве второй кости в модификации TwoBoneIK.
intGetTargetEntityEntityPath
public EntityPath GetTargetEntity();EntityPathGetTargetMaximumDistancefloat
public float GetTargetMaximumDistance();floatGetTargetMinimumDistancefloat
public float GetTargetMinimumDistance();floatSetFlipBendDirectionvoid
public void SetFlipBendDirection(bool flipDirection);| Имя | Тип | По умолчанию |
|---|---|---|
flipDirection | bool | — |
SetJointOneBone2DEntityvoid
public void SetJointOneBone2DEntity(EntityPath bone2DEntity);Устанавливает узел Bone2D, который используется в качестве первой кости в модификации TwoBoneIK.
| Имя | Тип | По умолчанию |
|---|---|---|
bone2DEntity | EntityPath | — |
SetJointOneBoneIdxvoid
public void SetJointOneBoneIdx(int boneIdx);Устанавливает индекс узла Bone2D, который используется в качестве первой кости в модификации TwoBoneIK.
| Имя | Тип | По умолчанию |
|---|---|---|
boneIdx | int | — |
SetJointTwoBone2DEntityvoid
public void SetJointTwoBone2DEntity(EntityPath bone2DEntity);Устанавливает узел Bone2D, который используется в качестве второй кости в модификации TwoBoneIK.
| Имя | Тип | По умолчанию |
|---|---|---|
bone2DEntity | EntityPath | — |
SetJointTwoBoneIdxvoid
public void SetJointTwoBoneIdx(int boneIdx);Устанавливает индекс узла Bone2D, который используется в качестве второй кости в модификации TwoBoneIK.
| Имя | Тип | По умолчанию |
|---|---|---|
boneIdx | int | — |
SetTargetEntityvoid
public void SetTargetEntity(EntityPath targetEntitypath);| Имя | Тип | По умолчанию |
|---|---|---|
targetEntitypath | EntityPath | — |
SetTargetMaximumDistancevoid
public void SetTargetMaximumDistance(float maximumDistance);| Имя | Тип | По умолчанию |
|---|---|---|
maximumDistance | float | — |
SetTargetMinimumDistancevoid
public void SetTargetMinimumDistance(float minimumDistance);| Имя | Тип | По умолчанию |
|---|---|---|
minimumDistance | float | — |