首先,我是 three.js 中的一个完整的菜鸟,目前正在努力检测控制器的手。我想实现这样的目标:
for (let i = 0; i < 2; ++i) {
const controller = renderer.xr.getController(i);
console.debug(controller.hand); // 'left', 'right' ??
scene.add(controller);
}
做这个的最好方式是什么?
您可以使用XRInputSource.handedness
. 从规范:
手型属性描述了 XR 输入源与哪只手相关联(如果有)。
在three.js
中,输入源被映射到控制器。这意味着您可以像这样评估惯用手:
controller.addEventListener( 'connected', ( event ) => {
console.log( event.data.handedness );
} );
three.js r116