在A-Frame Vive控制器模型中未显示

时间:2018-07-19 10:57:56

标签: aframe webvr htc-vive

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

可以在场景中添加Vive控制器,并且交互事件也可以正常工作。

但是未显示Vive控制器的型号。

enter image description here

红线是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>

enter image description here

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

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

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

感谢您的帮助。

1 个答案:

答案 0 :(得分: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-controlsdaydream-controls...。参见docs
  4. 从您的屏幕截图中,SteamVR检测到单个控制器,并且您的应用程序仅包含右手控件。如果控制器被识别为左手,则不会显示。添加左右手的控件。

我建议以laser-controls example作为起点:

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