OpenXRHand
Entity Следить за руками и пальцами в OpenXR.
Entity Следить за руками и пальцами в OpenXR.
Этот узел включает функцию отслеживания рук OpenXR. Узел должен быть дочерним узлом узла XROrigin3D, отслеживание обновит его положение в соответствии с отслеживаемым положением сустава ладони руки игрока (центр пястной кости среднего пальца). Этот узел также обновляет скелет правильно скинированной руки или модели аватара.
Если скелет — это рука (одна из костей руки — корневой узел скелета), то скелет будет размещен относительно положения ладони руки, а сетка руки и скелет должны быть дочерними узлами OpenXRHand.
Если кости руки являются частью полного скелета, то корень руки сохранит свое местоположение с предположением, что для позиционирования руки и руки используется IK.
По умолчанию кости скелета руки изменяются в соответствии с размером отслеживаемой руки. Чтобы сохранить смоделированные размеры костей, измените OpenXRHand.BoneUpdate на применение только вращения.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
OpenXRHandКонструктор
public OpenXRHand();Свойства5
BoneUpdateСвойство
public OpenXRHand.BoneUpdateEnum BoneUpdate { get; set; }Укажите тип обновлений, которые необходимо выполнить для кости.
HandСвойство
public OpenXRHand.Hands Hand { get; set; }Указывает, отслеживает ли этот узел левую или правую руку игрока.
HandSkeletonСвойство
public EntityPath HandSkeleton { get; set; }Установите узел Skeleton3D, для которого будут обновлены положения поз.
MotionRangeСвойство
public OpenXRHand.MotionRangeEnum MotionRange { get; set; }Установите диапазон движения (если поддерживается), ограничивающий движение руки.
SkeletonRigСвойство
public OpenXRHand.SkeletonRigEnum SkeletonRig { get; set; }Установите тип скелетной оснастки, с которой совместим OpenXRHand.HandSkeleton.
Методы10
GetBoneUpdateOpenXRHand.BoneUpdateEnum
public OpenXRHand.BoneUpdateEnum GetBoneUpdate();OpenXRHand.BoneUpdateEnumGetHandOpenXRHand.Hands
public OpenXRHand.Hands GetHand();OpenXRHand.HandsGetHandSkeletonEntityPath
public EntityPath GetHandSkeleton();EntityPathGetMotionRangeOpenXRHand.MotionRangeEnum
public OpenXRHand.MotionRangeEnum GetMotionRange();OpenXRHand.MotionRangeEnumGetSkeletonRigOpenXRHand.SkeletonRigEnum
public OpenXRHand.SkeletonRigEnum GetSkeletonRig();OpenXRHand.SkeletonRigEnumSetBoneUpdatevoid
public void SetBoneUpdate(OpenXRHand.BoneUpdateEnum boneUpdate);| Имя | Тип | По умолчанию |
|---|---|---|
boneUpdate | OpenXRHand.BoneUpdateEnum | — |
SetHandvoid
public void SetHand(OpenXRHand.Hands hand);| Имя | Тип | По умолчанию |
|---|---|---|
hand | OpenXRHand.Hands | — |
SetHandSkeletonvoid
public void SetHandSkeleton(EntityPath handSkeleton);| Имя | Тип | По умолчанию |
|---|---|---|
handSkeleton | EntityPath | — |
SetMotionRangevoid
public void SetMotionRange(OpenXRHand.MotionRangeEnum motionRange);| Имя | Тип | По умолчанию |
|---|---|---|
motionRange | OpenXRHand.MotionRangeEnum | — |
SetSkeletonRigvoid
public void SetSkeletonRig(OpenXRHand.SkeletonRigEnum skeletonRig);| Имя | Тип | По умолчанию |
|---|---|---|
skeletonRig | OpenXRHand.SkeletonRigEnum | — |
OpenXRHand.BoneUpdateEnum
| Значение | Описание |
|---|---|
Full = 0 | Кости скелета полностью обновлены (как положение, так и поворот) для соответствия отслеживаемым костям. |
Max = 2 | Максимально поддерживаемый режим обновления костей. |
RotationOnly = 1 | Кости скелета поворачиваются только для того, чтобы выровняться с отслеживаемыми костями, сохраняя длину костей. |
OpenXRHand.Hands
OpenXRHand.MotionRangeEnum
| Значение | Описание |
|---|---|
ConformToController = 1 | Когда игрок держит контроллер, скелет руки принимает форму контроллера, который он держит. |
Max = 2 | Максимально поддерживаемые диапазоны движения. |
Unobstructed = 0 | При захвате скелет руки игрока сформирует полный кулак. |
OpenXRHand.SkeletonRigEnum
| Значение | Описание |
|---|---|
Humanoid = 1 | Скелет, соответствующий |
Max = 2 | Максимально поддерживаемые руки. |
Openxr = 0 | Скелет, совместимый с OpenXR. |