XRHand

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

XRHandXRInputSource.hand 返回。

实例属性

size 只读 实验性

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

实例方法

XRhand 对象是一个键值对迭代器。它可以直接在 for...of 结构中使用。for (const joint of myHand) 等效于 for (const joint of myHand.entries())。但是,它不是类似映射的对象,因此您没有 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 手部输入模块 - 第 1 级
# xrhand-interface

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