LookAtModifier3D
LookAtModifier3D вращает кость, чтобы смотреть на цель.
LookAtModifier3D вращает кость, чтобы смотреть на цель.
Этот SkeletonModifier3D вращает кость, чтобы она смотрела на цель. Это полезно для вращения головы персонажа, чтобы он смотрел на игрока, вращения башни, чтобы она смотрела на цель, или в любом другом случае, когда вы хотите заставить кость вращаться в сторону чего-то быстро и легко.
При применении нескольких LookAtModifier3D, LookAtModifier3D назначенный родительской кости, должен быть помещен выше LookAtModifier3D, назначенного дочерней кости в списке, чтобы результаты дочерней кости были правильными.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
LookAtModifier3DКонструктор
public LookAtModifier3D();Свойства31
BoneСвойство
public int Bone { get; set; }Индекс LookAtModifier3D.BoneName в родительском Skeleton3D.
BoneNameСвойство
public string BoneName { get; set; }Имя кости Skeleton3D, с которой будет работать модификация.
DurationСвойство
public float Duration { get; set; }Длительность интерполяции на основе времени. Интерполяция запускается в следующих случаях:
- При изменении целевого узла
- При перевороте оси из-за ограничения угла
Примечание: Переворот происходит, когда цель находится за пределами ограничения угла, а внутренне вычисленная вторичная ось вращения прямого вектора переворачивается. Визуально это происходит, когда цель находится за пределами ограничения угла и пересекает плоскость
LookAtModifier3D.ForwardAxisиLookAtModifier3D.PrimaryRotationAxis.
EaseTypeСвойство
public Tween.EaseType EaseType { get; set; }Тип интерполяции на основе времени. См. также Tween.EaseType.
ForwardAxisСвойство
public SkeletonModifier3D.BoneAxis ForwardAxis { get; set; }Передняя ось кости. SkeletonModifier3D Изменяет кость таким образом, чтобы эта ось была расположена в направлении target_node.
OriginBoneСвойство
public int OriginBone { get; set; }Индекс LookAtModifier3D.OriginBoneName в родительском Skeleton3D.
OriginBoneNameСвойство
public string OriginBoneName { get; set; }Если LookAtModifier3D.OriginFrom равен LookAtModifier3D.OriginFromEnum.SpecificBone, то в качестве начала координат используется указанное для него глобальное положение позы кости.
OriginExternalEntityСвойство
public EntityPath OriginExternalEntity { get; set; }Если LookAtModifier3D.OriginFrom равен LookAtModifier3D.OriginFromEnum.ExternalNode, то в качестве начала координат используется указанная для него глобальная позиция Entity3D.
OriginFromСвойство
public LookAtModifier3D.OriginFromEnum OriginFrom { get; set; }Это значение определяет, из какого источника извлекается значение для использования при расчете прямого вектора.
OriginOffsetСвойство
public Vector3 OriginOffset { get; set; }Смещение начала позы кости. Сопоставление начала по смещению полезно в случаях, когда несколько костей должны всегда смотреть в одном направлении, например, глаза.
Примечание: Это значение указывает локальное положение объекта, заданного в LookAtModifier3D.OriginFrom.
OriginSafeMarginСвойство
public float OriginSafeMargin { get; set; }Если цель движется слишком близко к началу координат, чем это значение, используется временная интерполяция, даже если цель находится в пределах угловых ограничений, чтобы не допустить слишком высокого значения угловой скорости.
PrimaryDampThresholdСвойство
public float PrimaryDampThreshold { get; set; }Порог для начала демпфирования для LookAtModifier3D.PrimaryLimitAngle. Он обеспечивает нелинейную (b-сплайн) интерполяцию, позволяя ему чувствовать большее сопротивление, чем больше он вращается к пределу края. Это полезно для моделирования пределов человеческого движения.
Если 1.0, демпфирование не выполняется. Если 0.0, демпфирование выполняется всегда.
##Первичный_ограничитель_угол
PrimaryLimitAngleСвойство
public float PrimaryLimitAngle { get; set; }Предельный угол основного вращения, когда LookAtModifier3D.SymmetryLimitation равно true, в радианах.
PrimaryNegativeDampThresholdСвойство
public float PrimaryNegativeDampThreshold { get; set; }Пороговое значение для начала демпфирования для LookAtModifier3D.PrimaryNegativeLimitAngle.
##Первичный_отрицательный_предельный_нгл
PrimaryNegativeLimitAngleСвойство
public float PrimaryNegativeLimitAngle { get; set; }Предельный угол отрицательной стороны основного вращения, когда LookAtModifier3D.SymmetryLimitation равно false, в радианах.
##Первичное_положительное_
PrimaryPositiveDampThresholdСвойство
public float PrimaryPositiveDampThreshold { get; set; }Пороговое значение для начала демпфирования для LookAtModifier3D.PrimaryPositiveLimitAngle.
##Первичное_положительное_предельное_угол
PrimaryPositiveLimitAngleСвойство
public float PrimaryPositiveLimitAngle { get; set; }Предельный угол положительной стороны основного вращения, когда LookAtModifier3D.SymmetryLimitation равно false, в радианах.
##Первичная_ротация_ ось
PrimaryRotationAxisСвойство
public Vector3.Axis PrimaryRotationAxis { get; set; }Ось первого вращения. SkeletonModifier3D работы путем совмещения вращения с углами Эйлера, с тем чтобы предотвратить вращание LookAtModifier3D.ForwardAxis.
Примечание: С момента LookAtModifier3D никогда не изменяет поворот, когда LookAtModifier3D.UseSecondaryRotation это false и LookAtModifier3D.Relative это true, поворот не фиксируется, даже если LookAtModifier3D.UseRestForLimitation это true.
RelativeСвойство
public bool Relative { get; set; }Относительный вариант. true, вращение производится по отношению к позе. false, вращение производится по отношению к остальному. LookAtModifier3DВ результате.
SecondaryDampThresholdСвойство
public float SecondaryDampThreshold { get; set; }Пороговое значение для начала демпфирования LookAtModifier3D.SecondaryLimitAngle.
SecondaryLimitAngleСвойство
public float SecondaryLimitAngle { get; set; }Предельный угол вторичного вращения, когда LookAtModifier3D.SymmetryLimitation равно true, в радианах.
SecondaryNegativeDampThresholdСвойство
public float SecondaryNegativeDampThreshold { get; set; }Пороговое значение для начала демпфирования LookAtModifier3D.SecondaryNegativeLimitAngle.
SecondaryNegativeLimitAngleСвойство
public float SecondaryNegativeLimitAngle { get; set; }Предельный угол отрицательной стороны вторичного вращения, когда LookAtModifier3D.SymmetryLimitation равно false, в радианах.
SecondaryPositiveDampThresholdСвойство
public float SecondaryPositiveDampThreshold { get; set; }Пороговое значение для начала демпфирования для LookAtModifier3D.SecondaryPositiveLimitAngle.
SecondaryPositiveLimitAngleСвойство
public float SecondaryPositiveLimitAngle { get; set; }Предельный угол положительной стороны вторичного вращения, когда LookAtModifier3D.SymmetryLimitation равно false, в радианах.
SymmetryLimitationСвойство
public bool SymmetryLimitation { get; set; }Если true, ограничения симметричны от кости.
Если falseВ данном случае исходная поза представляет собой позу кости непосредственно перед обработкой этого изменяющего устройства.
TargetEntityСвойство
public EntityPath TargetEntity { get; set; }EntityPath к узлу, который является целью для модификации Посмотри. Этот узел — то, к чему модификация будет поворачивать кость.
TransitionTypeСвойство
public Tween.TransitionType TransitionType { get; set; }Тип перехода временной интерполяции. См. также Tween.TransitionType.
UseAngleLimitationСвойство
public bool UseAngleLimitation { get; set; }Если true, ограничивается величина вращения. Например, это помогает предотвратить вращение шеи персонажа на 360 градусов.
Примечание: Как и в случае с AnimationTree, предоставляется интерполяция, которая отдает предпочтение Skeleton3D.GetBoneRest или Skeleton3D.GetBonePose в зависимости от параметра LookAtModifier3D.Relative. Это означает, что в некоторых случаях интерполяция не выбирает кратчайший путь.
Примечание: Некоторые значения для LookAtModifier3D.TransitionType (такие как Tween.TransitionType.Back, Tween.TransitionType.Elastic и Tween.TransitionType.Spring) могут превышать ограничения. Если интерполяция происходит при превышении ограничений, результат может не соответствовать положению кости.
UseRestForLimitationСвойство
public bool UseRestForLimitation { get; set; }Если true, ограничение угла и оси вращения применяются на основе Skeleton3D.GetBoneRest.
Если falseЗдесь исходная поза представляет собой позу кости непосредственно перед обработкой этого изменяющего устройства.
Примечание: Это ограничение применяется к вращению, рассчитанному этим модификатором. Если исходная поза поворачивается вокруг одной и той же оси, то ограничение действует так, как если бы оно также ограничивало вращение исходной позы. Вращение, которое этот изменяющий не изменяется, например поворот, не ограничивается.
UseSecondaryRotationСвойство
public bool UseSecondaryRotation { get; set; }Если true, обеспечивает вращение по двум осям.
Методы65
GetBoneint
public int GetBone();intGetBoneNamestring
public string GetBoneName();stringGetDurationfloat
public float GetDuration();floatGetEaseTypeTween.EaseType
public Tween.EaseType GetEaseType();Tween.EaseTypeGetForwardAxisSkeletonModifier3D.BoneAxis
public SkeletonModifier3D.BoneAxis GetForwardAxis();SkeletonModifier3D.BoneAxisGetInterpolationRemainingfloat
public float GetInterpolationRemaining();Возвращает оставшиеся секунды временной интерполяции.
floatGetOriginBoneint
public int GetOriginBone();intGetOriginBoneNamestring
public string GetOriginBoneName();stringGetOriginExternalEntityEntityPath
public EntityPath GetOriginExternalEntity();EntityPathGetOriginFromLookAtModifier3D.OriginFromEnum
public LookAtModifier3D.OriginFromEnum GetOriginFrom();LookAtModifier3D.OriginFromEnumGetOriginOffsetVector3
public Vector3 GetOriginOffset();Vector3GetOriginSafeMarginfloat
public float GetOriginSafeMargin();floatGetPrimaryDampThresholdfloat
public float GetPrimaryDampThreshold();floatGetPrimaryLimitAnglefloat
public float GetPrimaryLimitAngle();floatGetPrimaryNegativeDampThresholdfloat
public float GetPrimaryNegativeDampThreshold();floatGetPrimaryNegativeLimitAnglefloat
public float GetPrimaryNegativeLimitAngle();floatGetPrimaryPositiveDampThresholdfloat
public float GetPrimaryPositiveDampThreshold();floatGetPrimaryPositiveLimitAnglefloat
public float GetPrimaryPositiveLimitAngle();floatGetPrimaryRotationAxisVector3.Axis
public Vector3.Axis GetPrimaryRotationAxis();Vector3.AxisGetSecondaryDampThresholdfloat
public float GetSecondaryDampThreshold();floatGetSecondaryLimitAnglefloat
public float GetSecondaryLimitAngle();floatGetSecondaryNegativeDampThresholdfloat
public float GetSecondaryNegativeDampThreshold();floatGetSecondaryNegativeLimitAnglefloat
public float GetSecondaryNegativeLimitAngle();floatGetSecondaryPositiveDampThresholdfloat
public float GetSecondaryPositiveDampThreshold();floatGetSecondaryPositiveLimitAnglefloat
public float GetSecondaryPositiveLimitAngle();floatGetTargetEntityEntityPath
public EntityPath GetTargetEntity();EntityPathGetTransitionTypeTween.TransitionType
public Tween.TransitionType GetTransitionType();Tween.TransitionTypeIsInterpolatingbool
public bool IsInterpolating();Returns (Возврат) true при включении интерполяции по времени. false, это эквивалентно LookAtModifier3D.GetInterpolationRemaining Возвращение 0.0.
Это полезно для определения того, а LookAtModifier3D можно безопасно удалить.
boolIsLimitationSymmetrybool
public bool IsLimitationSymmetry();boolIsRelativebool
public bool IsRelative();boolIsTargetWithinLimitationbool
public bool IsTargetWithinLimitation();Возвращается ли цель в пределах угловых ограничений. target_node когда цель выходит за рамки угла.
Примечание: Значение обновляется после SkeletonModifier3D._ProcessModificationДля правильного извлечения этого значения мы рекомендуем использовать сигнал SkeletonModifier3D.ModificationProcessed.
boolIsUsingAngleLimitationbool
public bool IsUsingAngleLimitation();boolIsUsingRestForLimitationbool
public bool IsUsingRestForLimitation();boolIsUsingSecondaryRotationbool
public bool IsUsingSecondaryRotation();boolSetBonevoid
public void SetBone(int bone);| Имя | Тип | По умолчанию |
|---|---|---|
bone | int | — |
SetBoneNamevoid
public void SetBoneName(string boneName);| Имя | Тип | По умолчанию |
|---|---|---|
boneName | string | — |
SetDurationvoid
public void SetDuration(float duration);| Имя | Тип | По умолчанию |
|---|---|---|
duration | float | — |
SetEaseTypevoid
public void SetEaseType(Tween.EaseType easeType);| Имя | Тип | По умолчанию |
|---|---|---|
easeType | Tween.EaseType | — |
SetForwardAxisvoid
public void SetForwardAxis(SkeletonModifier3D.BoneAxis forwardAxis);| Имя | Тип | По умолчанию |
|---|---|---|
forwardAxis | SkeletonModifier3D.BoneAxis | — |
SetOriginBonevoid
public void SetOriginBone(int bone);| Имя | Тип | По умолчанию |
|---|---|---|
bone | int | — |
SetOriginBoneNamevoid
public void SetOriginBoneName(string boneName);| Имя | Тип | По умолчанию |
|---|---|---|
boneName | string | — |
SetOriginExternalEntityvoid
public void SetOriginExternalEntity(EntityPath externalNode);| Имя | Тип | По умолчанию |
|---|---|---|
externalNode | EntityPath | — |
SetOriginFromvoid
public void SetOriginFrom(LookAtModifier3D.OriginFromEnum originFrom);| Имя | Тип | По умолчанию |
|---|---|---|
originFrom | LookAtModifier3D.OriginFromEnum | — |
SetOriginOffsetvoid
public void SetOriginOffset(Vector3 offset);| Имя | Тип | По умолчанию |
|---|---|---|
offset | Vector3 | — |
SetOriginSafeMarginvoid
public void SetOriginSafeMargin(float margin);| Имя | Тип | По умолчанию |
|---|---|---|
margin | float | — |
SetPrimaryDampThresholdvoid
public void SetPrimaryDampThreshold(float power);| Имя | Тип | По умолчанию |
|---|---|---|
power | float | — |
SetPrimaryLimitAnglevoid
public void SetPrimaryLimitAngle(float angle);| Имя | Тип | По умолчанию |
|---|---|---|
angle | float | — |
SetPrimaryNegativeDampThresholdvoid
public void SetPrimaryNegativeDampThreshold(float power);| Имя | Тип | По умолчанию |
|---|---|---|
power | float | — |
SetPrimaryNegativeLimitAnglevoid
public void SetPrimaryNegativeLimitAngle(float angle);| Имя | Тип | По умолчанию |
|---|---|---|
angle | float | — |
SetPrimaryPositiveDampThresholdvoid
public void SetPrimaryPositiveDampThreshold(float power);| Имя | Тип | По умолчанию |
|---|---|---|
power | float | — |
SetPrimaryPositiveLimitAnglevoid
public void SetPrimaryPositiveLimitAngle(float angle);| Имя | Тип | По умолчанию |
|---|---|---|
angle | float | — |
SetPrimaryRotationAxisvoid
public void SetPrimaryRotationAxis(Vector3.Axis axis);| Имя | Тип | По умолчанию |
|---|---|---|
axis | Vector3.Axis | — |
SetRelativevoid
public void SetRelative(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetSecondaryDampThresholdvoid
public void SetSecondaryDampThreshold(float power);| Имя | Тип | По умолчанию |
|---|---|---|
power | float | — |
SetSecondaryLimitAnglevoid
public void SetSecondaryLimitAngle(float angle);| Имя | Тип | По умолчанию |
|---|---|---|
angle | float | — |
SetSecondaryNegativeDampThresholdvoid
public void SetSecondaryNegativeDampThreshold(float power);| Имя | Тип | По умолчанию |
|---|---|---|
power | float | — |
SetSecondaryNegativeLimitAnglevoid
public void SetSecondaryNegativeLimitAngle(float angle);| Имя | Тип | По умолчанию |
|---|---|---|
angle | float | — |
SetSecondaryPositiveDampThresholdvoid
public void SetSecondaryPositiveDampThreshold(float power);| Имя | Тип | По умолчанию |
|---|---|---|
power | float | — |
SetSecondaryPositiveLimitAnglevoid
public void SetSecondaryPositiveLimitAngle(float angle);| Имя | Тип | По умолчанию |
|---|---|---|
angle | float | — |
SetSymmetryLimitationvoid
public void SetSymmetryLimitation(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetTargetEntityvoid
public void SetTargetEntity(EntityPath targetEntity);| Имя | Тип | По умолчанию |
|---|---|---|
targetEntity | EntityPath | — |
SetTransitionTypevoid
public void SetTransitionType(Tween.TransitionType transitionType);| Имя | Тип | По умолчанию |
|---|---|---|
transitionType | Tween.TransitionType | — |
SetUseAngleLimitationvoid
public void SetUseAngleLimitation(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetUseRestForLimitationvoid
public void SetUseRestForLimitation(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetUseSecondaryRotationvoid
public void SetUseSecondaryRotation(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
LookAtModifier3D.OriginFromEnum
| Значение | Описание |
|---|---|
ExternalNode = 2 | Положение в мире |
Self = 0 | В качестве исходного положения используется положение покоя кости, указанное в |
SpecificBone = 1 | Глобальная позиция позы кости, указанная в |