生活随笔
收集整理的這篇文章主要介紹了
Unity学习日志_全局光照GI系统简介
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Unity學(xué)習(xí)日志_全局光照GI系統(tǒng)簡介
1. 何為GI?
全局光照,簡稱為GI,是一個用來模擬光的互動和反彈等復(fù)雜行為的算法。要精確的仿真全局光照非常的具有挑戰(zhàn)性,付出的代價也很高,正因如此,現(xiàn)代游戲會在一定程度上預(yù)先處理這些計算,而非在游戲運行時實時計算。Unity的全局光照系統(tǒng)分為Enlighten和Progressive Lightmapper,兩者之間可以通過lighting窗口進行切換。
在Unity的5.6版本之前的5.x中,主要使用了Geomerics公司的Enlighten來提供實時全局照明以及烘焙全局照明,在5.6之后Unity引入了新的Lightmapper——Progressive來提供烘焙全局照明并且提供了更多的混合光照模式。
2. 直接光照:
unity中的直接光照由Light組件提供:
1. 平行光(Directional):
平行光的光效與其位置無關(guān),只與其角度有關(guān),類似于太陽的效果。
屬性:
Color:燈光顏色。
Mode:光照模式,有RealTime(實時),Baked(烘焙),mixed(混合)。其中Baked只對LightMap Static物體有效。
Intensity:燈光強度。
Indirect Multiplier:間接光強度,只對LightMap Static物體有效。
Shadow Type:陰影類型,有Soft Shadows(軟陰影),hard Shadows(硬陰影),None(無陰影)。
RealTime Shadows:實時陰影設(shè)置
Strength:陰影強度/透明度。Resolution:陰影分辨率。Bias:陰影偏移量 Cookie:光線圖案。
Cookie Size:大小。
Draw Halo:是否開啟光源光暈。
Flare:在選中光源的位置出現(xiàn)鏡頭光暈。
無鏡頭光暈:
有鏡頭光暈:
RenderModel 渲染模式:
Auto:自動,根據(jù)光源的亮度以及運行時Quality Settings的設(shè)置來確定光源的渲染模式。Important:重要,逐像素進行渲染,一般用于非常重要的光源渲染Not Important:光源總是以最快的速度進行渲染。 Culling Mask:剔除層,被選中的層才會有光效。
2. 點光源(Point):
屬性:
Range:光照范圍,也會間接影響光照強度,照的范圍越遠間接導(dǎo)致其光照強度越強。
3. 聚光源(Spot):
屬性:
Range:與點光源同理。Spot Angle:聚光角度,決定開合角度的大小。
4. 區(qū)域光(Area):
注意區(qū)域光僅限baked模式下使用。所以需要將區(qū)域光內(nèi)物體設(shè)置為靜態(tài)。
屬性:
Shape:區(qū)域光形狀,有Rectangle(矩形),Disc(圓形)。Width:區(qū)域光寬度。Height:區(qū)域光高度。(Radius):區(qū)域光半徑。Cast Shadows:場景內(nèi)靜態(tài)物體陰影剔除。
3. 間接光照:
物體表面在接受光照后反射出來的光。注意:只有標(biāo)記 Lightmaping Static 的物體才能產(chǎn)生間接光照。
4. 環(huán)境光照:
屬性:
SkyBox Material:天空盒材質(zhì)。Sun Source:太陽光源。Environment Lighting:環(huán)境光設(shè)置: Source:環(huán)境光源。Intensity Mutiplier:強度乘數(shù)。Ambient Mode:環(huán)境光模式。
5. 反射光照:
屬性:
Source:反射源。Resolution:反射光分辨率。Compression:反射光壓縮。Intensity Mutiplier:強度乘數(shù)。Bounce:反彈次數(shù)。
6. 實時GI:
所謂"實時"是指在運行期間任意修改光源,而所有的變化可以立即更新。使用實時GI需要勾選以下選項。
此選項勾選后場景中的實時燈光將可以提供間接光照,最直接影響是直接光照模式的realTime可以使用。之后將需要用到實時GI的物體設(shè)置為靜態(tài)(因為間接光只有靜態(tài)物體可以使用)。
7. 烘焙GI:
勾選此選項后將可以使用直接光烘焙模式。勾選后混合燈光是烘焙的,使用指定的光照模式(baked)和烘焙光都將完全烘焙,且游戲運行時不能調(diào)節(jié)。
8. 混合GI:
混合GI調(diào)節(jié)的面板和烘焙GI一樣,這里主要選擇光照混合模式(Lighting Mode),有Shadowmask,Baked Indirect,Subtractive。
這里以性能較好的Subtractive模式為例(使用時要將自動烘焙選項關(guān)閉):
Subtractive模式下,GI會對靜態(tài)物體使用烘焙,對非靜態(tài)物體使用實時。
首先先對靜態(tài)物體進行烘焙:
烘焙完成后將光源移動到非靜態(tài)物體上:
此時原烘焙并沒有消失。
9. 光照探針:
當(dāng)一個動態(tài)物體進入一個烘焙場景后不能得到光源信息無法渲染陰影就顯得游戲非常的假,所以這個時候我們就可以引入光照探針組來存儲場景中的光源信息,由此為動態(tài)物體渲染陰影。
當(dāng)一個動態(tài)物體進入烘焙區(qū)的效果(漆黑一片,沒有陰影):
添加光照探針后(產(chǎn)生光效)類似效果也可以用混合GI實現(xiàn):
1. 光照探針組面板:
點擊Edit Light Probes后將可以編輯下面的屬性。
屬性:
Show Wireframe:是否顯示網(wǎng)格(黃球之間的粉線)。selected probe position:選中探針的位置。Add Probe:添加一個探針。Select All:選擇所有探針。Delete Selected:刪除選擇的探針。Duplicate Selected:復(fù)制粘貼所選探針。
10. 反射探針:
反射探針可以增強場景反射效果。也可以用來制作鏡子特效(鏡子特效也可以使用Render Texture來實現(xiàn))。反射探針放入場景即可有效。
屬性:
Type:反射探針的類型,有baked,Custom,realTIme。Refresh Mode:僅realtime模式下有效,反射探針的刷新時間。Time Slicing:僅realtime模式下有效,發(fā)射探針的刷新時間間隔。Importance:探針重要度,值越高越重要。Intensity:反射強度。Box Projection:勾選此項后會啟動反射UV映射的投影。Box Size:反射區(qū)域大小。Box Offset:反射區(qū)域偏移量。resolution:反射圖像的分辨率。HDR:是否啟用高動態(tài)范圍渲染。Shadow Distance:渲染探針繪制的陰影距離。Clear Flags,Background,Culling mask:和相機中的設(shè)置同理。Use Occlusion Culling:是否啟用遮擋剔除。Clipping Planes:探針相機的視野范圍。
制作鏡子:
為一個物體添加反射探針組件:
將物體材質(zhì)shader修改為鏡面材質(zhì):
將物體鏡面效果拉至最大:
鏡子制作完成:
11. Lighting窗口的其他設(shè)置:
屬性:
LightMapper:指定烘焙系統(tǒng)用于生成烘焙的光照貼圖。 Enlighten:Enlighten實時全局光照技術(shù)。Progressive CPU/GPU:漸進光照貼圖技術(shù)。 Prioritize View:指定光照貼圖是否應(yīng)該優(yōu)先烘焙場景視窗中的對象。Direct Samples:控制烘焙系統(tǒng)將使用的直接光照計算的樣本數(shù)量。Indirect Samples:控制烘焙系統(tǒng)中使用間接光照計算的樣本數(shù)量。Bounces:控制烘焙系統(tǒng)間接光照計算的最大反彈次數(shù)。Filtering:指定用于減少烘焙光照貼圖中的噪點的方法。Indirect Resolution:將每個單位使用的紋理設(shè)置為通過間接光照的對象的分辨率,值越高,烘焙時間越長。Lightmap Resolution:將每個單位使用的紋理設(shè)置為通過烘焙全局光照對象的分辨率,值越高,烘焙時間越長。Lightmap Padding:設(shè)置烘焙光照貼圖中紋理的間隔。Lightmap Size:以像素為單位設(shè)置光照貼圖的分辨率,值按照平方計算,例如1024表示分辨率為1024*1024。Compress Lightmaps:是否壓縮光照貼圖,壓縮后會減少存儲空間,但有可能存在一些偽像。Ambient Occlusion:是否在烘焙貼圖的結(jié)果中包括環(huán)境遮擋,使其能夠模擬在其中反射的軟陰影。Final Gather(enlighten中的設(shè)置):啟動時,將以額外的時間為代價來提高視覺質(zhì)量。Directional Mode:控制光照貼圖是否存儲光照環(huán)境中的定向光照信息,選項為定向和不定向。Indirect Intensity:超過1.0的值將增加間接光的強度,反之降低。Albedo Boost:通過增強場景中材料的反照率來控制便面之間反射的光量。Lightmap Parameters:允許調(diào)整影響使用全局光照生成對象光照貼圖的高級參數(shù)。Other Settings: Fog:是否使用迷霧效果。Halo Texture:光暈紋理。Halo Strength:光暈強度。Flare Fade Speed:鏡頭耀光在初次出現(xiàn)后從視野消失的時間。Flare Strength:鏡頭耀光強度。
總結(jié)
以上是生活随笔為你收集整理的Unity学习日志_全局光照GI系统简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。