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所指向的位置