1

首先,我是 three.js 中的一个完整的菜鸟,目前正在努力检测控制器的手。我想实现这样的目标:

for (let i = 0; i < 2; ++i) {
  const controller = renderer.xr.getController(i);
  console.debug(controller.hand); // 'left', 'right' ??
  scene.add(controller);
} 

做这个的最好方式是什么?

4

1 回答 1

1

您可以使用XRInputSource.handedness. 从规范

手型属性描述了 XR 输入源与哪只手相关联(如果有)。

three.js中,输入源被映射到控制器。这意味着您可以像这样评估惯用手:

controller.addEventListener( 'connected', ( event ) => {

    console.log( event.data.handedness );

} );

three.js r116

于 2020-05-15T11:43:53.610 回答