Camera

Untiy3D攝像機

1  Camera存在的意義

拍電影時攝像機所在的位置正是觀看電影時觀衆的視角所在,U3D引擎中的Camera的主要功能也是爲了讓用戶從相機所在的位置對觀看所設計的場景.可以使用一個Camera,並通過改變其位置來定義觀看者的視角,也可以在一個場景中聲明多個Camera,通過切換,來實現多角度觀察的效果.

2  組件及其功能介紹

2.1  Transform

同其他遊戲對象一樣,Transform是必不可少的,因爲不論是在二維還是三維,一個物體存在就有其空間位置.座標是全局時,Camera在空間中的位置,旋轉都不與其他遊戲對象相關, 而Scale對相機是沒用的,如同三角板的角度不能用放大鏡放大一般.

2.2  Camera

這個組件地存在說明了一點,當在Hierarchy中創建一個Camera和創建一個空遊戲對象並添加這個組件並無實質上的差別.

Clear Flags直譯是清除標記,主要用於攝像背景的選擇,Skybox指天空盒子, Background主要用於ClearFlags中的S0lid Color.

Culling Mask 用於選擇相機所能拍攝到的對象所在的層級,不同的相機有不同的攝像功能,爲拍攝的靈活性提供了可能.

projection 指相機拍攝的方式,有發散和平行兩種方式.當使用othorgraphic時,可以調Size來改變視角的相對大小.使用perspective時可以改變Field ofView來改變視角的大小.實現從0到180度的視角改變.

相機有一個聚集的空間距離,在Near和Far的範圍內可視.ViewPortRect中W和H分別是寬度和高度的比例,決定了相機的拍攝範圍,X和Y分別是x軸和y軸開始成像的位置.Depth稱爲相機的景深,在有多個相機的場景中,Depth數值越大,則越後渲染,即成像最爲靠前.

Rendering Path 是相機渲染方法的不同,也就是生成的圖象的效果的好與不好,其中Legacy Deferred效果最差,而deferredLighting渲染效果最好.

3.Camera應用實例

3.1 方法

    射線,座標轉換

3.2 層級

    有兩個Camera,若想讓其中一個相機單獨拍攝某一類物體在最前端顯示,則無論該類的座標位置是否靠後,只要該Camera的Deaph數值越大,都能實現前端顯示.另外,對於3D工程,由於不用z軸,可以改變Order in Layer來控制渲染的順序,如果對象較多,還可以利用Sorting Layer來在更高層次進行排序,但Camera在渲染先後上還是起決定作用

發佈了32 篇原創文章 · 獲贊 12 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章