0

我写了一个 A-Frame 0.8.2 项目。

可以在场景中添加 Vive 控制器,并且交互事件运行良好。

但没有显示 Vive 控制器的型号。

在此处输入图像描述

红线是 Vive 控制器的激光。

我尝试添加带有额外实体的模型,但它不起作用。

<a-entity id="viveControllerRight" vive-conrols="hand: right" debug_tool>
    <!-- Defining the URL inline. Not recommended but may be more comfortable. -->
    <!--<a-obj-model src="https://cdn.aframe.io/controllers/vive/vr_controller_vive.obj" mtl="https://cdn.aframe.io/controllers/vive/vr_controller_vive.mtl"></a-obj-model>-->
</a-entity>

更新:

只使用激光控制,大多数属性是默认的。

<a-entity id="leftHand" laser-controls="hand: left"></a-entity>
<a-entity id="rightHand" laser-controls="hand: right"></a-entity>

在此处输入图像描述

控制器的模型并没有真正隐藏。当光标位于光标前面时,它会覆盖光标。但它的形式没有显示。

演示:http ://webvr.virtualskillslab.de/0.8.0/ \

Github:https ://github.com/LeMueller/skills-lab-web (在开发分支中)

谢谢你的帮助。

4

1 回答 1

0

几个问题:

  1. 你有一个错字。它vive-controls不是vive-conrols.
  2. 您无需手动添加模型,它内置了vive-controls。您只需执行以下操作即可显示模型:

    <a-entity id="viveControllerRight" vive-controls="hand: right" debug_tool><a-entity>

  3. laser-controls已经代表您应用了不同的供应商特定控制。无需手动添加oculus-controls, daydream-controls... 。查看文档
  4. 从您的屏幕截图中,SteamVR 检测到单个控制器,而您的应用程序仅包含右手控件。如果控制器被识别为左手,则不会显示。为左右手添加控件。

我推荐这个laser-controls例子作为起点:

https://github.com/aframevr/aframe/blob/master/examples/test/laser-controls/index.html

于 2018-07-19T11:08:52.980 回答