结合Object3D组,PerspectiveCamera和FlyControl的意外移动行为

时间:2013-11-14 05:08:13

标签: three.js

为了编写HUD,我将一个摄像头卡在了Object3D中,目的是将HUD元素放在同一个Object3D中。

我现在不更新相机,而是更新HUD,并希望其中包含所有对象。但是,

  • 移动鼠标时,相机似乎围绕场景中心旋转。
  • 按下用于向前移动相机的W时,我现在在场景中央前方移动。

包含此处描述的简要线:

scene = new THREE.Scene();
hud = new THREE.Object3D();
camera = new THREE.PerspectiveCamera(...);
hud.add(camera);
scene.add(hud);

control = new THREE.FlyControls(hud, renderer.domElement);

1 个答案:

答案 0 :(得分:0)

您可以将HUD Object3D添加到相机,而不是相反。这应该符合人们的期望。

hud = new THREE.Object3D();
camera = new THREE.PerspectiveCamera(...);
camera.add(hud);
scene.add(camera);

control = new THREE.FlyControls(camera, renderer.domElement);