3、three.js相机的说明

时间:2021-12-25 04:10:44

1、CombinedCamera是一个通用的摄像机,设置相机的视角、焦距,并切换视角和视图,可以通过此对象来管理正交投影和透视相机,此对象包含了正交投影相机和透视相机。

其构造函数为:CombinedCamera(width,height,fov,near,far,orthoNera,orthoFar)

其中:width表示相机的宽度,height表示相机的高度,fov表示相机视角的角度,near表示相机的*面视角,far表示相机的远平面视角,orthoNera表示相机的*面视图,orthoFar表示相机的*面视图。

如:camera = new THREE.CombinedCamera(window.innerWidth/2,window.innerHeight/2,70,1,1000,-500,1000)

其中方法有:

(1)setFov(fov)设置视角的角度

(2)setLens(lens)//设置相机离物体的远近程度,数字越小,离得越远

(3)setZoom(lens)//设置相机的焦距,数字越小,焦距越远

(4)toTopView()//将照相机设置在物体的上方向下看

(5)toBottomView()//将照相机设置在底部看,从下往上看

(6)toLeftView()//将照相机设置在左边,从左往右看

(7)toRightView()//将照相机设置在右边,从右向左看

(8)toFrontView()//将照相机设置在前边,从前往后看

(9)toBackView()//将照相机设置在后边,从后往前看

(10)setOrthographic()//设置相机为正交投影相机

(11)setPerspective()//设置相机为透视相机

其属性有:

camera.position.x = 200;
camera.position.y = 100;
camera.position.z = 200;

此三点可以表示相机的中心点

2、OrthographicCamera表示正交投影相机,其构造函数如下:

OrthographicCamera(left,right,top,bottom,near,far )

其中:left,right,top,bottom表示相机的左右上下的大小,就是相机可看到的物体的边界多大,near相机的近视角,far表示相机的远视角

注意左和下是负,右和上是正,近是负,远是正

如:

camera = new THREE.OrthographicCamera(window.innerWidth/-2,window.innerWidth/2,window.innerHeight/2,window.innerHeight/-2,- 500,1000);

其属性为:

camera.position.x = 200;
camera.position.y = 100;
camera.position.z = 200;//设置相机的位置

此三点可以表示相机的中心点

需要通过camera.lookAt(scene.position);//将相机的中心点指向到scene.position所指向的位置

3、PerspectiveCamera表示透视照相机,其构造函数为:

PerspectiveCamera(fov,aspect,near,far)

其中:fov表示相机视角的角度,相机所看到的宽和高的比例,一般是宽度/高度,near相机的近视角,far表示相机的远视角

如:

camera=new THREE.PerspectiveCamera(70,window.innerWidth/window.innerHeight,1,1000);//创建透视照相机

其属性为:

camera.position.x = 200;

camera.position.y = 100;

camera.position.z = 200;//设置相机的位置

此三点可以表示相机的中心点

camera.lookAt(scene.position);//将相机的中心点指向到scene.position所指向的位置