2

在 React VR 中构建场景有点麻烦,因为你总是停留在第一人称视图中,这使得很难判断物体放置的深度。

默认情况下,相机放置在[0, 0, 0]坐标位置,我想知道是否有办法控制它。在文档中找不到任何内容,但我知道它们不完整。这样的专用编辑器铺平道路。

框架中的编辑器视图

4

3 回答 3

2

在此处添加答案。

  1. 您可以使用 Nuclide 和 Atom 获得“编辑”的感觉,链接可在此处的 React VR 文档中找到
  2. 为了移动相机的位置,您可以使用自定义 ThreeJS 相机并将其添加到您的场景中,这样您就可以保持 VR 元素不变

    const vr = new VRInstance(bundle,"ReactVR",parent, { camera:customCamera,/*your custom threeJS camera*/ ...options, });

您的自定义相机可能就像

import { PerspectiveCamera } from "three";

const VIEW_ANGLE = 60;
const ASPECT = document.body.clientWidth / document.body.clientHeight;
const NEAR = 0.1;
const FAR = 10000;


const camera = new PerspectiveCamera(VIEW_ANGLE, ASPECT, NEAR, FAR);

camera.name = "Custom3JSCamera";

camera.position.set(0,0,5);
export default camera;
于 2017-11-10T11:48:09.360 回答
1

有关背景信息,在 A-Frame 中,您可以更改为您想要的任何相机或将活动相机移动到任何位置:

<a-scene>
  <a-entity position="0 0 -5"><a-entity id="camera1" camera="active: true"></a-entity>
  <a-entity position="5 0 5"><a-entity id="camera2" camera="active: false"></a-entity>
</a-scene>

<script>
  document.querySelector('#camera2').setAttribute('camera', 'active', true);
</script>
于 2017-07-21T22:23:48.580 回答
1

您可以使用变换来更改相机位置,这应该会给您带来与屏幕上类似的效果:

 <View style={{
    transform: [
      {translate: [-20, -10, -20]},
    ],
  }}>
于 2017-09-30T14:18:44.710 回答