4

我正在尝试将一个对象附加到相机上,以便它或多或少地用作 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.lookAt 翻转相机。

对于没有提供更清晰的示例代码,我深表歉意,但我会尽我所能与任何试图帮助我的人合作。谢谢!

4

1 回答 1

14

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

scene.add( camera );

通常不必将相机添加到场景中,但在这种情况下,对象是相机的子对象,因此您必须这样做。

三.js r.58

于 2013-02-13T22:15:07.443 回答