首页 > 解决方案 > a-camera 旋转和 a-entity 旋转组合

问题描述

我在切换两个观点时遇到问题。

每当我从视点1 移动到视点2 时,当我到达视点2 时,旋转似乎就关闭了。

起初我想切换视点,这将涉及设置相机位置。这似乎不可能,所以我不得不用这样的容器包裹相机:

 <a-entity><a-camera></a-camera></a-entity>

然后使用 .setAttribute('position', xyz); 在 a-entity 标签上(我知道 object3d 方法是有利的,我仍然需要重构它)。

现在,当我从视点 1 看向视点 2(我们称之为移动 deltaRotation)并切换视点时,我将实体的旋转更改为我喜欢的视点,比如 0、45、0。

我期望的是,我最终到达视点 2,相机看着 0、45、0。然而,相机似乎看着 0、45、0 + deltaRotation。

这是我应该转换观点的方式吗?如果是这样,这种“坦克”模型的工作方式是否有意?或者我应该采取另一种方法。

标签: javascriptaframe

解决方案


发生的情况是,当您使用默认外观控件移动相机时,它会更改“相机装备”包装实体中相机的旋转属性。因此,当您更改实体的旋转时,最终结果是相机将朝一个方向看,该方向是相机和相机装备的旋转之和。

不幸的是,我不确定如何解决这个问题,因为直接设置或动画主摄像机的旋转根本不起作用。因此,编写第一人称摄像机视角的脚本是 a-frame 在当前状态下无法处理的。恢复到较早版本的 a-frame 可能是您的最佳选择。


推荐阅读