A-Frame如何同时支持多种类型的VR控制器?

How can I support multiple types of VR controllers at the same time in A-Frame?

我正在使用 A-Frame,我正在尝试弄清楚如何轻松地同时支持多种类型的控制器(Oculus Touch、HTC Vive 控制器和 Windows 混合现实控制器) ,最好是在场景中渲染控制器模型,并使用允许用户点击东西的激光。

我该怎么做?

我想出了如何做到这一点,所以这是我的解决方案。

在您的 HTML 中,您可以使用这些来创建控制器(这应该在 a-scene 元素内):

<a-entity laser-controls="hand: left" raycaster="showLine: true; objects: .clickable;"></a-entity>
<a-entity laser-controls="hand: right" raycaster="showLine: true; objects: .clickable;"></a-entity>

这些也应该与场景中的实际控制器模型一起渲染,并且每个都有一个激光笔。

这是 Oculus Touch 控制器的外观(忽略视图中的其他内容):

随着 A-Frame 支持新型耳机的出现(例如,尚不支持 Valve Index 控制器),激光控制组件应自动更新以支持它们。

有关如何在 A-Frame 场景中使用控制器的更多信息,请参阅 the docs

我还没有弄清楚如何使用激光点击环境中的按钮或物体,接下来我需要弄清楚。