2014-05-14 38 views
0

我在ThreeJS中是全新的,我正在嘗試用它構建我的web應用程序。我遇到相機配置問題。ThreeJS中的攝像頭配置

我有一個透視相機,能夠在我的場景的每個點上看和移動。

問題是我只想讓我的相機可以看到每個點(左,右,上下)。但是,我不希望它能夠在每個點上移動(我的意思是移動和外觀之間的差異,而不是相同的行爲)。我希望它可以在Z軸上移動(深度)。

在這裏,我的相機:

this.camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000); 

回答

0

首先一個相機配置的小說明

this.camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000); 

PerspectiveCamera(FOV,方面,近,遠);

  • fov - 攝像機截錐體垂直視場。
  • 方面 - 相機平截頭體的縱橫比(寬度/高度)
  • - 近平面相機平截頭體。
  • - 相機平截體遠平面。

這配置相機,但它不控制它的移動或它看到的地方。

要控制在攝像機正在尋找,使用下面的代碼:

this.camera.lookAt(new THREE.Vector3(0,0,0)); // x, y, z 

但是,如果你使用一些庫來控制攝像機(OrbitControls.js),您可能需要使用:

this.controls.target.set(0, 0, 0); //x, y, z 

如果您沒有使用任何庫控制相機,那麼您應該沒有問題的「lookAt()」。

而且保持相機在固定的位置,使用下面的代碼:

this.camera.position.x  = 0; 
this.camera.position.z  = 0; 
this.camera.position.y  = 0; 

現在你真正想要的是管理攝像機的深度,你需要使用下面的代碼:

this.fov = 0; 
this.camera.projectionMatrix.makePerspective(this.fov, window.innerWidth / window.innerHeight, this.near, this.far)); 

要小心,以免留下視力由近及遠控制的領域。

欲瞭解更多信息,請參閱threejs.org

相關問題