【问题标题】:Set camera position to (0, 0, 0) after entering VR Mode in Aframe在 Aframe 中进入 VR 模式后将相机位置设置为 (0, 0, 0)
【发布时间】:2018-08-28 18:55:03
【问题描述】:

由于 Chrome v65 兼容性问题,我最近将我的 aframe 从 0.5.0 直接升级到了 0.8.1。据记载,其中一项变化是 Aframe 不再控制相机姿势,这将由 three.js 直接控制。

这里最近有一个关于这个变化的 PR:https://github.com/aframevr/aframe/pull/3327

此更改删除了对相机位置的 userHeight 参数支持。在我的应用程序中,我需要相机在 VR 和非 VR 模式下都位于 (0, 0, 0)。

我尝试使用:

<a-entity camera position="0 0 0"> </a-entity>

<a-camera position="0 0 0"> </a-camera>

但两者的结果是相机在进入VR之前位于(0,0,0)。进入VR后在(0, 1.6, 0),退出VR后一直在(0, 1.6, 0)。

问题是:如何在 aframe@0.8.1 的 VR 和非 VR 模式下将相机位置设置为 (0, 0, 0)?

另外,这个answer 不再有效对吧?

【问题讨论】:

    标签: aframe


    【解决方案1】:

    当我更新到 0.8 时,我遇到了与相机旋转类似的问题。

    据我了解,最新版本现在已经将位置和轮换管理移到了threejs。

    为了解决这个问题,您应该在相机周围使用“装备”并设置您在装备上的位置。 装备只是一个父实体,子实体将从中获取相关设置。

    <a-entity id="cameraRig" position="0 1.6 0">
        <a-camera></a-camera>
    </a-entity>
    

    【讨论】:

    • 感谢您的帮助!但是,我认为这对我的情况没有帮助。经过一番调查,我看到进入 VR 后,相机的高度设置为硬编码值 1.6 。我通过将其更改为 0 解决了问题。
    • 这是您可以使用的一种解决方案。请记住,相机原语默认为 1.6,如果您想避免这种情况,您还可以使用带有相机组件的普通实体,其默认高度为 0
    【解决方案2】:

    将相机包装在实体中是否有帮助?

    https://aframe.io/docs/0.8.0/primitives/a-camera.html#manually-positioning-the-camera

    <a-entity position="0 1.6 0">
        <a-camera look-controls position="0 0 0"></a-camera>
    </a-entity>
    

    【讨论】:

    • 感谢您的帮助!但是,我认为这对我的情况没有帮助。经过一番调查,我看到进入 VR 后,相机的高度设置为硬编码值 1.6 。我通过将其更改为 0 解决了问题。
    • 我也遇到了同样的问题...你是如何硬编码相机 y 值的?
    • @sidd 我更改了aframe的源代码。你可以在你的 aframe-master.js 中搜索 1.6 :) 希望在这么长时间后它会有所帮助。
    • @Fei 感谢您一直关注我
    猜你喜欢
    • 2020-09-16
    • 2019-12-22
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 2014-06-05
    • 2011-07-20
    • 2011-04-13
    相关资源
    最近更新 更多