XRFrame:fillPoses() 方法
fillPoses()
方法是 XRFrame
接口的方法,它使用 Float32Array
填充相对于给定基础空间的姿势矩阵,如果所有空间都成功,则返回 true
。
语法
js
fillPoses(spaces, baseSpace, transforms)
参数
spaces
-
要获取其姿势的
XRSpace
对象数组。 baseSpace
-
用作相对位置和方向的基础或原点的
XRSpace
对象。 transforms
-
一个
Float32Array
,它填充了相对于给定baseSpace
的姿势矩阵。
返回值
一个布尔值,指示所有空间是否都有有效的姿势。
异常
TypeError
-
如果
spaces
的长度乘以 16 大于transforms
中元素的数量,则抛出此异常。
示例
获取手的全部关节姿势
为了有效地获取每个 XRHand
的所有 25 个关节的所有姿势,可以使用 fillPoses()
方法。
js
let poses1 = new Float32Array(16 * 25);
let poses2 = new Float32Array(16 * 25);
function onXRFrame(xrFrame, renderer) {
let hand1 = xrFrame.session.inputSources[0].hand;
xrFrame.fillPoses(hand1.values(), renderer.referenceSpace, poses1);
let hand2 = xrFrame.session.inputSources[1].hand;
xrFrame.fillPoses(hand2.values(), renderer.referenceSpace, poses2);
}
规范
规范 |
---|
WebXR 手部输入模块 - 1 级 # dom-xrframe-fillposes |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。