RealtimeResolution
原文:https://unity3d.com/cn/learn/tutorials/topics/graphics/realtime-resolution?playlist=17102
使用預(yù)計算實時GI設(shè)置場景照明時别洪,需要做出的首要決定之一是確定場景的默認(rèn)實時分辨率。實時分辨率是每個世界單位使用的實時光照貼圖像素(紋理像素)的數(shù)量。
可以在Lighting窗口中觀察或設(shè)置實時分辨率尝抖,如下所示:
(1)打開Lighting窗口(Window > Lighting)毡们,然后選擇“ 場景”選項卡。
(2)通過選中預(yù)計算實時GI復(fù)選框昧辽,確保勾選Precomputed Realtime GI衙熔。
(3)觀察Precomputed Realtime
GI復(fù)選框下方的Realtime Resolution屬性。
一搅荞、選擇適當(dāng)?shù)膶崟r分辨率
在設(shè)置場景時红氯,了解項目所需的單位比例非常重要」就矗可能是在你的項目中痢甘,一個單位是一米,一英尺或一厘米茉贡。Unity單元在現(xiàn)實世界范圍內(nèi)沒有默認(rèn)等效性塞栅,因此用戶可以決定單位代表什么。
在我們的示例項目中腔丧,我們確定一個單位相當(dāng)于1米放椰。某些物理概念假設(shè)相同。例如愉粤,在Unity中砾医,重力以每秒的單位表示為默認(rèn)值。假設(shè)一個單位相當(dāng)于1米衣厘,因此對于現(xiàn)實世界的游戲場景來說是一個很好的設(shè)置如蚜。
您的場景的實時分辨率通常可以根據(jù)游戲世界的比例來確定头滔。例如怖亭,你的場景是一個小但人口稠密的室內(nèi)環(huán)境,在反射的燈光下有很多變化嗎坤检?在這種情況下兴猩,為了捕獲這種更詳細(xì)或“高頻”的照明,更高的光照貼圖分辨率(例如每單位2-3個紋素)可能是合理的早歇。
也許你的場景是一個大型戶外環(huán)境倾芝,世界規(guī)模要大得多。您可能在面積上有數(shù)百甚至數(shù)千個單位的表面箭跳,幾乎沒有變化來修改反射光的顏色晨另。在諸如此類的情況下,適合于捕獲室內(nèi)場景中存在的復(fù)雜照明細(xì)節(jié)的分辨率在應(yīng)用于大型且不太特征的室外環(huán)境時將是浪費的谱姓。我們將浪費寶貴的CPU時間和可用內(nèi)存借尿,因為必須存儲和更新對場景整體外觀沒有太大貢獻(xiàn)的光照貼圖。更重要的是,出于本教程的目的路翻,我們將增加在照明預(yù)計算期間必須考慮的光照貼圖像素的數(shù)量狈癞。這會對預(yù)計算時間產(chǎn)生巨大影響。
在室外環(huán)境的情況下茂契,對于場景中的大對象蝶桶,適當(dāng)?shù)墓庹召N圖分辨率可能介于每單位0.5-1個紋素之間,或者對于地形可以是0.1-0.5個紋素掉冶。
二真竖、預(yù)先計算的實時GI分辨率與傳統(tǒng)光照貼圖相比
Unity的預(yù)計算實時GI所需的實時分辨率值比“傳統(tǒng)”光照貼圖紋理密度小幾個數(shù)量級。這是因為我們只捕捉這些光照貼圖中的間接照明厌小,而這往往是非常柔和或“低頻率”恢共。使用預(yù)計算實時GI時,通常會通過實時陰影而不是高分辨率光照貼圖提供清晰陰影璧亚。
使用傳統(tǒng)光照貼圖技術(shù)中看似合適的值(例如每單位30個紋素)可能會導(dǎo)致預(yù)計算失敗或無法完成旁振。對于室內(nèi)場景,更合適的值是每單位2-3個紋素涨岁,對于室外環(huán)境則是0.5-1拐袜。這假設(shè)我們正在使用單位大小為1單位= 1米的人體場景。如果世界范圍大不相同梢薪,則需要相應(yīng)地調(diào)整這些值蹬铺。
最初設(shè)置場景的實時分辨率時秉撇,我們在場景中指定靜態(tài)對象的默認(rèn)分辨率甜攀。在Inspector頂部標(biāo)記為Lightmap Static的MeshRenderer的新GameObject將使用此值,直到另行修改琐馆。
除了為整個場景選擇實時分辨率外规阀,我們還可以選擇基于每個對象更改光照貼圖分辨率。如果我們需要更高分辨率提供的額外保真度瘦麸,我們可以有選擇地增加這個值谁撼。通常,將最常用的分辨率設(shè)置為“場景”默認(rèn)值滋饲,然后手動提高需要更多照明細(xì)節(jié)的對象的分辨率厉碟。我們將在本教程后面討論修改每個對象的分辨率的方法。
三屠缭、設(shè)置場景的實時分辨率
如果您想繼續(xù)學(xué)習(xí)箍鼓,我們將使用本頁頂部鏈接的Lighting
Optimization Tutorial附帶的LightingTutorialStart場景。
在我們的示例場景中呵曹,我們有一個室外環(huán)境款咖,中等大小的地形顏色相當(dāng)一致何暮。為此,每單位0.5個紋素的低實時分辨率足以捕獲場景中其他對象的反射光铐殃。但是郭卫,也有一些木屋。這些更加詳細(xì)背稼。由于場景中的房屋數(shù)量多于地形對象,因此我們應(yīng)將實時分辨率設(shè)置為適合房屋玻蝌。然后我們可以單獨修改地形對象使用的分辨率蟹肘。這將減少準(zhǔn)備場景時所需的工作量「┦鳎考慮到這一點帘腹,我們將使用每世界單位1個紋素的值作為默認(rèn)的實時分辨率。
打開Lighting窗口(Window > Lighting)并選擇Scene選項卡许饿。
將實時分辨率值設(shè)置為1阳欲。
鑒于我們已確定場景的比例為1單位= 1米,這意味著Unity的預(yù)計算實時GI創(chuàng)建的單個光照貼圖將相當(dāng)于1x1m的大小陋率。這可能看起來很低球化,但請記住,我們只捕獲間接光瓦糟。場景中的實時燈光將提供直接照明的清晰陰影和鏡面反射筒愚。