Threejs-摄像机

摄像机
	Camera(摄像机)
		摄像机的抽象基类。在构建新摄像机时,应始终继承此类。
		属性
			isCamera : Boolean
			layers : Layers
				摄像机是一个layers的成员. 这是一个从Object3D继承而来的属性。
			matrixWorldInverse : Matrix4
				这是matrixWorld矩阵的逆矩阵。 MatrixWorld包含了相机的世界变换矩阵。
			projectionMatrix : Matrix4
				这是投影变换矩阵。
			projectionMatrixInverse : Matrix4
				这是投影变换矩阵的逆矩阵。
		方法
			.clone ( ) : Camera
				返回一个具有和当前相机的属性一样的新的相机。
			.copy ( source : Camera, recursive : Boolean ) : this
				将源摄像机的属性复制到新摄像机中。
			getWorldDirection ( target : Vector3 ) : Vector3
				target — 调用该函数的结果将复制给该Vector3对象。返回一个能够表示当前摄像机所正视的世界空间方向的Vector3对象。 (注意:摄像机俯视时,其Z轴坐标为负。)
	ArrayCamera(摄像机阵列)
		ArrayCamera 用于更加高效地使用一组已经预定义的摄像机来渲染一个场景。这将能够更好地提升VR场景的渲染性能。
		ArrayCamera( array : Array )
			一个包含多个摄像机的数组。
		属性
			cameras : Array
				摄像机数组。
			isArrayCamera : Boolean
		方法
			共有方法请参见其基类PerspectiveCamera。
	CubeCamera(立方相机)
		创建6个渲染到WebGLCubeRenderTarget的摄像机。
		CubeCamera( near : Number, far : Number, renderTarget : WebGLCubeRenderTarget )
			near -- 近剪切面的距离
			far -- 远剪切面的距离
			renderTarget -- The destination cube render target.
		属性
			renderTarget : WebGLCubeRenderTarget
		方法
			.update ( renderer : WebGLRenderer, scene : Scene ) : undefined
				renderer -- 当前的WebGL渲染器
				scene -- 当前的场景
	OrthographicCamera(正交相机)
		这一摄像机使用orthographic projection(正交投影)来进行投影。在这种投影模式下,无论物体距离相机距离远或者近,在最终渲染的图片中物体的大小都保持不变。这对于渲染2D场景或者UI元素是非常有用的。
		OrthographicCamera( left : Number, right : Number, top : Number, bottom : Number, near : Number, far : Number )
			left — 摄像机视锥体左侧面。
			right — 摄像机视锥体右侧面。
			top — 摄像机视锥体上侧面。
			bottom — 摄像机视锥体下侧面。
			near — 摄像机视锥体近端面。
			far — 摄像机视锥体远端面。
	PerspectiveCamera(透视相机)
		这一投影模式被用来模拟人眼所看到的景象,它是3D场景的渲染中使用得最普遍的投影模式。
		PerspectiveCamera( fov : Number, aspect : Number, near : Number, far : Number )
			fov — 摄像机视锥体垂直视野角度
			aspect — 摄像机视锥体长宽比
			near — 摄像机视锥体近端面
			far — 摄像机视锥体远端面
		属性
			.aspect : Float
				摄像机视锥体的长宽比,通常是使用画布的宽/画布的高。默认值是1(正方形画布)。
			.far : Float
				摄像机的远端面,默认值是2000。
			.filmGauge : Float
				胶片尺寸,其默认值为35(毫米)。 这个参数不会影响摄像机的投影矩阵,除非.filmOffset被设置为了一个非零的值。
			.filmOffset : Float
				水平偏离中心偏移量,和.filmGauge单位相同。默认值为0。
			.focus : Float
				用于立体视觉和景深效果的物体的距离。 这个参数不会影响摄像机的投影矩阵,除非使用了StereoCamera。 默认值是10。
			.fov : Float
				摄像机视锥体垂直视野角度,从视图的底部到顶部,以角度来表示。默认值是50。
			near : Float
				摄像机的近端面,默认值是0.1。
			.zoom : number
				获取或者设置摄像机的缩放倍数,其默认值为1。
		方法
			.clearViewOffset () : undefined
				清除任何由.setViewOffset设置的偏移量。
			.getEffectiveFOV () : Float
				结合.zoom(缩放倍数),以角度返回当前垂直视野角度。
			.getFilmHeight () : Float
				返回当前胶片上图像的高,如果.aspect小于或等于1(肖像格式、纵向构图),则结果等于.filmGauge。
			.getFilmWidth () : Float
				返回当前胶片上图像的宽,如果.aspect大于或等于1(景观格式、横向构图),则结果等于.filmGauge。
			.getFocalLength () : Float
				返回当前.fov(视野角度)相对于.filmGauge(胶片尺寸)的焦距。
			.setFocalLength ( focalLength : Float ) : undefined
				通过相对于当前.filmGauge的焦距,设置FOV。
			.setViewOffset ( fullWidth : Float, fullHeight : Float, x : Float, y : Float, width : Float, height : Float ) : undefined
				fullWidth — 多视图的全宽设置
				fullHeight — 多视图的全高设置
				x — 副摄像机的水平偏移
				y — 副摄像机的垂直偏移
				width — 副摄像机的宽度
				height — 副摄像机的高度
			.updateProjectionMatrix () : undefined
				更新摄像机投影矩阵。在任何参数被改变以后必须被调用。
			.toJSON (meta : Object) : Object
				meta -- 包含有元数据的对象,例如对象后代中的纹理或图像
	StereoCamera(立体相机)
		双透视摄像机(立体相机)常被用于创建3D Anaglyph(3D立体影像) 或者Parallax Barrier(视差屏障)。
		StereoCamera( )
		属性
			.aspect : Float
				默认值是1.
			.eyeSep : Float
				默认值是0.064.
			.cameraL : PerspectiveCamera
				左摄像机,它被加入到了layer 1中 —— 需要被左摄像机渲染的物体也应当要加入到这一层中。
			.cameraR : PerspectiveCamera
				右摄像机,它被加入到了layer 2中 —— 需要被右摄像机渲染的物体也应当要加入到这一层中。
		方法
			.update ( camera : PerspectiveCamera ) : undefined
				基于摄像机通过场景,更新立体摄像机。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值