Three.js相机的孩子不可见

时间:2013-02-13 22:02:41

标签: javascript three.js webgl

我正在尝试将一个对象附加到相机上,以便它可以更多或更少地用作GUI元素。

我的相机定义如下:

camera = new THREE.PerspectiveCamera( 45, windowWidth / windowHeight, 1, 2000 );
camera.position.z = 100;

在我的init()中,我定义了要添加的对象:

    obj = new THREE.Mesh(new THREE.CubeGeometry(5, 5, 5, 1, 1, 1),
new THREE.MeshBasicMaterial({ color: 0xFFFFFF } ));
    obj.position.set( 0, 0, -50);
    camera.add(obj);

但是,该块没有显示出来。我已经尝试将此对象添加到场景中,并且它是可见的。我在animate()中添加了一个循环,它将在(-50,50)之间滑动对象的z位置,但是我看不到它。

我尝试使用camera.lookAt(obj)并记录obj的世界位置(obj位置+摄像机位置),它们的行为与预期一致。世界位置似乎是我所期待的,而当z位置越过0时,camera.look会翻转相机。

我为没有提供更清晰的示例代码而道歉,但我会尽力与任何想要帮助我的人合作。谢谢!

1 个答案:

答案 0 :(得分:11)

您是否将相机添加到场景中?

scene.add( camera );

通常不需要将相机添加到场景中,但在这种情况下,物体是相机的孩子,所以你必须这样做。

three.js r.58

相关问题