1. 程式人生 > >three.js學習(4):相機

three.js學習(4):相機

相機的型別
1.CubeCamera(立方體相機)
建立6個攝像機,將他們所拍攝的場景渲染到WebGLRenderTargetCube上。
(1)建構函式:
CubeCamera(near:number, far:number, cubeResolution:number,options:object)
*near–近端剪切面的距離
*far–遠端剪切面的距離
*cubeResolution–立方體邊緣的長度設定
*options–傳遞給自動生成的WebGLRenderTargetCube的紋理引數,預設為
{ format: RGBFormat, magFilter: LinearFilter, minFilter: LinearFilter }
(2)屬性:
*

Object3D類的公用屬性
*.renderTarget:生成的立方體紋理
(3)方法:
*Object3D類的公用方法
*.update(renderer:WebGLRenderer,scene:scene):null
renderer–當前的WebGL渲染器
scene–當前場景
*.clear(renderer:WebGLRenderer,color:Boolean,depth:Boolean,stencil:Boolean):null
清空渲染目標的顏色、深度、模板緩衝區。
2.OrthographicCamera(正交相機)
一個使用正交投影的相機。在這種投影模式下,無論物體距離相機距離遠或者近,在最終渲染的圖片中物體的大小都保持不變。 這對於渲染2D場景或者UI元素是非常有用的。
(1)建構函式:
OrthographicCamera(left:number,right:number,top:number,bottom:number,near:number,far:number)
left–攝像機視椎體的左側面
right–攝像機視椎體的右側面
top–攝像機視椎體的上側面
bottom–攝像機視椎體的下側面
near --攝像機視椎體近端面
far–攝像機視椎體遠端面
(2)屬性:
*
Object3D
類的公用屬性
*.left: float
*.right: float
*.top: float
*.bottom: float
*.near: float
*.far: float
*.isOrthographicCamera: boolean
測試這個類是否為正交相機,預設為true。
*.view: object
由setViewOffset設定,預設為null。
*.zoom: number
獲取相機的縮放倍數,預設為1。
(3)方法:
*Camera的共有方法
*.setViewOffset(fullwidth: float,fullheight:float,x:float,y:float,width:float,height:float):null
fullWidth — 多檢視的全寬設定
fullHeight — 多檢視的全高設定
x — 副攝像機的水平偏移
y — 副攝像機的垂直偏移
width — 副攝像機的寬度
height — 副攝像機的高度
設定視椎體的偏移量
*.clearViewOffset():null
清空視椎體的偏移量
*.updateProjectionMatrix():null
更新相機矩陣
*.toJSON():json
使用json格式返回攝像機資料。