reckfellENGINE

SkeletonIK3D

Узел, используемый для поворота всех костей цепочки костей Skeleton3D таким образом, чтобы разместить конечную кость в желаемом трехмерном положении.

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

Узел, используемый для поворота всех костей цепочки костей Skeleton3D таким образом, чтобы разместить конечную кость в желаемом трехмерном положении.

SkeletonIK3D используется для вращения всех костей цепочки костей Skeleton3D таким образом, чтобы поместить конечную кость в желаемое положение в 3D. Типичный сценарий для IK в играх — поместить ноги персонажа на землю или руки персонажа на удерживаемый в данный момент объект. SkeletonIK использует FabrikInverseKinematic внутренне для решения цепочки костей и применяет результаты к свойству Skeleton3D bones_global_pose_override для всех затронутых костей в цепочке. При полном применении это перезаписывает любое преобразование костей из Animation или пользовательских поз костей, установленных пользователями. Применяемое количество можно контролировать с помощью свойства SkeletonModifier3D.Influence.

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

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

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

Свойства10

InterpolationСвойство · Устарело
# Interpolation
C#
public float Interpolation { get; set; }

Значение интерполяции для того, насколько результаты IK применяются к текущей цепочке костей скелета. Значение 1.0 полностью перезапишет все преобразования костей скелета, а значение 0.0 визуально отключит SkeletonIK.

MagnetСвойство
# Magnet
C#
public Vector3 Magnet { get; set; }

Вторая целевая позиция (первая SkeletonIK3D.Target имущество или target_node) для цепи ИК. Используйте магнитное положение (потолочная цель) для контроля за изгибом цепи ИК. Работает только в том случае, если костная цепь имеет более двух костей. Положение средней цепи будет линейно интерполировано магнитным положением.

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

Количество итерационных циклов, используемых решателем IK для получения более точных (и элегантных) результатов костной цепи.

MinDistanceСвойство
# MinDistance
C#
public float MinDistance { get; set; }

Минимальное расстояние между костью и целью. Если расстояние меньше этого значения, решатель IK останавливает дальнейшие итерации.

OverrideTipBasisСвойство
# OverrideTipBasis
C#
public bool OverrideTipBasis { get; set; }

Если true перезаписывает вращение чашечной кости с вращением SkeletonIK3D.Target (или target_node при условии определения).

RootBoneСвойство
# RootBone
C#
public StringName RootBone { get; set; }

Название текущей корневой кости, первой кости в цепочке IK.

Цель

TargetСвойство
# Target
C#
public Transform3D Target { get; set; }

Первая цель цепи ИК, в которой расположена верхняя кость, и если SkeletonIK3D.OverrideTipBasis это true, как поворачивается верхняя кость. target_node указывает на действующий узел, что вместо этого используется трансформация узла и это свойство игнорируется.

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

Целевой узел EntityPath для цепочки IK. Если доступно, вместо свойства SkeletonIK3D.Target используется текущий Transform3D узла.

TipBoneСвойство
# TipBone
C#
public StringName TipBone { get; set; }

Название текущей конной кости, последней кости в цепи IK, помещенной на SkeletonIK3D.Target Преобразование (или target_node при условии определения).

UseMagnetСвойство
# UseMagnet
C#
public bool UseMagnet { get; set; }

Если true, то указывает решателю IK учитывать вторичную цель магнита (цель полюса) при расчете костной цепи. Используйте положение магнита (цель полюса) для управления изгибом цепи IK.

Методы24

GetInterpolationfloat
# GetInterpolation
C#
public float GetInterpolation();
Возвращает float
GetMagnetPositionVector3
# GetMagnetPosition
C#
public Vector3 GetMagnetPosition();
Возвращает Vector3
GetMaxIterationsint
# GetMaxIterations
C#
public int GetMaxIterations();
Возвращает int
GetMinDistancefloat
# GetMinDistance
C#
public float GetMinDistance();
Возвращает float
GetParentSkeletonSkeleton3D
# GetParentSkeleton
C#
public Skeleton3D GetParentSkeleton();

