Three.js相机的孩子不可见

maa*_*ine 4 javascript webgl three.js

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

我的相机定义如下:

camera = new THREE.PerspectiveCamera( 45, windowWidth / windowHeight, 1, 2000 );
camera.position.z = 100;
Run Code Online (Sandbox Code Playgroud)

在我的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);
Run Code Online (Sandbox Code Playgroud)

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

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

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

Wes*_*ley 12

你有没有把相机添加到现场?

scene.add( camera );
Run Code Online (Sandbox Code Playgroud)

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

three.js r.58