reckfellENGINE

LookAtModifier3D

LookAtModifier3D вращает кость, чтобы смотреть на цель.

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

LookAtModifier3D вращает кость, чтобы смотреть на цель.

Этот SkeletonModifier3D вращает кость, чтобы она смотрела на цель. Это полезно для вращения головы персонажа, чтобы он смотрел на игрока, вращения башни, чтобы она смотрела на цель, или в любом другом случае, когда вы хотите заставить кость вращаться в сторону чего-то быстро и легко. При применении нескольких LookAtModifier3D, LookAtModifier3D назначенный родительской кости, должен быть помещен выше LookAtModifier3D, назначенного дочерней кости в списке, чтобы результаты дочерней кости были правильными.

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

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

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

Свойства31

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

Индекс LookAtModifier3D.BoneName в родительском Skeleton3D.

BoneNameСвойство
# BoneName
C#
public string BoneName { get; set; }

Имя кости Skeleton3D, с которой будет работать модификация.

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

Длительность интерполяции на основе времени. Интерполяция запускается в следующих случаях:

  • При изменении целевого узла
  • При перевороте оси из-за ограничения угла Примечание: Переворот происходит, когда цель находится за пределами ограничения угла, а внутренне вычисленная вторичная ось вращения прямого вектора переворачивается. Визуально это происходит, когда цель находится за пределами ограничения угла и пересекает плоскость LookAtModifier3D.ForwardAxis и LookAtModifier3D.PrimaryRotationAxis.
EaseTypeСвойство
# EaseType
C#
public Tween.EaseType EaseType { get; set; }

Тип интерполяции на основе времени. См. также Tween.EaseType.

ForwardAxisСвойство
# ForwardAxis
C#
public SkeletonModifier3D.BoneAxis ForwardAxis { get; set; }

Передняя ось кости. SkeletonModifier3D Изменяет кость таким образом, чтобы эта ось была расположена в направлении target_node.

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

Индекс LookAtModifier3D.OriginBoneName в родительском Skeleton3D.

OriginBoneNameСвойство
# OriginBoneName
C#
public string OriginBoneName { get; set; }

Если LookAtModifier3D.OriginFrom равен LookAtModifier3D.OriginFromEnum.SpecificBone, то в качестве начала координат используется указанное для него глобальное положение позы кости.

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

Если LookAtModifier3D.OriginFrom равен LookAtModifier3D.OriginFromEnum.ExternalNode, то в качестве начала координат используется указанная для него глобальная позиция Entity3D.

OriginFromСвойство
# OriginFrom
C#
public LookAtModifier3D.OriginFromEnum OriginFrom { get; set; }

Это значение определяет, из какого источника извлекается значение для использования при расчете прямого вектора.

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

Смещение начала позы кости. Сопоставление начала по смещению полезно в случаях, когда несколько костей должны всегда смотреть в одном направлении, например, глаза. Примечание: Это значение указывает локальное положение объекта, заданного в LookAtModifier3D.OriginFrom.

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

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

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

Порог для начала демпфирования для LookAtModifier3D.PrimaryLimitAngle. Он обеспечивает нелинейную (b-сплайн) интерполяцию, позволяя ему чувствовать большее сопротивление, чем больше он вращается к пределу края. Это полезно для моделирования пределов человеческого движения. Если 1.0, демпфирование не выполняется. Если 0.0, демпфирование выполняется всегда.

##Первичный_ограничитель_угол

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

Предельный угол основного вращения, когда LookAtModifier3D.SymmetryLimitation равно true, в радианах.

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

Пороговое значение для начала демпфирования для LookAtModifier3D.PrimaryNegativeLimitAngle.

##Первичный_отрицательный_предельный_нгл

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

Предельный угол отрицательной стороны основного вращения, когда LookAtModifier3D.SymmetryLimitation равно false, в радианах.

##Первичное_положительное_

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

