Javascript 3JS中的摄像机配置

Javascript 3JS中的摄像机配置,javascript,camera,three.js,Javascript,Camera,Three.js,我对ThreeJS一无所知,我正试图用它来构建我的web应用程序。我面临着相机配置的问题 我有一个透视相机,可以在我的场景的每一点上观察和移动 问题是我只想让我的相机能看到每一点(左、右、上、下)。但是,我不希望它可以在每一点上移动(我的意思是移动和查看之间的区别,而不是相同的行为)。我希望它能在Z轴上移动(深度) 这里,我的相机: this.camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeig

我对ThreeJS一无所知,我正试图用它来构建我的web应用程序。我面临着相机配置的问题

我有一个透视相机,可以在我的场景的每一点上观察和移动

问题是我只想让我的相机能看到每一点(左、右、上、下)。但是,我不希望它可以在每一点上移动(我的意思是移动和查看之间的区别,而不是相同的行为)。我希望它能在Z轴上移动(深度)

这里,我的相机:

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

我想这就是你需要的答案


它将在不改变注视位置的情况下进行转换

首先是对相机配置的一个小说明

this.camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
透视摄像头(视野、方位、近距离、远距离)

  • 视野-摄像机平截头台垂直视野
  • 纵横比-相机截锥体纵横比(宽/高)
  • 摄像机平截头体近平面
  • -相机平截头体远平面
这会配置相机,但不会控制其移动或看到的位置

要控制摄像头的查看位置,请使用以下代码:

this.camera.lookAt(new THREE.Vector3(0,0,0)); // x, y, z
this.camera.position.x      =   0;
this.camera.position.z      =   0;
this.camera.position.y      =   0;
但是,如果使用某些库来控制相机(OrbitControls.js),则可能必须使用:

this.controls.target.set( 0, 0, 0 ); //x, y, z
如果您不使用任何库来控制相机,则“lookAt()”应该没有问题

要使摄像头保持在固定位置,请使用以下代码:

this.camera.lookAt(new THREE.Vector3(0,0,0)); // x, y, z
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));
注意这一点,以免离开由近距离和远距离控制的视野

有关更多信息,请参阅