Возвращает родительский узел Skeleton3D, который присутствовал, когда SkeletonIK вошел в дерево сцены. Возвращает null, если родительский узел не был узлом Skeleton3D, когда SkeletonIK3D вошел в дерево сцены.

Возвращает Skeleton3D
GetRootBoneStringName
# GetRootBone
C#
public StringName GetRootBone();
Возвращает StringName
GetTargetEntityEntityPath
# GetTargetEntity
C#
public EntityPath GetTargetEntity();
Возвращает EntityPath
GetTargetTransformTransform3D
# GetTargetTransform
C#
public Transform3D GetTargetTransform();
Возвращает Transform3D
GetTipBoneStringName
# GetTipBone
C#
public StringName GetTipBone();
Возвращает StringName
IsOverrideTipBasisbool
# IsOverrideTipBasis
C#
public bool IsOverrideTipBasis();
Возвращает bool
IsRunningbool
# IsRunning
C#
public bool IsRunning();

Возвращает true, если SkeletonIK применяет эффекты IK на продолжающихся кадрах к костям Skeleton3D. Возвращает false, если SkeletonIK остановлен или SkeletonIK3D.Start был использован с параметром one_time, установленным на true.

Возвращает bool
IsUsingMagnetbool
# IsUsingMagnet
C#
public bool IsUsingMagnet();
Возвращает bool
SetInterpolationvoid
# SetInterpolation
C#
public void SetInterpolation(float interpolation);
Параметры
ИмяТипПо умолчанию
interpolationfloat—
SetMagnetPositionvoid
# SetMagnetPosition
C#
public void SetMagnetPosition(Vector3 localPosition);
Параметры
ИмяТипПо умолчанию
localPositionVector3—
SetMaxIterationsvoid
# SetMaxIterations
C#
public void SetMaxIterations(int iterations);
Параметры
ИмяТипПо умолчанию
iterationsint—
SetMinDistancevoid
# SetMinDistance
C#
public void SetMinDistance(float minDistance);
Параметры
ИмяТипПо умолчанию
minDistancefloat—
SetOverrideTipBasisvoid
# SetOverrideTipBasis
C#
public void SetOverrideTipBasis(bool @override);
Параметры
ИмяТипПо умолчанию
overridebool—
SetRootBonevoid
# SetRootBone
C#
public void SetRootBone(StringName rootBone);
Параметры
ИмяТипПо умолчанию
rootBoneStringName—
SetTargetEntityvoid
# SetTargetEntity
C#
public void SetTargetEntity(EntityPath node);
Параметры
ИмяТипПо умолчанию
nodeEntityPath—
SetTargetTransformvoid
# SetTargetTransform
C#
public void SetTargetTransform(Transform3D target);
Параметры
ИмяТипПо умолчанию
targetTransform3D—
SetTipBonevoid
# SetTipBone
C#
public void SetTipBone(StringName tipBone);
Параметры
ИмяТипПо умолчанию
tipBoneStringName—
SetUseMagnetvoid
# SetUseMagnet
C#
public void SetUseMagnet(bool use);
Параметры
ИмяТипПо умолчанию
usebool—
Startvoid
# Start
C#
public void Start(bool oneTime = false);

Начинает применять эффекты IK в каждом кадре к костям Skeleton3D, но вступит в силу только со следующего кадра. Если one_time равен true, это вступит в силу немедленно, но также сбросится в следующем кадре.

Параметры
ИмяТипПо умолчанию
oneTimeboolfalse
Stopvoid
# Stop
C#
public void Stop();

Прекращает применение эффектов IK в каждом кадре к костям Skeleton3D, а также вызывает Skeleton3D.ClearBonesGlobalPoseOverride для удаления существующих переопределений для всех костей.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

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

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

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