Пороговое значение для начала демпфирования для LookAtModifier3D.PrimaryPositiveLimitAngle.

##Первичное_положительное_предельное_угол

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

Предельный угол положительной стороны основного вращения, когда LookAtModifier3D.SymmetryLimitation равно false, в радианах.

##Первичная_ротация_ ось

PrimaryRotationAxisСвойство
# PrimaryRotationAxis
C#
public Vector3.Axis PrimaryRotationAxis { get; set; }

Ось первого вращения. SkeletonModifier3D работы путем совмещения вращения с углами Эйлера, с тем чтобы предотвратить вращание LookAtModifier3D.ForwardAxis. Примечание: С момента LookAtModifier3D никогда не изменяет поворот, когда LookAtModifier3D.UseSecondaryRotation это false и LookAtModifier3D.Relative это true, поворот не фиксируется, даже если LookAtModifier3D.UseRestForLimitation это true.

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

Относительный вариант. true, вращение производится по отношению к позе. false, вращение производится по отношению к остальному. LookAtModifier3DВ результате.

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

Пороговое значение для начала демпфирования LookAtModifier3D.SecondaryLimitAngle.

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

Предельный угол вторичного вращения, когда LookAtModifier3D.SymmetryLimitation равно true, в радианах.

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

Пороговое значение для начала демпфирования LookAtModifier3D.SecondaryNegativeLimitAngle.

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

Предельный угол отрицательной стороны вторичного вращения, когда LookAtModifier3D.SymmetryLimitation равно false, в радианах.

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

Пороговое значение для начала демпфирования для LookAtModifier3D.SecondaryPositiveLimitAngle.

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

Предельный угол положительной стороны вторичного вращения, когда LookAtModifier3D.SymmetryLimitation равно false, в радианах.

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

Если true, ограничения симметричны от кости. Если falseВ данном случае исходная поза представляет собой позу кости непосредственно перед обработкой этого изменяющего устройства.

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

EntityPath к узлу, который является целью для модификации Посмотри. Этот узел — то, к чему модификация будет поворачивать кость.

TransitionTypeСвойство
# TransitionType
C#
public Tween.TransitionType TransitionType { get; set; }

Тип перехода временной интерполяции. См. также Tween.TransitionType.

UseAngleLimitationСвойство
# UseAngleLimitation
C#
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Свойство
# UseRestForLimitation
C#
public bool UseRestForLimitation { get; set; }

Если true, ограничение угла и оси вращения применяются на основе Skeleton3D.GetBoneRest. Если falseЗдесь исходная поза представляет собой позу кости непосредственно перед обработкой этого изменяющего устройства. Примечание: Это ограничение применяется к вращению, рассчитанному этим модификатором. Если исходная поза поворачивается вокруг одной и той же оси, то ограничение действует так, как если бы оно также ограничивало вращение исходной позы. Вращение, которое этот изменяющий не изменяется, например поворот, не ограничивается.

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

Если true, обеспечивает вращение по двум осям.

Методы65

GetBoneint
# GetBone
C#
public int GetBone();
Возвращает int
GetBoneNamestring
# GetBoneName
C#
public string GetBoneName();
Возвращает string
GetDurationfloat
# GetDuration
C#
public float GetDuration();
Возвращает float
GetEaseTypeTween.EaseType
# GetEaseType
C#
public Tween.EaseType GetEaseType();
Возвращает Tween.EaseType
GetForwardAxisSkeletonModifier3D.BoneAxis
# GetForwardAxis
C#
public SkeletonModifier3D.BoneAxis GetForwardAxis();
Возвращает SkeletonModifier3D.BoneAxis
GetInterpolationRemainingfloat
# GetInterpolationRemaining
C#
public float GetInterpolationRemaining();

Возвращает оставшиеся секунды временной интерполяции.

