從相機到一定距離的視錐體橫截面在世界空間中定義為乙個矩形,將可視區域框在內。
有時,這對計算給定距離下該矩形的大小、或找出給定矩形大小時的距離比較有用。
例如,如果一台移動的相機需要始終完整拍攝到乙個物件(如玩家),就不能靠得太近,否則物體的一部分拍不到。
在給定距離的視錐體高度(兩者的單位都為世界單位)可通過下列公式得到:
var frustumheight =
2.0* distance * mathf.
tan(camera.fieldofview *
0.5* mathf.deg2rad)
;
該過程可顛倒,計算出獲得指定視錐體高度的所需距離:
var distance = frustumheight *
0.5/ mathf.
tan(camera.fieldofview *
0.5* mathf.deg2rad)
;
已知高度和距離,計算 fov 角度也是可行的:
var camera.fieldofview =
2* mathf.
atan
(frustumheight *
0.5/ distance)
* mathf.rad2deg;
每個計算式都包含視錐體高度,而這個值可通過寬度輕易獲得(反之亦然):
var frustumwidth = frustumheight * camera.aspect;
var frustumheight = frustumwidth / camera.aspect;
Unity相機自適應背景
在 unity 3d 中可以把攝像機設定為正交。正交攝像機與 unity 3d 中普通攝像機相比沒有透視效果 近大遠小 所以正交相機一般可以用於 2d 遊戲開發或者是 3d 遊戲的 ui 開發。在 2d 遊戲開發中,有時會遇到根據螢幕的解析度對遊戲的背景進行自適應縮放的需求,這就需要對正交攝像機的尺...
Unity學習筆記 相機屬性
clera flag清除標記 skybox 具備天空盒,清除前面繪製的圖形。solid color 具備背景圖效果,清除前面繪製的圖形。depth only沒有背景和天空盒,不清除前面繪製的圖形,清除影象的深度。影象覆蓋 dont clear沒有背景和天空盒,不清除前面繪製的圖形,也不清除圖形深度。...
Unity多個相機混合渲染
渲染層級 1.camera的depth值 2.sortlayer 3.order in layer 三個層級都是值大的遮擋值小的 在場景中新建乙個相機culling mask選擇需要渲染的物體層級 clear flags選擇depth only 例 uicamera,culling mask選擇ui...