相机作为Object3D定位问题的孩子

时间:2014-04-15 15:22:15

标签: camera three.js

在此处设置一个简单的场景:

http://jsfiddle.net/majman/Sps3c/

我最初试图展示我在旋转父容器时遇到的问题,同时让相机保持相对偏移位置,但在设置此示例时,我甚至无法调整相机的初始位置。

当前问题:

// camera
camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 5, 150);
camera.position.z = 50; // this doesn't work?

// object to contain camera & helper
cameraContainer = new THREE.Object3D();
cameraContainer.rotation.order = "YXZ"; // maybe not necessary

// add to container
cameraContainer.add(camera);
scene.add(cameraContainer);

现在当旋转cameraContainer时,摄像机的旋转跟随 - 但我希望摄像机的位置偏离cameraContainer。由于某种原因,我无法修改任何位置属性。

1 个答案:

答案 0 :(得分:3)

您的代码运行正常。您感到困惑,因为CameraHelper未将相机显示在其实际位置。您需要将CameraHelper添加为scene的孩子。

// camera helper
cameraHelper = new THREE.CameraHelper( camera2 );
scene.add( cameraHelper );

更新小提琴:http://jsfiddle.net/Sps3c/1/

提示:我在您的演示中添加了OrbitController,以便更好地了解情况。

three.js r.66