Bone2D
Кость в иерархии скелета 2D.
Bone2D задаёт локальную трансформацию звена и сохранённую исходную позу Rest. Родителем должна быть другая Bone2D или Skeleton2D: промежуточная Entity2D разрывает цепь регистрации костей.
Дочерние изображения могут двигаться как жёсткие части. Для деформации одного Polygon2D нужны отдельные веса вершин и связь со скелетом. SetLength() сам по себе не растягивает изображение или полигон.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
Bone2DКонструктор
public Bone2D();Свойства1
RestСвойство
public Transform2D Rest { get; set; }Сохранённая трансформация кости относительно родительской кости или Skeleton2D. Это не мировая поза. Присваивание меняет исходную позу для деформации; для переноса текущей кости в неё вызовите ApplyRest().
Методы11
ApplyRestvoid
public void ApplyRest();Копирует Rest в локальную Transform только этой кости. Не обходит дочерние кости и не отключает анимацию или IK; другой источник позы может перезаписать результат.
GetAutocalculateLengthAndAnglebool
public bool GetAutocalculateLengthAndAngle();Возвращает, будет ли этот Bone2D автоматически вычислять свою длину и угол кости, используя свой первый дочерний узел Bone2D, если таковой существует. Если дочерних узлов Bone2D нет, то он не может автоматически вычислить эти значения и выведет предупреждение.
boolGetBoneAnglefloat
public float GetBoneAngle();Возвращает угол кости в Bone2D.
Примечание: Это отличается от поворота Bone2D. Угол кости — это поворот кости, показанный гизмо (gizmo), на который не влияет Entity2D.Transform Bone2D.
floatGetIndexInSkeletonint
public int GetIndexInSkeleton();Возвращает индекс в текущем скелете, предварительно обновляя подготовку костей. Без зарегистрированного Skeleton2D сообщает ошибку и возвращает -1. Индекс может измениться после перестройки иерархии.
intGetLengthfloat
public float GetLength();Возвращает длину кости в узле Bone2D.
floatGetRestTransform2D
public Transform2D GetRest();Transform2DGetSkeletonRestTransform2D
public Transform2D GetSkeletonRest();Возвращает исходную трансформацию в координатах скелета: произведение локальных Rest по цепи родительских костей. Это не GlobalTransform текущей анимированной позы.
Transform2DSetAutocalculateLengthAndAnglevoid
public void SetAutocalculateLengthAndAngle(bool autoCalculate);Если установлено значение true, узел Bone2D попытается автоматически рассчитать угол и длину кости, используя первый дочерний узел Bone2D, если таковой существует. Если таковых нет, Bone2D не сможет автоматически рассчитать эти значения и выведет предупреждение.
| Имя | Тип | По умолчанию |
|---|---|---|
autoCalculate | bool | — |
SetBoneAnglevoid
public void SetBoneAngle(float angle);Устанавливает угол кости для Bone2D. Обычно устанавливается на поворот от Bone2D к дочернему узлу Bone2D.
Примечание: Это отличается от поворота Bone2D. Угол кости — это поворот кости, показанный гизмо (gizmo), на который не влияет Entity2D.Transform Bone2D.
| Имя | Тип | По умолчанию |
|---|---|---|
angle | float | — |
SetLengthvoid
public void SetLength(float length);Задаёт длину кости для её геометрического представления и решателей. Для ручного задания отключите автоматическое вычисление через SetAutocalculateLengthAndAngle(false). Длина сама по себе не меняет вершины Polygon2D и не растягивает дочерний спрайт.
| Имя | Тип | По умолчанию |
|---|---|---|
length | float | — |
SetRestvoid
public void SetRest(Transform2D rest);| Имя | Тип | По умолчанию |
|---|---|---|
rest | Transform2D | — |