2017-04-17 64 views
1

可以说我有一个圆柱体模型,我加载到我的webvr场景中。我怎样才能使物体坚实?即用户(摄像机视图)不能在对象内取任何位置,也不能在对象内移动。我怎样才能做到这一点?防止相机通过'相框对象'

<a-scene> 
    <a-assets> 
    <a-asset-item id="cube-obj" src="cube.obj"></a-asset-item> 
    </a-assets> 
    <a-entity id="cameraWrapper" position="0 2 10" rotation="0 0 0"> 
    <a-camera near="0.1" user-height="0" id="camera" listener></a-camera> 
    </a-entity> 
    <a-entity obj-model="obj: #cube-obj; mtl: #cube-mtl" scale="1 1 1" rotation="-90 0 0"></a-entity> 
    <a-plane position="0 4 4" rotation="-90 0 -90" width="4" height="4" color="#7BC8A4"></a-plane> 
    <a-sky color="#ECECEC"></a-sky> 
</a-scene> 
+0

我建议删除这个问题的编辑,以保持它对未来的读者专注和相关。有关使用'aframe-physics-system'的帮助,请随时在GitHub上打开一个问题。 :) –

回答

3

这取决于你打算什么设备来支持,以及如何让用户 导航场景。对于大多数VR体验,请遵循最佳做法,并且仅根据用户的动作按比例移动摄像机。如果用户在房间的空间中前进 ,并且摄像头“被阻挡”,则这是一个非常糟糕的经验 体验。对于大多数VR应用程序来说,最好是使用 teleportation, 进行移动设计,以避开障碍物,或者探索更多有创意的移动用户遍布世界的方式。

对于一个游戏手柄或WASD控制非VR桌面体验,或者VR场景 相机在哪里车内,你可以添加一个 physics engine到 防止通过障碍物的运动。

^ 我会尽力让这添加到A框架常见问题或文档很快 。这已添加到A-Frame FAQ。这里有一个example using checkpoints和一个example using a physics engine

+0

我正在使用它的桌面应用程序,所以我试图使用物理引擎。我使用生成对象(如框),但我似乎无法在物理引擎中加载3D模型。你有没有从资产中加载3D模型的例子? – bear

+0

还是有办法在物理场景内至少渲染任意网格物体? – bear

+1

请参阅文档的[Body Shapes](https://github.com/donmccurdy/aframe-physics-system#body-shapes)部分。您可以加载任意网格,但可能想要将它们模拟为框或船体。默认情况下,它会尝试模拟完整的网格几何体,但这不是很好的支持。 –