XRHand

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

XRHand 接口是一个键值对迭代器(一个有序映射),其键是手部关节,值是 XRJointSpace

XRHandXRInputSource.hand 返回。

实例属性

size 只读 实验性

返回 25,即键值对迭代器的长度。

实例方法

XRHand 对象是一个键值对迭代器。可以直接在 for...of 结构中使用。for (const joint of myHand) 等同于 for (const joint of myHand.entries())。但是,它不是一个类似 Map 的对象,因此没有 clear()delete()has()set() 方法。

entries() 实验性

返回一个迭代器,其中包含每个元素的“手部关节/ XRJointSpace”对。有关更多详细信息,请参阅 Map.prototype.entries()

forEach() 实验性

为每个“手部关节/ XRJointSpace”对执行一次提供的函数。有关更多详细信息,请参阅 Map.prototype.forEach()

get() 实验性

返回给定手部关节的 XRJointSpace,如果映射中不存在该手部关节键,则返回 undefined。有关更多详细信息,请参阅 Map.prototype.get()

keys() 实验性

返回一个包含所有手部关节键的迭代器。有关更多详细信息,请参阅 Map.prototype.keys()

values() 实验性

返回一个包含所有 XRJointSpace 值的迭代器。有关更多详细信息,请参阅 Map.prototype.values()

手部关节

XRHand 对象包含以下手部关节:

Hand

手部关节 索引
手腕 0
拇指掌骨 1
拇指近节指骨 2
拇指远节指骨 3
拇指尖 4
食指掌骨 5
食指近节指骨 6
食指中节指骨 7
食指远节指骨 8
食指尖 9
中指掌骨 10
中指近节指骨 11
中指中节指骨 12
中指远节指骨 13
中指尖 14
无名指掌骨 15
无名指近节指骨 16
无名指中节指骨 17
无名指远节指骨 18
无名指尖 19
小指掌骨 20
小指近节指骨 21
小指中节指骨 22
小指远节指骨 23
小指尖 24

示例

使用 XRHand 对象

js
const wristJoint = inputSource.hand.get("wrist");
const indexFingerTipJoint = inputSource.hand.get("index-finger-tip");

for (const [joint, jointSpace] of inputSource.hand) {
  console.log(joint);
  console.log(jointSpace);
}

规范

规范
WebXR Hand Input 模块 - Level 1
# xrhand-interface

浏览器兼容性

另见