SpringBoneSimulator3D
SkeletonModifier3D для применения инерционных колебаний к цепям костей.
SkeletonModifier3D для применения инерционных колебаний к цепям костей.
Этот SkeletonModifier3D можно использовать для покачивания волос, ткани и хвостов. Этот модификатор ведет себя иначе, чем PhysicalBoneSimulator3D, поскольку он пытается вернуть исходную позу после модификации.
Если вы настроите SpringBoneSimulator3D.SetRootBone и SpringBoneSimulator3D.SetEndBone, он будет рассматриваться как одна цепочка костей. Обратите внимание, что он не поддерживает разветвленную цепь, например, Y-образные цепи.
Когда создается цепочка костей, из костей, которые находятся между ними и перечислены в списке суставов, генерируется массив.
К каждому суставу можно применить несколько свойств, например SpringBoneSimulator3D.SetJointStiffness, SpringBoneSimulator3D.SetJointDrag и SpringBoneSimulator3D.SetJointGravity.
Для простоты вы можете задать значения для всех суставов одновременно с помощью Curve. Если вы хотите указать подробные значения по отдельности, установите SpringBoneSimulator3D.SetIndividualConfig на true.
Для физического моделирования SpringBoneSimulator3D может иметь дочерние элементы для самостоятельного столкновения, не связанным с PhysicsServer3D, см. также SpringBoneCollision3D.
Предупреждение: Масштабированный SpringBoneSimulator3D скорее всего не будет вести себя так, как ожидается. Убедитесь, что родительский Skeleton3D и его кости не масштабированы.
Примечание: Большинство методов в этом классе принимают параметр index. Этот параметр указывает, какую запись списка настроек возвращать, если IK имеет несколько записей (например, settings/<index>/root_bone_name).
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
SpringBoneSimulator3DКонструктор
public SpringBoneSimulator3D();Свойства3
ExternalForceСвойство
public Vector3 ExternalForce { get; set; }Постоянная сила, которая всегда воздействует на кости. Она равна результату, когда родитель Skeleton3D движется с этой скоростью в противоположном направлении.
Это полезно для таких эффектов, как ветер и антигравитация.
MutableBoneAxesСвойство
public bool MutableBoneAxes { get; set; }Если true, решатель извлекает ось кости из положения кости каждый кадр.
Если false, решатель извлекает ось кости из состояния покоя кости и кэширует её, что немного повышает производительность, но изменения положения кости, внесённые до обработки этого SpringBoneSimulator3D, игнорируются.
SettingCountСвойство
public int SettingCount { get; set; }Количество настроек.
Методы86
AreAllChildCollisionsEnabledbool
public bool AreAllChildCollisionsEnabled(int index);Возвращает true, если все дочерние SpringBoneCollision3D содержатся в списке столкновений по адресу index в настройках.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
boolAreBoneAxesMutablebool
public bool AreBoneAxesMutable();boolClearCollisionsvoid
public void ClearCollisions(int index);Удаляет все столкновения из списка столкновений по адресу index в настройках, когда SpringBoneSimulator3D.AreAllChildCollisionsEnabled имеет значение false.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
ClearExcludeCollisionsvoid
public void ClearExcludeCollisions(int index);Удаляет все исключенные столкновения из списка столкновений по адресу index в настройках, когда SpringBoneSimulator3D.AreAllChildCollisionsEnabled имеет значение true.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
ClearSettingsvoid
public void ClearSettings();Очищает все настройки.
GetCenterBoneint
public int GetCenterBone(int index);Возвращает индекс центральной кости цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
intGetCenterBoneNamestring
public string GetCenterBoneName(int index);Возвращает имя центральной кости цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
stringGetCenterEntityEntityPath
public EntityPath GetCenterEntity(int index);Возвращает путь центрального узла цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
EntityPathGetCenterFromSpringBoneSimulator3D.CenterFrom
public SpringBoneSimulator3D.CenterFrom GetCenterFrom(int index);Возвращает, откуда берёт начало центр в костной цепи.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
SpringBoneSimulator3D.CenterFromGetCollisionCountint
public int GetCollisionCount(int index);Возвращает количество столкновений в списке столкновений цепочки костей, когда SpringBoneSimulator3D.AreAllChildCollisionsEnabled равен false.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
intGetCollisionPathEntityPath
public EntityPath GetCollisionPath(int index, int collision);Возвращает путь к узлу SpringBoneCollision3D в collision в списке столкновений цепочки костей, когда SpringBoneSimulator3D.AreAllChildCollisionsEnabled имеет значение false.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
collision | int | — |
EntityPathGetDragfloat
public float GetDrag(int index);Возвращает кривую затухания силы сопротивления цепи костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
floatGetDragDampingCurveCurve
public Curve GetDragDampingCurve(int index);Возвращает кривую затухания силы сопротивления цепи костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
CurveGetEndBoneint
public int GetEndBone(int index);Возвращает индекс конечной кости цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
intGetEndBoneDirectionSkeletonModifier3D.BoneDirection
public SkeletonModifier3D.BoneDirection GetEndBoneDirection(int index);Возвращает направление хвоста конечной кости цепочки костей, когда SpringBoneSimulator3D.IsEndBoneExtended имеет значение true.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
SkeletonModifier3D.BoneDirectionGetEndBoneLengthfloat
public float GetEndBoneLength(int index);Возвращает длину хвостовой части конечной кости цепочки костей, когда SpringBoneSimulator3D.IsEndBoneExtended имеет значение true.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
floatGetEndBoneNamestring
public string GetEndBoneName(int index);Возвращает имя конечной кости цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
stringGetExcludeCollisionCountint
public int GetExcludeCollisionCount(int index);Возвращает количество исключенных столкновений из списка исключенных столкновений цепочки костей, когда SpringBoneSimulator3D.AreAllChildCollisionsEnabled имеет значение true.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
intGetExcludeCollisionPathEntityPath
public EntityPath GetExcludeCollisionPath(int index, int collision);Возвращает путь к узлу SpringBoneCollision3D в collision в списке исключений столкновений цепочки костей, когда SpringBoneSimulator3D.AreAllChildCollisionsEnabled имеет значение true.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
collision | int | — |
EntityPathGetExternalForceVector3
public Vector3 GetExternalForce();Vector3GetGravityfloat
public float GetGravity(int index);Возвращает величину гравитации костной цепи.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
floatGetGravityDampingCurveCurve
public Curve GetGravityDampingCurve(int index);Возвращает кривую затухания величины гравитации костной цепи.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
CurveGetGravityDirectionVector3
public Vector3 GetGravityDirection(int index);Возвращает направление гравитации костной цепи.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
Vector3GetJointBoneint
public int GetJointBone(int index, int joint);Возвращает индекс кости в joint в списке суставов цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
intGetJointBoneNamestring
public string GetJointBoneName(int index, int joint);Возвращает имя кости в joint в списке суставов цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
stringGetJointCountint
public int GetJointCount(int index);Возвращает количество суставов в списке суставов цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
intGetJointDragfloat
public float GetJointDrag(int index, int joint);Возвращает силу сопротивления в joint в списке суставов цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
floatGetJointGravityfloat
public float GetJointGravity(int index, int joint);Возвращает величину гравитации в точке joint в списке суставов цепи костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
floatGetJointGravityDirectionVector3
public Vector3 GetJointGravityDirection(int index, int joint);Возвращает направление гравитации в точке joint в списке суставов цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
Vector3GetJointRadiusfloat
public float GetJointRadius(int index, int joint);Возвращает радиус в точке joint в списке суставов цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
floatGetJointRotationAxisSkeletonModifier3D.RotationAxis
public SkeletonModifier3D.RotationAxis GetJointRotationAxis(int index, int joint);Возвращает ось вращения в joint в списке суставов цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
SkeletonModifier3D.RotationAxisGetJointRotationAxisVectorVector3
public Vector3 GetJointRotationAxisVector(int index, int joint);Возвращает вектор оси вращения для указанного сустава в костной цепи. Этот вектор представляет ось, вокруг которой может вращаться сустав. Он определяется на основе оси вращения, заданной для сустава.
Если SpringBoneSimulator3D.GetJointRotationAxis равен SkeletonModifier3D.RotationAxis.All, этот метод возвращает Vector3(0, 0, 0).
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
Vector3GetJointStiffnessfloat
public float GetJointStiffness(int index, int joint);Возвращает силу жесткости в joint в списке суставов цепи костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
floatGetRadiusfloat
public float GetRadius(int index);Возвращает радиус сустава костной цепи.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
floatGetRadiusDampingCurveCurve
public Curve GetRadiusDampingCurve(int index);Возвращает кривую демпфирования радиуса сустава цепи костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
CurveGetRootBoneint
public int GetRootBone(int index);Возвращает индекс корневой кости цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
intGetRootBoneNamestring
public string GetRootBoneName(int index);Возвращает имя корневой кости цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
stringGetRotationAxisSkeletonModifier3D.RotationAxis
public SkeletonModifier3D.RotationAxis GetRotationAxis(int index);Возвращает ось вращения цепи костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
SkeletonModifier3D.RotationAxisGetRotationAxisVectorVector3
public Vector3 GetRotationAxisVector(int index);Возвращает вектор оси вращения цепочки костей. Этот вектор представляет ось, вокруг которой может вращаться цепочка костей. Он определяется на основе оси вращения, заданной для цепочки костей.
Если SpringBoneSimulator3D.GetRotationAxis равен SkeletonModifier3D.RotationAxis.All, этот метод возвращает Vector3(0, 0, 0).
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
Vector3GetSettingCountint
public int GetSettingCount();intGetStiffnessfloat
public float GetStiffness(int index);Возвращает силу жесткости костной цепи.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
floatGetStiffnessDampingCurveCurve
public Curve GetStiffnessDampingCurve(int index);Возвращает кривую демпфирования силы жесткости костной цепи.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
CurveIsConfigIndividualbool
public bool IsConfigIndividual(int index);Возвращает true, если конфигурацию можно редактировать индивидуально для каждого сочленения.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
boolIsEndBoneExtendedbool
public bool IsEndBoneExtended(int index);Возвращает true, если конечная кость удлинена и имеет хвост.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
boolResetvoid
public void Reset();Восстановляет имитирующее состояние по отношению к текущей позе кости.
Полезно не допустить, чтобы результаты моделирования стали жестокими. AnimationPlayer.Play без упадка или в рамках предыдущей SkeletonModifier3D.ModificationProcessed сигнал, если его состояние значительно изменится.
SetCenterBonevoid
public void SetCenterBone(int index, int bone);Устанавливает индекс центральной кости в костной цепи.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
bone | int | — |
SetCenterBoneNamevoid
public void SetCenterBoneName(int index, string boneName);Задает имя центральной кости в цепочке костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
boneName | string | — |
SetCenterEntityvoid
public void SetCenterEntity(int index, EntityPath entityPath);Устанавливает путь центрального узла цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
entityPath | EntityPath | — |
SetCenterFromvoid
public void SetCenterFrom(int index, SpringBoneSimulator3D.CenterFrom centerFrom);Устанавливает, откуда в цепочке костей берется центр.
Движение костей рассчитывается на основе разницы в относительном расстоянии между центром и костью в предыдущем и следующем кадрах.
Например, если родительский Skeleton3D используется в качестве центра, кости считаются не перемещенными, если Skeleton3D перемещается в мире.
В этом случае только изменение позы кости считается перемещением кости.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
centerFrom | SpringBoneSimulator3D.CenterFrom | — |
SetCollisionCountvoid
public void SetCollisionCount(int index, int count);Устанавливает количество столкновений в списке столкновений в index в настройках, когда SpringBoneSimulator3D.AreAllChildCollisionsEnabled имеет значение false.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
count | int | — |
SetCollisionPathvoid
public void SetCollisionPath(int index, int collision, EntityPath entityPath);Устанавливает путь узла SpringBoneCollision3D в collision в списке столкновений цепочки костей, когда SpringBoneSimulator3D.AreAllChildCollisionsEnabled имеет значение false.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
collision | int | — |
entityPath | EntityPath | — |
SetDragvoid
public void SetDrag(int index, float drag);Устанавливает силу сопротивления цепи костей. Чем больше значение, тем сильнее подавляется покачивание.
Значение масштабируется SpringBoneSimulator3D.SetDragDampingCurve и кэшируется в каждой настройке сустава в списке суставов.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
drag | float | — |
SetDragDampingCurvevoid
public void SetDragDampingCurve(int index, Curve curve);Устанавливает кривую затухания силы сопротивления цепи костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
curve | Curve | — |
SetEnableAllChildCollisionsvoid
public void SetEnableAllChildCollisions(int index, bool enabled);Если enabled имеет значение true, все дочерние SpringBoneCollision3D сталкиваются, а SpringBoneSimulator3D.SetExcludeCollisionPath включен как список исключений в index в настройках.
Если enabled имеет значение false, вам необходимо вручную зарегистрировать все допустимые столкновения с помощью SpringBoneSimulator3D.SetCollisionPath.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
enabled | bool | — |
SetEndBonevoid
public void SetEndBone(int index, int bone);Устанавливает индекс конечной кости в костной цепи.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
bone | int | — |
SetEndBoneDirection2 перегрузки
public void SetEndBoneDirection(int index, SkeletonModifier3D.BoneDirection boneDirection);Устанавливает направление хвоста конечной кости цепочки костей, когда SpringBoneSimulator3D.IsEndBoneExtended имеет значение true.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
boneDirection | SkeletonModifier3D.BoneDirection | — |
public void SetEndBoneDirection(int index, int boneDirection);Устанавливает направление хвоста конечной кости цепочки костей, когда SpringBoneSimulator3D.IsEndBoneExtended имеет значение true.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
boneDirection | int | — |
SetEndBoneLengthvoid
public void SetEndBoneLength(int index, float length);Устанавливает длину конечной кости цепи костей, когда SpringBoneSimulator3D.IsEndBoneExtended имеет значение true.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
length | float | — |
SetEndBoneNamevoid
public void SetEndBoneName(int index, string boneName);Задает имя конечной кости цепочки костей.
Примечание: Конечная кость должна быть корневой костью или дочерней костью корневой кости. Если они одинаковы, хвост должен быть расширен SpringBoneSimulator3D.SetExtendEndBone, чтобы покачивать кость.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
boneName | string | — |
SetExcludeCollisionCountvoid
public void SetExcludeCollisionCount(int index, int count);Устанавливает количество исключаемых столкновений в списке исключаемых столкновений в index в настройках, когда SpringBoneSimulator3D.AreAllChildCollisionsEnabled имеет значение true.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
count | int | — |
SetExcludeCollisionPathvoid
public void SetExcludeCollisionPath(int index, int collision, EntityPath entityPath);Устанавливает путь узла SpringBoneCollision3D в collision в списке исключений столкновений цепочки костей, когда SpringBoneSimulator3D.AreAllChildCollisionsEnabled имеет значение true.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
collision | int | — |
entityPath | EntityPath | — |
SetExtendEndBonevoid
public void SetExtendEndBone(int index, bool enabled);Если enabled равно true, конечная кость удлиняется, образуя хвост.
Конфигурация расширенного хвоста назначается последнему элементу в списке суставов. Другими словами, если вы установите enabled в false, конфигурация последнего элемента в списке суставов не повлияет на результат моделирования.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
enabled | bool | — |
SetExternalForcevoid
public void SetExternalForce(Vector3 force);| Имя | Тип | По умолчанию |
|---|---|---|
force | Vector3 | — |
SetGravityvoid
public void SetGravity(int index, float gravity);Устанавливает величину гравитации цепи костей. Это значение не является ускорением, а постоянной скоростью движения в SpringBoneSimulator3D.SetGravityDirection.
Если gravity не равен 0, измененная поза не вернется к исходной позе, поскольку на нее всегда влияет гравитация.
Значение масштабируется SpringBoneSimulator3D.SetGravityDampingCurve и кэшируется в каждой настройке сочленения в списке сочленений.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
gravity | float | — |
SetGravityDampingCurvevoid
public void SetGravityDampingCurve(int index, Curve curve);Устанавливает кривую затухания величины гравитации костной цепи.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
curve | Curve | — |
SetGravityDirectionvoid
public void SetGravityDirection(int index, Vector3 gravityDirection);Устанавливает направление гравитации цепи костей. Это значение внутренне нормализуется, а затем умножается на SpringBoneSimulator3D.SetGravity.
Значение кэшируется в каждой настройке сустава в списке суставов.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
gravityDirection | Vector3 | — |
SetIndividualConfigvoid
public void SetIndividualConfig(int index, bool enabled);Если enabled имеет значение true, конфигурацию можно редактировать индивидуально для каждого соединения.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
enabled | bool | — |
SetJointDragvoid
public void SetJointDrag(int index, int joint, float drag);Устанавливает силу сопротивления в joint в списке суставов цепочки костей, когда SpringBoneSimulator3D.IsConfigIndividual имеет значение true.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
drag | float | — |
SetJointGravityvoid
public void SetJointGravity(int index, int joint, float gravity);Устанавливает величину гравитации в joint в списке суставов цепочки костей, когда SpringBoneSimulator3D.IsConfigIndividual имеет значение true.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
gravity | float | — |
SetJointGravityDirectionvoid
public void SetJointGravityDirection(int index, int joint, Vector3 gravityDirection);Устанавливает направление гравитации в joint в списке суставов цепочки костей, когда SpringBoneSimulator3D.IsConfigIndividual имеет значение true.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
gravityDirection | Vector3 | — |
SetJointRadiusvoid
public void SetJointRadius(int index, int joint, float radius);Устанавливает радиус сустава в joint в списке суставов цепочки костей, когда SpringBoneSimulator3D.IsConfigIndividual имеет значение true.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
radius | float | — |
SetJointRotationAxis2 перегрузки
public void SetJointRotationAxis(int index, int joint, SkeletonModifier3D.RotationAxis axis);Устанавливает ось вращения в joint в списке суставов цепочки костей, когда SpringBoneSimulator3D.IsConfigIndividual имеет значение true.
Оси основаны на пространстве опорной позы. Если axis равен SkeletonModifier3D.RotationAxis.Custom, можно указать любую ось.
Здесь опорная поза — это поза кости непосредственно перед симуляцией.
Примечание: Ось вращения и вектор направления не должны быть коллинеарными, чтобы избежать непреднамеренного вращения, поскольку SpringBoneSimulator3D не учитывает силы скручивания.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
axis | SkeletonModifier3D.RotationAxis | — |
public void SetJointRotationAxis(int index, int joint, int axis);Устанавливает ось вращения в joint в списке суставов цепочки костей, когда SpringBoneSimulator3D.IsConfigIndividual имеет значение true.
Оси основаны на пространстве опорной позы. Если axis равен SkeletonModifier3D.RotationAxis.Custom, можно указать любую ось.
Здесь опорная поза — это поза кости непосредственно перед симуляцией.
Примечание: Ось вращения и вектор направления не должны быть коллинеарными, чтобы избежать непреднамеренного вращения, поскольку SpringBoneSimulator3D не учитывает силы скручивания.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
axis | int | — |
SetJointRotationAxisVectorvoid
public void SetJointRotationAxisVector(int index, int joint, Vector3 vector);Задает вектор оси вращения для указанного сустава в костной цепи.
Этот вектор нормализуется внутренним процессом и представляет ось, вокруг которой может вращаться костная цепь.
Если длина вектора равна 0, он считается синонимом SkeletonModifier3D.RotationAxis.All.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
vector | Vector3 | — |
SetJointStiffnessvoid
public void SetJointStiffness(int index, int joint, float stiffness);Устанавливает силу жесткости в joint в списке суставов костной цепи, когда SpringBoneSimulator3D.IsConfigIndividual имеет значение true.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
joint | int | — |
stiffness | float | — |
SetMutableBoneAxesvoid
public void SetMutableBoneAxes(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetRadiusvoid
public void SetRadius(int index, float radius);Устанавливает радиус сочленения цепочки костей. Используется для перемещения и скольжения с SpringBoneCollision3D в списке столкновений.
Значение масштабируется SpringBoneSimulator3D.SetRadiusDampingCurve и кэшируется в каждой настройке сочленения в списке сочленений.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
radius | float | — |
SetRadiusDampingCurvevoid
public void SetRadiusDampingCurve(int index, Curve curve);Устанавливает кривую демпфирования радиуса сустава костной цепи.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
curve | Curve | — |
SetRootBonevoid
public void SetRootBone(int index, int bone);Устанавливает индекс корневой кости цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
bone | int | — |
SetRootBoneNamevoid
public void SetRootBoneName(int index, string boneName);Задает имя корневой кости цепочки костей.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
boneName | string | — |
SetRotationAxis2 перегрузки
public void SetRotationAxis(int index, SkeletonModifier3D.RotationAxis axis);Задает ось вращения цепочки костей. Если задана конкретная ось, она действует как шарнирный сустав. Значение кэшируется в настройках каждого сустава в списке суставов.
Оси основаны на пространстве опорной позы. Если axis равен SkeletonModifier3D.RotationAxis.Custom, можно указать любую ось.
Здесь опорная поза — это поза кости непосредственно перед симуляцией.
Примечание: Вектор оси вращения и вектор направления не должны быть коллинеарными, чтобы избежать непреднамеренного вращения, поскольку SpringBoneSimulator3D не учитывает силы скручивания.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
axis | SkeletonModifier3D.RotationAxis | — |
public void SetRotationAxis(int index, int axis);Задает ось вращения цепочки костей. Если задана конкретная ось, она действует как шарнирный сустав. Значение кэшируется в настройках каждого сустава в списке суставов.
Оси основаны на пространстве опорной позы. Если axis равен SkeletonModifier3D.RotationAxis.Custom, можно указать любую ось.
Здесь опорная поза — это поза кости непосредственно перед симуляцией.
Примечание: Вектор оси вращения и вектор направления не должны быть коллинеарными, чтобы избежать непреднамеренного вращения, поскольку SpringBoneSimulator3D не учитывает силы скручивания.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
axis | int | — |
SetRotationAxisVectorvoid
public void SetRotationAxisVector(int index, Vector3 vector);Задает вектор оси вращения цепочки костей. Значение кэшируется в каждой настройке сустава в списке суставов.
Этот вектор нормализуется внутренним процессом и представляет ось, вокруг которой может вращаться цепочка костей.
Если длина вектора равна 0, он считается синонимом SkeletonModifier3D.RotationAxis.All.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
vector | Vector3 | — |
SetSettingCountvoid
public void SetSettingCount(int count);| Имя | Тип | По умолчанию |
|---|---|---|
count | int | — |
SetStiffnessvoid
public void SetStiffness(int index, float stiffness);Устанавливает силу жесткости цепи костей. Чем больше значение, тем быстрее она восстанавливается до исходной позы.
Если stiffness равен 0, измененная поза не вернется к исходной позе.
Значение масштабируется SpringBoneSimulator3D.SetStiffnessDampingCurve и кэшируется в каждой настройке сустава в списке суставов.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
stiffness | float | — |
SetStiffnessDampingCurvevoid
public void SetStiffnessDampingCurve(int index, Curve curve);Устанавливает кривую демпфирования силы жесткости костной цепи.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
curve | Curve | — |
SpringBoneSimulator3D.CenterFrom
| Значение | Описание |
|---|---|
Bone = 2 | Начало позы кости родителя |
Node = 1 |
|
WorldOrigin = 0 | Начало координат мира определяется как центр. |