Three.js学习笔记-Cameras(摄像机)

Camera类

抽象的camera的基类,只要创建新的相机就会继承它
构造函数
- Camera() 创建新的相机,这个类不能直接调用,可以用PerspectiveCameraOrthographicCamera类代替
特性
- 公共的可以参考Object3D类
- isCamera: Boolean 默认true,不应该更改,它是用来渲染的
- layers: Layers 继承自Object3D,对象至少有一个layer被用作内部的优化渲染
- matrixWorldInverse/projectionMatrix
方法
- clone()
- copy(source: Camera)
- getWorldDirection(target: Vector3) 相机生注视的方向

OrthographicCamera类

无论距离相机的距离如何,渲染图像中的对象大小都保持不变。 这对于渲染2D场景和UI元素等非常有用
构造函数
- OrthographicCamera( left : Number, right : Number, top : Number, bottom : Number, near : Number, far : Number )
特性
- 公共的可以参考Object3D类
- bottom/far/left/near/right/top/left
- isOrthographicCamera
- view: Object,通过setViewOffset设置,默认null
- zoom 默认1
方法
- setViewOffset(fullWidth,fullHeight,x,y,width,height)
- clearViewOffset()
- updateProjectionMatrix() //特性改变后必须调用
- toJSON()

PerspectiveCamera类

模仿人眼看的方式
构造函数
- PerspectiveCamera( fov : Number, aspect : Number, near : Number, far : Number ) fov:视场,就是摄像机的视角广度(一般75) aspect: 宽高比
特性
- 公共的可以参考Object3D类fil
- aspect/far/near/view/zoom/fov
- isPerspectiveCamera
- fileGauge/fileOffset
- focus:Float 用于立体镜和景深效果的距离,除非使用StereoCamera,不然不影响
方法
- clearViewOffset()
- setViewOffset ( fullWidth : Float, fullHeight : Float, x : Float, y : Float, width : Float, height : Float )
- getFileHeight/Width() 返回file(胶片)中图片的宽高
- getEffortFOV() 获得当前的视场距
- getFocalLength() 返回的当前的焦距
- updateProjectionMatrix() //特性改变后必须调用
- toJSON()

ArrayCamera类

可以使用ArrayCamera以使用预定义的一组摄像机有效地渲染场景。这是渲染VR场景的重要性能方面。 ArrayCamera的一个实例总是有一个子摄像头阵列。必须为每个子摄像机定义bounds属性,该属性确定使用此摄像机渲染的视口部分
构造函数
ArraryCamera(array: Array)
特性
公共参考PerspectiveCamera类
- cameras: Arrary
方法
有关的参考PerspectiveCamera类

CubeCamera类

创建六个相机来渲染WebGLRenderTargetCube
构造函数
CubeCamera( near : Number, far : Number, cubeResolution : Number ) cubeResolution: 设置立方体边缘的长度
特性
公共参考Object3D类
- rendererTarget: WebGLRenderTargetCube 立方体的纹理
方法
- update ( renderer : WebGLRenderer, scene : Scene )
- clear ( renderer : WebGLRenderer, color : Boolean, depth : Boolean, stencil : Boolean )

StereoCamera类

双透摄像机,用于3D立体影像或视差屏障等效果
构造函数
StereoCamera()
特性
- aspect
- eyeSep 默认0.064
- cameraL/R 左右相机 官方例子
方法
- update(camera)

猜你喜欢

转载自blog.csdn.net/u013270347/article/details/81052202