Shadowmask
Shadowmask?是?Shadowmask?光照模式的一個版本,由場景中的所有混合光源共用。要將 Mixed lighting 設(shè)置為 __Shadowmask__,請執(zhí)行以下操作:
打開 Lighting 窗口(菜單:__Window__ >?Lighting?>?Settings__),單擊?Scene__ 選項卡,導航至?Mixed Lighting__,然后將?Lighting Mode__ 設(shè)置為?Shadowmask。
接下來,打開?Quality Settings__(菜單:__Edit?>?Project Settings?>?Quality__),導航至?Shadowmask Mode__,然后將其設(shè)置為?Shadowmask。
請參閱混合光照相關(guān)文檔以了解有關(guān)此光照模式的更多信息,并參閱光照模式相關(guān)文檔以了解有關(guān)其他可用模式的更多信息。
陰影遮罩是一種紋理,它與相應(yīng)的光照貼圖共享相同的 UV 布局和分辨率。它存儲每個紋理像素的最多 4 個光源的遮擋信息,因為紋理在當前 GPU 上限制為最多 4 個通道。
Unity 預先計算從靜態(tài)游戲?qū)ο笸渡涞狡渌o態(tài)游戲?qū)ο蟮年幱埃⑺鼈兇鎯υ趩为毜年幱罢谡旨y理中,最多達 4 個重疊光源。如果超過 4 個光源重疊,則多余光源會回退至烘焙光照。具體要回退至烘焙光照的光源視烘焙系統(tǒng)而定并在各烘焙之間保持一致,除非修改其中某個光源重疊。光照探針還會接收多達 4 個光源的相同信息。
光源重疊是獨立于陰影接受對象計算的。因此,一個對象可受到全部來自同一個陰影遮罩/探針通道的 10 個不同混合光源的影響,只要這些光照包圍體在空間中的任何點都不重疊即可。如果某些光源重疊,則使用更多通道。如果光源確實發(fā)生重疊而所有 4 個通道都已分配,則該光源將回退至完全烘焙。
在?Shadowmask?模式下:
無論__陰影距離 (Shadow Distance)(菜單:__Edit?>?Project Settings?>?Quality?> __Shadows__)如何,靜態(tài)游戲?qū)ο笫冀K通過陰影遮罩接受其他靜態(tài)游戲?qū)ο笸渡涞年幱?。它們也會接受動態(tài)游戲?qū)ο笸渡涞年幱?,但僅限于__陰影距離__內(nèi)的陰影。
動態(tài)游戲?qū)ο笸ㄟ^陰影貼圖接受其他動態(tài)游戲?qū)ο笸渡湓赺_陰影距離__內(nèi)的陰影。它們也會通過光照探針接受靜態(tài)游戲?qū)ο笸渡涞年幱?。陰影保真度取決于場景中的光照探針的密度以及在網(wǎng)格渲染器 (Mesh Renderer) 上選擇的__光照探針__模式。
Unity 會自動合成來自靜態(tài)和動態(tài)游戲?qū)ο蟮闹丿B陰影,因為陰影遮罩(其中保存靜態(tài)游戲?qū)ο蠊庹蘸完幱靶畔ⅲ┖完幱百N圖(其中保存動態(tài)游戲?qū)ο蠊庹蘸完幱靶畔ⅲ﹥H編碼遮擋信息。
適合使用?Shadowmask?模式的一個很好的例子是,您想要構(gòu)建一個幾乎完全靜態(tài)的場景,使用鏡面反射材質(zhì)、柔和的烘焙陰影和動態(tài)陰影投射物,不要太靠近攝像機。另一個很好的例子是一個開放世界的場景,其中的烘焙陰影延伸到地平線,但沒有動態(tài)光照,如白天/夜晚循環(huán)。
陰影
下表顯示了使用?Shadowmask?模式時靜態(tài)和動態(tài)游戲?qū)ο笕绾瓮渡浜徒邮荜幱埃?/p>
?

? ? ? ? ? ?????????????
Shadowmask 模式的優(yōu)缺點
鑒于?Shadowmask?模式的性能要求,該模式非常適合以中低端 PC 和移動設(shè)備為目標的構(gòu)建。Shadowmask?模式最主要的優(yōu)缺點如下:
優(yōu)點
提供與實時光照相同的視覺效果。
提供從動態(tài)游戲?qū)ο蟮届o態(tài)游戲?qū)ο蟮膶崟r陰影。
著色器中的一個紋理操作即可處理靜態(tài)游戲?qū)ο笾g的所有光照和陰影。
自動合成靜態(tài)和動態(tài)游戲?qū)ο蟮闹丿B陰影。
具有中低級別性能要求,因為它不會將靜態(tài)游戲?qū)ο箐秩镜疥幱百N圖中。
提供間接光照。
缺點
僅通過光照探針提供從靜態(tài)游戲?qū)ο蟮絼討B(tài)游戲?qū)ο笊系牡头直媛赎幱啊?/p>
最多只允許 4 個重疊的光源體積(請參閱混合光照的“技術(shù)細節(jié)”部分下的文檔以了解更多信息)。
增加了光照貼圖紋理集的內(nèi)存要求。
增加了陰影遮罩紋理的內(nèi)存要求。