Unity3D-光照系统
光照系統(tǒng)
1. Global Illumination(全局光照)
2. 直接光
從光源直接放出的光,通過Light組件實現(xiàn)。
Type類型:
Directional Light(平行光):平行發(fā)射光線,可以照射場景里所有物體,和位置無關(guān),模擬太陽;
Point Light(點光源):向四周發(fā)射,可以照射其范圍里所有對象,模擬燈泡;
Spot Light(聚光燈):在燈光位置向 圓錐區(qū)域發(fā)射光線,只在這個局域的物體才會受到光照,模擬探照燈;
Area Light( 區(qū)域光):由一個面向一個方向發(fā)射光線,只有照射該區(qū)域內(nèi)的物體,僅烘焙是有效,用在光線較為集中的區(qū)域。
Color:設(shè)置光的顏色,可以用于警報等;
Culling Mask:可以設(shè)置光照射哪些物體,打勾的可以照射到。
為某物體添加層layer,并選中,設(shè)置攝像機的Culling Mask的該層取消打勾,則該物體不受光照射;
陰影類型:
硬陰影
軟陰影
雙面:對于一個當(dāng)面的Plane平面,背面不可見,不會產(chǎn)生陰影,設(shè)置為雙面這可以產(chǎn)生陰影;
設(shè)置單個物體的陰影:選中這個物體,在屬性設(shè)置中,可以設(shè)置其是否有陰影和接收陰影。
剔除遠處的陰影,通過編輯–>Project Settings打開如下界面
可以通過設(shè)置質(zhì)量的高低,設(shè)置場景效果,在其中的Shadows中可以設(shè)置,影子的剔除的距離等。
3. 點光源介紹
在其球體范圍內(nèi),可以照射;
3. 聚光燈光源介紹
1.在其錐體范圍內(nèi)可照射,如手電筒,探照燈。
3. 環(huán)境光
– Skybox 通過天空盒設(shè)置
– Gradient 梯度顏色
Sky天空顏色、Equator地平線顏色、Ground地面顏色
– Ambient Color 純色
4. 反射光
5. 間接光
需要將不動的物體標記為靜態(tài)的,即Lightmaping Static前打勾。
結(jié)果如下(設(shè)置為靜態(tài)的可見):
5.Realtime GI(實時GI)
所謂“實時”是指在運行期間任意的修改光源,而所有的變化可以實時更新。
操作步驟:
–游戲?qū)ο笤O(shè)置為Lightmaping Static;
– 啟用Light 面板下的Precomputed Realtime GI
– 點擊Build(如果勾選Auto編輯器會自動檢測場景的改動修復(fù)光照效果)。
在Preferences下可以設(shè)置GI緩存目錄,unity會自動進行預(yù)計算。
–Realtime Resolution :實時計算分辨率
– CPU Usage :CPU使用率,值越大渲染越高。
6.烘焙 GI
- 烘焙Lightmap
當(dāng)場景包含大量物體,實時光照和陰影對游戲性能影響很大,使用烘焙技術(shù),可以將光線效果渲染成貼圖再作用到物體上模擬光影,提高性能。 - 步驟:
a.把不動的物體標記為靜態(tài)。
b. 設(shè)置模式為Baked
- 模式:
Realtime:僅實時光照是起作用
baked:僅烘焙模式起作用
Mixed:烘焙與實時光照都起作用
通過設(shè)置Scene為Baked Lightmap Culling可以查看烘焙貼圖;
禁用光照后,貼圖如下
通過設(shè)置Scene為Baked Lightmap Culling可以查看烘焙貼圖;
結(jié)果:
也可以通過如下地方來查看實時GI和烘焙的貼圖(Realtime LightMaps和Baked Lightmaps)。
7.光源偵測 Light Probes
-
由于LightMapping只能作用與靜態(tài)(Static)的物體,導(dǎo)致運動的物體與場景中的光線無法融合,顯得不真實,可以添加一個Probe收集光影信息,然后對運動物體鄰近的幾個Probe進行插值,然后將光線作用到物體上。
-
步驟(非靜態(tài)物體):
– 創(chuàng)建游戲?qū)ο?Light Probe Group
– 添加偵測小球(小球數(shù)量要適量,可以人為添加)
– 點擊Bulid(或Auto自動修改光照效果)
– 勾選需要偵測物體的Mesh Renderer 組件中的 Use Light Probes屬性(我的為選擇Blend Probes)。
小球布局位置,一般要包含需要偵測的物體。
如下圖,小球為cube收集光影信息,通過黃色線上的小球來捕獲光影信息,然后計算物體的光照信息。
附:
本文章學(xué)習(xí)至bilibili-沒有文明的文明-史上最全Unity3D教程
總結(jié)
以上是生活随笔為你收集整理的Unity3D-光照系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux的基础知识——signal信号
- 下一篇: 操作系统——文件的逻辑结构