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.
Checking the stable version of the documentation...
OpenXRHand
Obsolète : Use XRHandModifier3D instead.
Hérite de : Node3D < Node < Object
Nœud supportant le suivi des mains et des doigts dans OpenXR.
Description
Ce nœud permet la fonctionnalité de suivi des mains d'OpenXR. Le nœud devrait être un nœud enfant d'un nœud XROrigin3D, le suivi mettra à jour sa position à l'emplacement de l'articulation de la paume de la main suivie du joueur (le centre de l'os métacarpien du majeur). Ce nœud met également à jour le squelette d'une main ou d'un modèle d'avatar correctement skinné.
Si le squelette est une main (l'un des os de la main est le nœud racine du squelette), alors le squelette sera placé par rapport à l'emplacement de la paume de main et le maillage de la main et le squelette devraient être enfants du nœuds OpenXRHand.
Si les os de la main font partie d'un squelette complet, alors la racine de la main gardera son emplacement avec l'hypothèse que l'IK (Inverse Kinematics, en fr : Cinématique inverse) est utilisée pour positionner la main et le bras.
Par défaut, les os de la main du squelette sont repositionnés pour correspondre à la taille de la main suivie. Pour préserver la taille des os modélisés, changez bone_update pour appliquer uniquement la rotation.
Propriétés
|
||
|
||
|
||
|
||
|
Énumérations
enum Hands: 🔗
Hands HAND_LEFT = 0
Suit la main gauche du joueur.
Hands HAND_RIGHT = 1
Suit la main droite du joueur.
Hands HAND_MAX = 2
Nombre maximum de mains supportées.
enum MotionRange: 🔗
MotionRange MOTION_RANGE_UNOBSTRUCTED = 0
When player grips, hand skeleton will form a full fist.
MotionRange MOTION_RANGE_CONFORM_TO_CONTROLLER = 1
When player grips, hand skeleton conforms to the controller the player is holding.
MotionRange MOTION_RANGE_MAX = 2
Plages de mouvement maximales supportées.
enum SkeletonRig: 🔗
SkeletonRig SKELETON_RIG_OPENXR = 0
Un squelette compatible OpenXR.
SkeletonRig SKELETON_RIG_HUMANOID = 1
Un squelette compatible avec SkeletonProfileHumanoid.
SkeletonRig SKELETON_RIG_MAX = 2
Nombre maximum de mains supportées.
enum BoneUpdate: 🔗
BoneUpdate BONE_UPDATE_FULL = 0
Les os du squelette sont entièrement mis à jour (à la fois en position et en rotation) pour correspondre aux os suivis.
BoneUpdate BONE_UPDATE_ROTATION_ONLY = 1
Les os du squelette sont seulement pivotés pour s'aligner avec les os suivis, préservant la longueur des os.
BoneUpdate BONE_UPDATE_MAX = 2
Mode maximum de mise à jour des os supportés.
Descriptions des propriétés
BoneUpdate bone_update = 0 🔗
void set_bone_update(value: BoneUpdate)
BoneUpdate get_bone_update()
Spécifie le type de mises à jour à effectuer sur l'os.
Spécifie si ce nœud suit la main gauche ou la main droite du joueur.
NodePath hand_skeleton = NodePath("") 🔗
Définit un nœud Skeleton3D pour lequel les positions de pose seront mises à jour.
MotionRange motion_range = 0 🔗
void set_motion_range(value: MotionRange)
MotionRange get_motion_range()
Définit la plage de mouvement (si supportée) limitant le mouvement de la main.
SkeletonRig skeleton_rig = 0 🔗
void set_skeleton_rig(value: SkeletonRig)
SkeletonRig get_skeleton_rig()
Définit le type de rig de squelette avec lequel le squelette de main hand_skeleton est compatible.