Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

OpenXRHand

Deprecato: Use XRHandModifier3D instead.

Eredita: Node3D < Node < Object

Nodo che supporta il tracciamento di mani e dita in OpenXR.

Descrizione

Questo nodo abilita la funzionalità di tracciamento delle mani di OpenXR. Il nodo dovrebbe essere un nodo figlio di un nodo XROrigin3D, il tracciamento aggiornerà la sua posizione in base alla posizione dell'articolazione del palmo della mano tracciata del giocatore (il centro dell'osso metacarpale del dito medio). Questo nodo aggiorna anche lo scheletro di una mano o di un modello di avatar con skin corretta.

Se lo scheletro è una mano (una delle ossa della mano è il nodo radice dello scheletro), allora lo scheletro sarà posizionato in relazione alla posizione del palmo della mano e la mesh e lo scheletro della mano dovrebbero essere figli del nodo OpenXRHand.

Se le ossa della mano fanno parte di uno scheletro completo, allora la radice della mano manterrà la sua posizione, assumendo che un IK venga utilizzato per posizionare la mano e il braccio.

Per impostazione predefinita, le ossa delle mani dello scheletro sono riposizionate in modo da corrispondere alle dimensioni della mano tracciata. Per preservare le dimensioni delle ossa modellate, modifica bone_update per applicare solo la rotazione.

Proprietà

BoneUpdate

bone_update

0

Hands

hand

0

NodePath

hand_skeleton

NodePath("")

MotionRange

motion_range

0

SkeletonRig

skeleton_rig

0


Enumerazioni

enum Hands: 🔗

Hands HAND_LEFT = 0

Tracciando la mano sinistra del giocatore.

Hands HAND_RIGHT = 1

Tracciando la mano destra del giocatore.

Hands HAND_MAX = 2

Numero massimo di mani supportate.


enum MotionRange: 🔗

MotionRange MOTION_RANGE_UNOBSTRUCTED = 0

Quando il giocatore impugna il controller, lo scheletro della mano forma un pugno completo.

MotionRange MOTION_RANGE_CONFORM_TO_CONTROLLER = 1

Quando il giocatore impugna il controller, lo scheletro della sua mano si adatta al controller che il giocatore sta tenendo in mano.

MotionRange MOTION_RANGE_MAX = 2

Intervalli di movimento massimi supportati.


enum SkeletonRig: 🔗

SkeletonRig SKELETON_RIG_OPENXR = 0

Uno scheletro conforme a OpenXR.

SkeletonRig SKELETON_RIG_HUMANOID = 1

Uno scheletro conforme a SkeletonProfileHumanoid.

SkeletonRig SKELETON_RIG_MAX = 2

Numero massimo di mani supportate.


enum BoneUpdate: 🔗

BoneUpdate BONE_UPDATE_FULL = 0

Le ossa dello scheletro sono completamente aggiornate (sia posizione sia rotazione) per corrispondere alle ossa tracciate.

BoneUpdate BONE_UPDATE_ROTATION_ONLY = 1

Le ossa dello scheletro sono ruotate solo per allinearle con le ossa tracciate, preservandone la lunghezza.

BoneUpdate BONE_UPDATE_MAX = 2

Modalità massima supportata di aggiornamento delle ossa.


Descrizioni delle proprietà

BoneUpdate bone_update = 0 🔗

Specificare il tipo di aggiornamenti da effettuare sull'osso.


Hands hand = 0 🔗

Specifica se questo nodo traccia la mano sinistra o destra del giocatore.


NodePath hand_skeleton = NodePath("") 🔗

Imposta un nodo Skeleton3D per il quale saranno aggiornate le posizioni delle pose.


MotionRange motion_range = 0 🔗

Imposta l'intervallo di movimento (se supportato) che limita il movimento della mano.


SkeletonRig skeleton_rig = 0 🔗

Imposta il tipo di scheletro con cui hand_skeleton è conforme.