Unity光照与渲染设置学习笔记
學習了一下unity中有關光照和渲染的一些設置,現在才明白之前遇到的一些問題只是沒有正確設置而已。
unity不同版本的光照設置會有一些差異,而且可以調節的參數非常多,這里只記錄一些重要的參數和使用方法,具體使用時再查閱文檔即可。
調節這些參數的主要目的就是在性能和畫面效果上達到平衡,所以具體怎么調還是看游戲需求。
作為一個還不懂圖形學的萌新,只是從效果出發學習這些設置,并不了解原理,如果寫的不好,請見諒。
unity版本:2018.3.2f1
?
1.色彩空間
打開項目首先要設置的就是色彩空間,unity中有Linear和Gamma兩種色彩空間可供選擇,這兩種色彩空間的效果如下圖所示,很明顯Gamma空間在表現上不如Linear空間自然、真實,很容易曝光過度,所以如果想要更好的畫面效果,建議選擇Linear空間,如果追求性能,比如移動平臺游戲可以考慮選擇Gamma空間。
?unity2018.3.2f1中可以在Edit->Project Settings->Player->Other Settings下選擇色彩空間。
?
?
2.天空盒
天空盒的本質其實是一個材質,要自定義天空盒,只需創建一個材質,將shader選擇為Skybox下的一種,賦予對應的圖片,然后將材質拖入場景,就能使用自己的天空盒了!
?
3.環境光
接下來就是最重要的Lighting面板的設置了,unity2018.3.2可以在Window->Rendering->Light Settings打開,這個面板包含了大量與光照和渲染相關的設置,直接影響到游戲的畫面效果。
咱們一點一點來,先從Environment選項開始,這里包含了一些與環境光照相關的設置。
Skybox Material用于指定天空盒,跟直接把天空盒材質拖進場景沒有區別。
Sun Source不需要設置,unity會默認把場景中最強的平行光作為太陽,這樣當你旋轉平行光時,天空盒上的太陽也隨之移動,并且場景會有白天黑夜的變化。
Environment Lighting用于設置環境光源,選擇skybox則環境光來自天空盒,如果將Source設置成color就可以自定義環境光的顏色。
下圖為使用天空盒作為環境光和自定義環境光為紅色的效果,很多游戲為了營造氣氛,都會使用自定義的環境光。
? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?
Environment Reflections決定環境反射,如果你的場景中有鏡子或其他帶有反射性的物體,這個選項決定它們反射什么對象,你可以使用天空盒,或者自定義的CubeMap,值得注意的是,如果你發現反射的內容很模糊,可以調節Resolution參數, 提高反射的分辨率。
4.燈光參數
簡單說一說unity里的燈光,unity有四種燈光類型,分別是聚光燈、平行光、點光源、區域光,每種光源有一些特殊的參數可以調節。
光源模式可以選擇Realtime(實時)、Mixed(混合)、Baked(烘焙)三種,實時燈光對性能消耗最大,烘焙模式可以將預先將燈光烘焙成光照貼圖所以性能最優,而Mixed介于兩者之間。
Shadow Type決定了光源對陰影的影響,可以選擇無陰影、硬陰影或軟陰影,還可以調節陰影的強度、分辨率、偏移等,軟陰影最耗性能,硬陰影其次。
?
5.全局光照(Global illumination)
接下來是兩個全局光照選項,分別是實時全局光照和烘焙全局光照,通常這兩個只要開一個就行,取決于你的游戲使用實時光照還是烘焙光照。
Mixed Lighting下可以選擇Lighting Mode,有Baked Indirect,Subtractive,Shadowmask三種
其中Subtractive效果最差,性能最好,Baked Indirect效果最好,性能最差,Shadowmask居中。
?
6.烘焙光照參數
下面來看看烘焙光照相關的參數,這決定了你烘焙出的光照貼圖是什么樣的。
這里只說一些重要的參數。
LightMapper可以選擇烘焙方案,一般默認就行。
Lightmap Resolution光照貼圖分辨率,這直接影響烘焙的時間長短。
Lightmap Size決定光照貼圖大小。
Compress Lightmaps決定是否壓縮光照貼圖,如果追求更好的畫面請取消壓縮。
Ambient Occlusion決定是否開啟環境光遮蔽,想要更真實的效果請開啟。
Indirect Intensity決定間接光的強度,可以調整場景的整體亮度。
設置好這些參數之后記得將場景中的靜態物體設置為Lightmap Static,這樣才會受到烘焙光照的影響,然后點擊Lighting面板最下方的Generate Lighting,即可開始烘焙光照貼圖。
烘焙完之后相當于把光照貼到了物體身上,即使把場景中的燈光刪除,光照也依然存在,不過此時移動燈光或物體,物體的陰影并不會改變,所以只有不移動的物體才適合烘焙光照。
?
7.后處理
最后簡單說說屏幕后處理,這是一種快速提升游戲畫面效果的“黑科技”,在unity asset store上可以免費下載unity官方的后處理插件Post Processing Stack。
使用方法如下:
在project面板中右鍵Create->Post-Processing Profile創建一個后處理配置文件
后處理配置文件中有很多效果選項,點擊前面的勾即可啟用,每個選項有各種參數可以調節,感興趣可以自己嘗試,我個人認為Bloom真的非常好用,它能使畫面亮部產生光暈效果,讓你的游戲瞬間變得如夢似幻,還有Color Grading,可以改變畫面的色調、飽和度、對比度等等,非常實用,可以幫助你快速營造出特定的場景氛圍。
設置好配置文件之后之后,在攝像機上掛載Post Processing Behaviour這個腳本,并把我們剛配置的文件拖上去,然后就大功告成了!
下面是不使用后處理和使用后處理的對比,我沒有對物體和燈光做任何改變,只隨手調了一些后處理參數,可見后處理的強大。
?
?
?
關于光照和渲染,其實還有太多的知識,但普通的開發者使用這些設置已經能達到不錯的效果了。
最近其實還是挺迷茫的,寫博客的時候反而能靜下心來,倒也是意料之外的收獲。
接下來的規劃準備學習一些編程模式和算法,時間充裕的話想把游戲美術搞起來,加油!
?
轉載于:https://www.cnblogs.com/LiveForGame/p/10539273.html
總結
以上是生活随笔為你收集整理的Unity光照与渲染设置学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HashSet 与TreeSet和Lin
- 下一篇: Win7环境配置Oracle 11g安装