燈光模式
燈光的模式通常容易混淆,最重要的是犹菱,只有使用烘焙GI時(shí)拾稳,燈光模式的設(shè)置才有意義。
在燈光組件的屬性面板中有三種模式可供選擇:
Baked:燈光的直接和間接照明被烘焙成光照貼圖腊脱。設(shè)置為該模式后访得,該燈光在程序運(yùn)行時(shí)將不占用性能成本,同時(shí)虑椎,將生成的光照貼圖應(yīng)用到場(chǎng)景中的成本也較低震鹉。
Realtime:燈光的直接照明和陰影需要實(shí)時(shí)計(jì)算,并且不會(huì)烘焙到光照貼圖捆姜。設(shè)置為該莫時(shí)候传趾,該燈光在程序運(yùn)行時(shí)將占用一定的性能成本,具體取決于場(chǎng)景的復(fù)雜程度泥技、需要投射陰影的燈光數(shù)量浆兰、光照交疊的燈光數(shù)量等。此外珊豹,如果啟用實(shí)時(shí)GI簸呈,將進(jìn)一步帶來(lái)性能消耗,用于在程序運(yùn)行時(shí)更新場(chǎng)景中的間接照明店茶。
Mixed:一種提供烘焙和實(shí)時(shí)功能的混合模式蜕便,例如對(duì)燈光的間接照明進(jìn)行烘焙,同時(shí)對(duì)直接照明進(jìn)行實(shí)時(shí)計(jì)算贩幻。場(chǎng)景中混合模式燈光的行為和性能影響取決于我們將在后面介紹到的全局混合照明模式的選擇轿腺。
如果不使用任何GI技術(shù),或者僅使用實(shí)時(shí)GI丛楚,那么所有Baked和Mixed模式的燈光都將被作為Realtime進(jìn)行處理族壳。
下圖為讀者提供了一個(gè)決策樹(shù)和對(duì)照表,當(dāng)為場(chǎng)景添加燈光時(shí)趣些,有助于選擇合適的燈光模式。
混合照明模式
如上所述,混合模式的燈光兼具烘焙和實(shí)時(shí)功能拢操,具體取決于在 Lighting 窗口中選擇的 Lighting Mode锦亦,如下圖所示:
Unity有如下四種照明模式可供選擇:
四種模式,主要區(qū)別在于烘焙出的光照?qǐng)D庐冯、陰影圖內(nèi)容孽亲,也就影響到動(dòng)、靜態(tài)物件在運(yùn)行時(shí)的受光展父、投影效果返劲,效果越好越豐富的,開(kāi)銷(xiāo)自然也越大栖茉。
Subtractive:效果最單純的篮绿,所有顏色和陰影都烘死在光照?qǐng)D上,運(yùn)行時(shí)靜態(tài)物件不參與陰影圖渲染吕漂,結(jié)果是不管光源怎么變亲配,靜態(tài)物件的受光和陰影都不變。
Baked Indirect:內(nèi)存占用少惶凝,動(dòng)態(tài)質(zhì)量一般吼虎,消耗一般
Shadowmask Mode: Shadowmask ,好一點(diǎn)的是shadowmask:靜態(tài)物件的陰影不變苍鲜,但是受光情況可以隨光源變化而變
Shadowmask Mode: Distance Shadowmask??再好一點(diǎn)的是distance shadowmask:靜態(tài)物件的陰影和受光都可以變
可以在 Edit > Project Settings > Quality 下選擇 Shadowmask 和 Shadow Distance 思灰,若項(xiàng)目使用的是HDRP,則在 Graphics Settings 中指定的 HDRenderPipelineAsset 中混滔,默認(rèn)已經(jīng)啟用 了Shadowmask 模式洒疚,同時(shí)可以在場(chǎng)景中的 Scene Settings 游戲?qū)ο螅ㄈ魶](méi)有,需要?jiǎng)?chuàng)建)中可以設(shè)置 Max Distance 的值坯屿,如下圖所示:
HDRP 支持一種新的混合 Shadowmask 模式油湖,可以通過(guò)燈光組件的 Additional Settings 中的 Non Lightmapped Only 選項(xiàng),控制該燈光是否投射實(shí)時(shí)陰影领跛,如下圖所示乏德。若勾選此項(xiàng),當(dāng)攝像機(jī)處于 Fade Distance 內(nèi)時(shí)吠昭,燈光將投射實(shí)時(shí)動(dòng)態(tài)陰影喊括,若不勾選此項(xiàng),將使用烘焙的Shadowmask來(lái)產(chǎn)生陰影怎诫。
渲染管線對(duì)照表
LWRP和HDRP目前仍處于預(yù)覽狀態(tài),這也就意味著贷痪,一方面帶來(lái)了新的功能幻妓,另一方面,原來(lái)內(nèi)置管線提供的某些功能目前在LWRP或HDRP中不被支持。下表列出了在Unity 2018.3中各渲染管線的特性對(duì)比肉津。
場(chǎng)景照明案例
以上介紹了各渲染管線及其主要特性强胰,下面將通過(guò)幾個(gè)示例項(xiàng)目具體說(shuō)明如何應(yīng)用Unity中的照明技術(shù),每個(gè)項(xiàng)目均具有一定的代表性妹沙,讀者可據(jù)此對(duì)應(yīng)到自己的項(xiàng)目偶洋。
1. 原型制作/快速預(yù)覽
如果項(xiàng)目重度依賴 Asset Store 中的資源來(lái)構(gòu)建產(chǎn)品原型,使用內(nèi)置渲染管線可能是目前唯一適用的方案距糖,因?yàn)橘Y源商店中的大多數(shù)資源多數(shù)與HDRP和LWRP不完全兼容玄窝,盡管如此,這種情況將隨著時(shí)間的推移而得到改善悍引。如果項(xiàng)目中的資源由團(tuán)隊(duì)內(nèi)部自建恩脂,并且已經(jīng)清楚了解項(xiàng)目需求,那么可以選擇兩個(gè)SRP中的一個(gè)(即LWRP或HDRP)趣斤,或這創(chuàng)建自定義的SRP俩块。
當(dāng)項(xiàng)目處于開(kāi)發(fā)的早期階段,如果需要快速的迭代并且在照明方面獲得最大的靈活性浓领,使用完全實(shí)時(shí)的方案可能更加實(shí)際玉凯,即關(guān)閉烘焙和實(shí)時(shí)GI,如下圖所示联贩,這樣就不需要進(jìn)行任何光照預(yù)計(jì)算的過(guò)程漫仆。在這種情況下,為了查看間接照明效果撑蒜,可以考慮使用 Unity 的 Post Processing Stack V2 插件歹啼,啟用 Ambient Occlusion 效果實(shí)時(shí)查看由間接光照產(chǎn)生的陰影效果。
2. 3D移動(dòng)策略游戲
如果項(xiàng)目的目標(biāo)平臺(tái)是移動(dòng)設(shè)備座菠,LWRP 可能是確保游戲性能穩(wěn)定的絕佳選擇狸眼。如果需要定制渲染管線以更好地適應(yīng)游戲,圖形開(kāi)發(fā)人員可直接擴(kuò)展 LWRP浴滴。
如果項(xiàng)目使用 LWRP 并烘焙GI拓萌,需要注意的是,目前只有 Subtractive 照明模式可用于 Mixed 模式的燈光升略,Unity 將在以后的版本中添加 Baked Indirect 和 Shadowmask 照明模式對(duì) Mixed 燈光的支持微王。
如果出于某些原因而使用了之前的內(nèi)置渲染管線,比如品嚣,項(xiàng)目過(guò)多依賴Asset Store 中的資源炕倘,或者希望支持所有混合照明模式,在這種情況下翰撑,使用 Shadowmask 照明模式將能夠提供烘焙陰影罩旋,同時(shí)動(dòng)態(tài)對(duì)象仍然能夠投射實(shí)時(shí)陰影。如果Shadowmasks對(duì)于項(xiàng)目來(lái)說(shuō)性能成本較大,可以退而選擇更加節(jié)能 Subtractive 照明模式涨醋。最后瓜饥,如果場(chǎng)景中的燈光數(shù)量非常少,并且項(xiàng)目的目標(biāo)平臺(tái)更多考慮低端硬件設(shè)備浴骂,建議使用前向渲染乓土。
3. 3A室內(nèi)射擊游戲 (固定日照時(shí)間)
如果項(xiàng)目為了在PC和主機(jī)上為第一人稱射擊游戲呈現(xiàn)3A級(jí)視覺(jué)效果,那么HDRP是首選渲染管線溯警。同樣趣苏,圖形開(kāi)發(fā)人員也可以開(kāi)發(fā)自定義SRP。如果場(chǎng)景中包含許多投射實(shí)時(shí)陰影的燈光(比如可被擊毀或移動(dòng)的燈光道具)愧膀,那么使用使用 Baked Indirect 照明模式烘焙GI拦键,能夠使 Mixed 和 Baked 模式的燈光產(chǎn)生良好的間接照明效果。如果場(chǎng)景中投射靜態(tài)陰影的燈光占比較多檩淋,推薦使用 Shadowmasks 照明模式芬为,因?yàn)镠DRP提供了一個(gè)很好的混合Shadowmask模式,可以更好地混合實(shí)時(shí)陰影和烘焙陰影蟀悦。
由于運(yùn)行這類(lèi)游戲的硬件配置和性能較高媚朦,所以可同時(shí)使用烘焙和實(shí)時(shí)GI技術(shù)。但是日戈,正如全局照明部分所述询张,同時(shí)使用這兩種技術(shù)將顯著增加性能成本和烘焙時(shí)間,并且建議由了解所有技術(shù)細(xì)節(jié)的團(tuán)隊(duì)成員進(jìn)行設(shè)置浙炼。
4. 大逃殺類(lèi)游戲 (日夜循環(huán))
如果項(xiàng)目是運(yùn)行在PC和主機(jī)上的大逃殺類(lèi)游戲份氧,建議選擇 HDRP或者自定義擴(kuò)展HDRP,因?yàn)檫@類(lèi)游戲通常具有大規(guī)模場(chǎng)景和完全動(dòng)態(tài)的照明弯屈。如果項(xiàng)目不是為了實(shí)現(xiàn)3A級(jí)的視覺(jué)效果蜗帜,并且針對(duì)的是移動(dòng)設(shè)備或配置較低的設(shè)備,可以考慮使用 LWRP资厉。
為了實(shí)現(xiàn)晝夜循環(huán)效果厅缺,如果選擇了HDRP,則需要使用實(shí)時(shí)GI宴偿,以便在一天中的任何時(shí)間點(diǎn)模擬間接照明湘捎。為了在某些密集照明的室內(nèi)場(chǎng)景中實(shí)現(xiàn)最佳性能并最大限度地降低渲染成本,可以將某些燈光的 Indirect Multiplier 設(shè)置為0窄刘,如下圖所示:
LWRP不支持實(shí)時(shí)GI窥妇,晝夜循環(huán)必須使用自定義腳本來(lái)處理,比如娩践,在一天中調(diào)整太陽(yáng)和環(huán)境光的顏色活翩。
對(duì)于這種類(lèi)型的游戲逞带,不建議同時(shí)使用烘焙和實(shí)時(shí)GI技術(shù),因?yàn)樾阅芎蛨?chǎng)景管理方面產(chǎn)生的巨大開(kāi)銷(xiāo)纱新,對(duì)項(xiàng)目來(lái)說(shuō)是一個(gè)不可忽視的關(guān)鍵因素。另外一個(gè)原因是穆趴,這類(lèi)大型多人游戲的不可預(yù)測(cè)性脸爱,比如,性能消耗可能比密集腳本開(kāi)發(fā)的單人游戲更高未妹。
總結(jié)
由于引入了 Scriptable Render Pipelines簿废,在過(guò)去的幾個(gè)月中,Unity 的渲染水平發(fā)生了根本性的變化络它,希望本指南能夠使讀者更好地了解每個(gè)渲染管線的功能族檬,以便在自己的項(xiàng)目中使用合適的照明方案。
---------------------
作者:XR技術(shù)研習(xí)社 原文:https://blog.csdn.net/sovida/article/details/84453022