Возвращает float
GetOriginBoneint
# GetOriginBone
C#
public int GetOriginBone();
Возвращает int
GetOriginBoneNamestring
# GetOriginBoneName
C#
public string GetOriginBoneName();
Возвращает string
GetOriginExternalEntityEntityPath
# GetOriginExternalEntity
C#
public EntityPath GetOriginExternalEntity();
Возвращает EntityPath
GetOriginFromLookAtModifier3D.OriginFromEnum
# GetOriginFrom
C#
public LookAtModifier3D.OriginFromEnum GetOriginFrom();
Возвращает LookAtModifier3D.OriginFromEnum
GetOriginOffsetVector3
# GetOriginOffset
C#
public Vector3 GetOriginOffset();
Возвращает Vector3
GetOriginSafeMarginfloat
# GetOriginSafeMargin
C#
public float GetOriginSafeMargin();
Возвращает float
GetPrimaryDampThresholdfloat
# GetPrimaryDampThreshold
C#
public float GetPrimaryDampThreshold();
Возвращает float
GetPrimaryLimitAnglefloat
# GetPrimaryLimitAngle
C#
public float GetPrimaryLimitAngle();
Возвращает float
GetPrimaryNegativeDampThresholdfloat
# GetPrimaryNegativeDampThreshold
C#
public float GetPrimaryNegativeDampThreshold();
Возвращает float
GetPrimaryNegativeLimitAnglefloat
# GetPrimaryNegativeLimitAngle
C#
public float GetPrimaryNegativeLimitAngle();
Возвращает float
GetPrimaryPositiveDampThresholdfloat
# GetPrimaryPositiveDampThreshold
C#
public float GetPrimaryPositiveDampThreshold();
Возвращает float
GetPrimaryPositiveLimitAnglefloat
# GetPrimaryPositiveLimitAngle
C#
public float GetPrimaryPositiveLimitAngle();
Возвращает float
GetPrimaryRotationAxisVector3.Axis
# GetPrimaryRotationAxis
C#
public Vector3.Axis GetPrimaryRotationAxis();
Возвращает Vector3.Axis
GetSecondaryDampThresholdfloat
# GetSecondaryDampThreshold
C#
public float GetSecondaryDampThreshold();
Возвращает float
GetSecondaryLimitAnglefloat
# GetSecondaryLimitAngle
C#
public float GetSecondaryLimitAngle();
Возвращает float
GetSecondaryNegativeDampThresholdfloat
# GetSecondaryNegativeDampThreshold
C#
public float GetSecondaryNegativeDampThreshold();
Возвращает float
GetSecondaryNegativeLimitAnglefloat
# GetSecondaryNegativeLimitAngle
C#
public float GetSecondaryNegativeLimitAngle();
Возвращает float
GetSecondaryPositiveDampThresholdfloat
# GetSecondaryPositiveDampThreshold
C#
public float GetSecondaryPositiveDampThreshold();
Возвращает float
GetSecondaryPositiveLimitAnglefloat
# GetSecondaryPositiveLimitAngle
C#
public float GetSecondaryPositiveLimitAngle();
Возвращает float
GetTargetEntityEntityPath
# GetTargetEntity
C#
public EntityPath GetTargetEntity();
Возвращает EntityPath
GetTransitionTypeTween.TransitionType
# GetTransitionType
C#
public Tween.TransitionType GetTransitionType();
Возвращает Tween.TransitionType
IsInterpolatingbool
# IsInterpolating
C#
public bool IsInterpolating();

Returns (Возврат) true при включении интерполяции по времени. false, это эквивалентно LookAtModifier3D.GetInterpolationRemaining Возвращение 0.0. Это полезно для определения того, а LookAtModifier3D можно безопасно удалить.

Возвращает bool
IsLimitationSymmetrybool
# IsLimitationSymmetry
C#
public bool IsLimitationSymmetry();
Возвращает bool
IsRelativebool
# IsRelative
C#
public bool IsRelative();
Возвращает bool
IsTargetWithinLimitationbool
# IsTargetWithinLimitation
C#
public bool IsTargetWithinLimitation();

