首页 > 解决方案 > Aframe 0.8 中初始相机旋转的方向不正确

问题描述

在 Aframe 0.8 之前,您可以为相机提供初始旋转。现在你不能,而是鼓励你设置一个相机装备(外部 a-entity)并给它位置和旋转。现在的问题是您的移动和旋转方向是错误的平面。您不再沿着场景的地板移动,而是根据相机的新旋转移动地板。在 Aframe 0.7 中,您的相机的初始旋转不会影响您的移动平面。

链接到决定的更多信息:https ://github.com/aframevr/aframe/issues/3462

工作:https ://glitch.com/~aframe-0-7-camera-rotation

  <a-camera position="3 -2 0" rotation="30 45 0"></a-camera>

不工作:https ://glitch.com/~aframe-0-8-camera-rotation

  <a-entity position="3 -2 0" rotation="30 45 0">
    <a-camera></a-camera>
  </a-entity>

(在两者中向前按下并查看不同的运动平面)

获得与以前相同的行为的适当方法是什么?

标签: aframe

解决方案


这可能是 hacky,但它似乎工作:

在 PC 上时 - 外观控件(内置于相机图元中)基于两个对象旋转相机:yawObject 和 pitchObject。源代码片段在这里

如果您尝试为这些对象设置旋转值 - 它似乎可以正常工作(以任何方式限制相机)。

var el = document.querySelector("a-camera")
el.components["look-controls"].pitchObject.rotation.x = 0.7
el.components["look-controls"].yawObject.rotation.y = 0.8

在我的小提琴中检查一下


推荐阅读