如何在天空的X旋转时修复外观控件?

时间:2017-07-12 03:05:02

标签: three.js aframe

我需要在360度图像项目中的任务中旋转a-sky的X轴,但是当我旋转时,look-controls的工作很奇怪。原因可能是相机的轴需要改变,我该如何改变相机的轴?

look-controls works weird

<a-sky src="#skyTexture" rotation="30 0 0"></a-sky>

2 个答案:

答案 0 :(得分:0)

我想你想要改变相机空间的基轴,最简单的方法是用旋转的物体包裹相机:

    <a-entity rotation = "30 0 0">
        <a-camera look-controls>
        </a-camera>
    </a-entity>

但是,要小心,如果你这样做,场景中的所有物体都会有斜率。

答案 1 :(得分:0)

控件没问题,你歪曲了图像,地平线不再是相机周围的完美圆圈,所以你的感觉就会消失。如果您旋转相机,您将看到相同的图像,就像您没有更改任何内容一样


我对轮换进行了快速比较:enter image description here 看看图像上的地平线与(0,0,0)网格之间的关系是什么。你不能在x或z中旋转天空,并期望这个人更低,地平线是正常的。
如果你想让用户“更高”,将a-sky更改为一个a-sphere并将它放在比相机稍低的位置,就像我在这里做的那样:https://codepen.io/gftruj/pen/Kqbxbx
如果你想旋转相机,Craig.Li的回答是正确的,但是因为用户应该是操作相机的唯一人(我认为a-frame的初衷是),所以不好意思弄乱相机。 p>