Возвращается ли цель в пределах угловых ограничений. target_node когда цель выходит за рамки угла. Примечание: Значение обновляется после SkeletonModifier3D._ProcessModificationДля правильного извлечения этого значения мы рекомендуем использовать сигнал SkeletonModifier3D.ModificationProcessed.

Возвращает bool
IsUsingAngleLimitationbool
# IsUsingAngleLimitation
C#
public bool IsUsingAngleLimitation();
Возвращает bool
IsUsingRestForLimitationbool
# IsUsingRestForLimitation
C#
public bool IsUsingRestForLimitation();
Возвращает bool
IsUsingSecondaryRotationbool
# IsUsingSecondaryRotation
C#
public bool IsUsingSecondaryRotation();
Возвращает bool
SetBonevoid
# SetBone
C#
public void SetBone(int bone);
Параметры
ИмяТипПо умолчанию
boneint—
SetBoneNamevoid
# SetBoneName
C#
public void SetBoneName(string boneName);
Параметры
ИмяТипПо умолчанию
boneNamestring—
SetDurationvoid
# SetDuration
C#
public void SetDuration(float duration);
Параметры
ИмяТипПо умолчанию
durationfloat—
SetEaseTypevoid
# SetEaseType
C#
public void SetEaseType(Tween.EaseType easeType);
Параметры
ИмяТипПо умолчанию
easeTypeTween.EaseType—
SetForwardAxisvoid
# SetForwardAxis
C#
public void SetForwardAxis(SkeletonModifier3D.BoneAxis forwardAxis);
Параметры
ИмяТипПо умолчанию
forwardAxisSkeletonModifier3D.BoneAxis—
SetOriginBonevoid
# SetOriginBone
C#
public void SetOriginBone(int bone);
Параметры
ИмяТипПо умолчанию
boneint—
SetOriginBoneNamevoid
# SetOriginBoneName
C#
public void SetOriginBoneName(string boneName);
Параметры
ИмяТипПо умолчанию
boneNamestring—
SetOriginExternalEntityvoid
# SetOriginExternalEntity
C#
public void SetOriginExternalEntity(EntityPath externalNode);
Параметры
ИмяТипПо умолчанию
externalNodeEntityPath—
SetOriginFromvoid
# SetOriginFrom
C#
public void SetOriginFrom(LookAtModifier3D.OriginFromEnum originFrom);
Параметры
ИмяТипПо умолчанию
originFromLookAtModifier3D.OriginFromEnum—
SetOriginOffsetvoid
# SetOriginOffset
C#
public void SetOriginOffset(Vector3 offset);
Параметры
ИмяТипПо умолчанию
offsetVector3—
SetOriginSafeMarginvoid
# SetOriginSafeMargin
C#
public void SetOriginSafeMargin(float margin);
Параметры
ИмяТипПо умолчанию
marginfloat—
SetPrimaryDampThresholdvoid
# SetPrimaryDampThreshold
C#
public void SetPrimaryDampThreshold(float power);
Параметры
ИмяТипПо умолчанию
powerfloat—
SetPrimaryLimitAnglevoid
# SetPrimaryLimitAngle
C#
public void SetPrimaryLimitAngle(float angle);
Параметры
ИмяТипПо умолчанию
anglefloat—
SetPrimaryNegativeDampThresholdvoid
# SetPrimaryNegativeDampThreshold
C#
public void SetPrimaryNegativeDampThreshold(float power);
Параметры
ИмяТипПо умолчанию
powerfloat—
SetPrimaryNegativeLimitAnglevoid
# SetPrimaryNegativeLimitAngle
C#
public void SetPrimaryNegativeLimitAngle(float angle);
Параметры
ИмяТипПо умолчанию
anglefloat—
SetPrimaryPositiveDampThresholdvoid
# SetPrimaryPositiveDampThreshold
C#
public void SetPrimaryPositiveDampThreshold(float power);
Параметры
ИмяТипПо умолчанию
powerfloat—
SetPrimaryPositiveLimitAnglevoid
# SetPrimaryPositiveLimitAngle
C#
public void SetPrimaryPositiveLimitAngle(float angle);
Параметры
ИмяТипПо умолчанию
anglefloat—
SetPrimaryRotationAxisvoid
# SetPrimaryRotationAxis
C#
public void SetPrimaryRotationAxis(Vector3.Axis axis);
Параметры
ИмяТипПо умолчанию
axisVector3.Axis—
SetRelativevoid
# SetRelative
C#
public void SetRelative(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetSecondaryDampThresholdvoid
# SetSecondaryDampThreshold
C#
public void SetSecondaryDampThreshold(float power);
Параметры
ИмяТипПо умолчанию
powerfloat—
SetSecondaryLimitAnglevoid
# SetSecondaryLimitAngle
C#
public void SetSecondaryLimitAngle(float angle);
Параметры
ИмяТипПо умолчанию
anglefloat—
SetSecondaryNegativeDampThresholdvoid
# SetSecondaryNegativeDampThreshold
C#
public void SetSecondaryNegativeDampThreshold(float power);
Параметры
ИмяТипПо умолчанию
powerfloat—
SetSecondaryNegativeLimitAnglevoid
# SetSecondaryNegativeLimitAngle
C#
public void SetSecondaryNegativeLimitAngle(float angle);
Параметры
ИмяТипПо умолчанию
anglefloat—
SetSecondaryPositiveDampThresholdvoid
# SetSecondaryPositiveDampThreshold
C#
public void SetSecondaryPositiveDampThreshold(float power);
Параметры
ИмяТипПо умолчанию
powerfloat—
SetSecondaryPositiveLimitAnglevoid
# SetSecondaryPositiveLimitAngle
C#
public void SetSecondaryPositiveLimitAngle(float angle);
Параметры
ИмяТипПо умолчанию
anglefloat—
SetSymmetryLimitationvoid
# SetSymmetryLimitation
C#
public void SetSymmetryLimitation(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetTargetEntityvoid
# SetTargetEntity
C#
public void SetTargetEntity(EntityPath targetEntity);
Параметры
ИмяТипПо умолчанию
targetEntityEntityPath—
SetTransitionTypevoid
# SetTransitionType
C#
public void SetTransitionType(Tween.TransitionType transitionType);
Параметры
ИмяТипПо умолчанию
transitionTypeTween.TransitionType—
SetUseAngleLimitationvoid
# SetUseAngleLimitation
C#
public void SetUseAngleLimitation(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetUseRestForLimitationvoid
# SetUseRestForLimitation
C#
public void SetUseRestForLimitation(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetUseSecondaryRotationvoid
# SetUseSecondaryRotation
C#
public void SetUseSecondaryRotation(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—

LookAtModifier3D.OriginFromEnum

ЗначениеОписание
ExternalNode = 2

Положение в мире Entity3D указано в origin_external_node используется в качестве происхождения. Примечание: То же, что и LookAtModifier3D.OriginFromEnum.SpecificBoneпри указании BoneAttachment3D при назначении детской кости полученный результат и направление не совпадают.

Self = 0

В качестве исходного положения используется положение покоя кости, указанное в LookAtModifier3D.Bone.

SpecificBone = 1

Глобальная позиция позы кости, указанная в LookAtModifier3D.OriginBone, используется в качестве начала координат. Примечание: Рекомендуется выбирать только родительскую кость, если вы не знакомы с процессом обработки костей. Указанная поза кости во время обработки LookAtModifier3D используется в качестве ссылки. Другими словами, если вы указываете дочернюю кость, а LookAtModifier3D заставляет дочернюю кость двигаться, визуализированный результат и направление не будут совпадать.

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

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

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

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