1. 程式人生 > >UE4 Lightmass 全域性光照

UE4 Lightmass 全域性光照

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

Unreal Engine 4.9 照亮環境
  • SHARE:

lighting_overview_banner_001.png

本頁面的內容:

Lightmass 可以建立光照貼圖,該光照貼圖具有像區域陰影和間接漫反射這樣的複雜光照互動。能夠預計算一部分靜態和固定的光照的效果。

編輯器和 Lightmass 間的通訊是通過 Swarm Agent

 來進行處理的,它可以在本地管理光照構建,或將光照構建分佈到遠端機器上。 Swarm Agent 預設開啟時在最小化的狀態,它會更新光照構建的過程進度,並顯示哪些機器當前在為光照構建工作,每臺機器的進度是什麼,每臺機器在使用多少執行緒。

下面是一個 Swarm Agent 的截圖(在底部附近的長條顯示了光照構建完成情況。)

SwarmAgent.png

靜態燈光和固定燈光的特性

間接漫反射

到目前為止,間接漫反射(Diffuse Interreflection)是在視覺效果上最重要的全域性光照效果。光源預設使用 Lightmass 進行反射, 您的材質上的 Diffuse(漫反射)因素將會控制在各個方向上將反射多少光線(及什麼顏色)。這個效果有時稱為顏色擴散。 請記住間接漫反射是在所有方向均勻地反射的入射光線,這就意味著觀看方向及位置的不同對於看到效果沒有影響。

這裡是一個使用單一的定向光源且僅顯示直接光照的情況下使用 Lightmass 構建的場景。光源沒有直接照射到的地方是黑色的。這便是沒有全域性光照的效果。

3DirectOnly.jpg

這是第一次漫反射全域性光照的效果。請注意左側椅子下面的陰影,這稱為間接陰影,因為它是間接光照的陰影。漫反射的反射光線的亮度和顏色, 是由入射光線及同光源進行互動的材質的漫反射條件決定的。每次漫反射光線比上一次更暗,因為表面會吸收光源的某些光線,而不是將其反射回去。 由於柱子的基部更加靠近直接光源區域,所以它們比其它的表面獲得了更多的間接光照。

3FirstBounceOnly.jpg

這是第二次漫反射。光源已經變得更加的微弱,並且最終將會分散。

3SecondBounceOnly.jpg

這裡是組合了 4 次漫反射的場景。模擬的全域性光照效果比手動放置補充光源更加詳細並真實。尤其是間接陰影,這是使用補充光源所不能實現的。

3FourBounces.jpg

反射光線獲得底下材質的漫反射顏色,正如您在下面所看到的。這便是術語 顏色擴散(Color Bleeding) 產生的原因。 顏色擴散在使用高飽和顏色處是最明顯的。您可以通過提高在物件、材質或關卡中的 DiffuseBoost 來誇大這個效果。

diffusebounce_T.JPG diffusebounce_L.JPG
   

角色光照

Lightmass 在 Lightmass 重要體積 內均勻的 3D 網格中以較低的解析度放置樣本。 同時在角色可能會其上面行走的向上平面上以較高的解析度放置樣本。每個光照樣本可以捕獲各個方向的間接光照,但是不捕獲直接光照。

第一個圖片是地面上放置的光照樣本在除錯狀態下呈現的效果,第二個圖片是同一場景在帶光照模式下的效果。注意在紅色掛毯上的樣本是如何獲得紅色的反射光線的。 樣本看上去是單一的顏色,但它們確實在從各個方向捕獲光照。

02CharacterLighting.jpg 02CharacterLightingLit.jpg
   

然後將使用 間接光照快取 為可移動的物體的間接光照,根據捕獲光照樣本做插值計算。這些間接光照影響光照環境陰影的顏色,但不影響方向。 通過 顯示(SHOW)->視覺化(Visualize)->光照樣本體積(Volume Lighting Samples)在檢視中預覽。

點選檢視 間接光照快取 文件來了解更多內容。

侷限性

  • 體積中的樣本預設設定在大地圖下會導致大量的樣本數量。這最終會導致間接光照快取的插值計算時間很長。採用靜態光照等級來減少大地圖中的樣本數量。

  • 在 Lightmass 重要體積 之外的可移動物體將具有黑色的間接光照。

環境遮擋

Lightmass 自動地計算詳細的間接陰影,但是為了達到藝術目的或者提高場景中的真實程度,誇大間接陰影是有幫助的。

環境遮擋 是您從具有均勻光照的上半球上獲得的間接陰影,就像陰暗的天空。Lightmass 支援計算環境遮擋,並可以把它應用到直接及間接光照上, 然後把它烘焙到光照貼圖中。環境遮擋在預設情況下是開啟的,可以在世界設定中的 Lightmass 設定下取消勾選 使用環境遮擋 來關閉。

第一個圖片的場景是具有間接光照,但是沒有環境遮擋的效果。第二個圖片的場景還是和剛才一樣的場景,但是它的直接和間接光照都應用了環境遮擋, 請注意檢視物體結合處的地方變暗了。

9NoAO.jpg 9WithAO.jpg
無環境遮擋 有環境遮擋

環境遮擋的設定

Property Description
是否顯示環境遮擋 當構建光照時,僅使用遮擋因素覆蓋光照貼圖。這對檢視具體的遮擋因素及比較不同的設定的效果是有用的。
最大遮擋距離 一個物體對另一個物體產生遮擋的最大距離。
完全被遮擋的樣本片段 為了達到完全遮擋,所取樣的必須遮擋的樣本部分。注意還有一個基於每個圖元的FullyOccludedSamplesFraction項,它允許控制一個物件對其他物件的遮擋程度。
遮擋指數 指數越高,對比越明顯。
92Defaults.jpg 92MaxDist5.jpg 92MaxPct80.jpg 92Exponent2.jpg
預設環境遮擋設定(最大遮擋距離為 200、完全被遮擋的樣本片段為 1.0、遮擋指數為 1.0) 最大遮擋距離為 5,刪除了低頻率遮擋,僅保留了角落處的遮擋。 完全被遮擋的樣本片段的值為 0.8。遮擋在整個範圍內逐漸變暗,遮擋範圍大於等於 80% 的區域會設定為黑色。 遮擋指數為 2。遮擋從中間範圍處快速地轉換為飽和的黑色,遮擋被推向了角落處。

在間接光照計算次數大於0的情況下進行光照構建時,環境遮擋幾乎沒有效能消耗。

侷限性

  • 如果要使環境遮擋的效果看上去很好,則需要使用一個相當高的貼圖解析度,因為它在角落的變化很快。由於頂點通常在角落處,而這些地方的環境遮擋是最高的,從而使得網格物體的大部分割槽域都是黑色的,最終導致頂點光照貼圖會產生奇怪的效果。

  • 環境遮擋的在預覽級別下進行構建的質量不會很好,因為環境遮擋需要很多密集的光照樣本(就像間接陰影一樣)。

蒙板陰影

Lightmass 在計算陰影時考慮了 BLEND_Masked 材質的不透明蒙板。在編輯器視口中剪掉的那部分材質也不會產生任何陰影,這允許從樹木和植被獲得更加詳細的陰影。

masked.JPG masked_L.JPG
   

僅對固定光照起效的特性

彎曲法線天空遮擋(Bent Normal Sky Occlusion)

當 天光 的移動型別設定為固定時,Lightmass 將以彎曲法線的方式生成直接遮擋。

距離場陰影貼圖

Lightmass 為 固定燈光 計算距離場的陰影貼圖。距離場陰影貼圖能在即使是較低的解析度下都保持較好的曲線形狀,但它們並不支援區域陰影或半透明陰影。

僅對靜態光照起效的特性

區域燈光和陰影

對於 Lightmass,所有型別為靜態的光源在預設情況下都是區域光源。點光源和聚光源所使用的形狀是球型, 它們的半徑通過使用在 LightmassSettings 下的 LightSourceRadius 進行設定。定向光源使用一個圓盤,放置在當前場景的邊緣。 光源的大小是控制陰影的柔和度的兩個因素之一,另一個因素是從接受陰影位置到陰影投射的位置之間的距離。 隨著這個距離的增加,區域陰影將會變得越柔和,就像現實生活中的情形一樣。

第一個圖片是一個使用靜態光照的定向光源,半影的大小在每處都是一樣的。第二個圖片是由 Lightmass 計算生成的區域陰影,陰影的銳化程度由光源的大小和遮光物體的距離控制。 可以看到柱子的陰影在越接近地面的位置銳度值越大。

7OldUE3Shadows.jpg 7LightmassShadows.jpg
   

點光源和聚光源的光源半徑以黃色線框表示,但是光源的影響半徑以青色線框表示。大多數情況下,要確保光源自身的半徑不會和任何能夠產生陰影投射的幾何體相交,否則該光源會在那個幾何體的兩側都產生光照效果。

AreaLight.png

半透明陰影

光源穿過投射靜態陰影的網格物體的半透明材質將會丟失一些能量,從而導致半透明陰影。

translucent_T.JPG

半透明陰影顏色

穿過材質的光線量稱為透射(Transmission),每個顏色通道的範圍是 0 到 1。0 表示完全不透明,1 則意味著入射光線穿過且沒有受到影響。 由於材質中並沒有留給透射的輸入引數,所以當前它從其他的材質輸入而產生關聯效果,說明如下:

  • 帶光照材質

    • BLEND_Translucent 和 BLEND_Additive:Transmission = Lerp(White, BaseColor, Opacity)

    • BLEND_Modulate: Transmission = BaseColor

  • 無光照的材質

    • BLEND_Translucent 和 BLEND_Additive: Transmission = Lerp(White, Emissive, Opacity)

    • BLEND_Modulate: Transmission = Emissive

這意味著在不透明性為 0 時,材質將不會過濾入射光線,將不會產生半透明陰影。當不透明性為 1 時,入射光線將被材質的自發光(Emissive)或基礎顏色(BaseColor)(取決於是否為 Lit 材質)過濾。 要留意的是:間接光照有時會沖淡半透明陰影,並使陰影的顏色不如半透明材質自發光或漫反射光線顏色那樣飽和。

半透明陰影銳度

有幾個因素控制半透明陰影銳度。

在第一個圖片中,使用了一個大的光源(光源角度 Light Source Angle 為 5 的定向光源),在第二個圖片中,使用了一個小的光源(光源角度為 0 )。

5LargeLightSource.jpg 5SmallLightSource.jpg
   

在第一個圖片中,使用了一個小的光源,但是 lightmap 的解析度太低,以至於不能捕獲到清晰的半透明陰影。 在第二個圖片中,材質的匯出解析度太低(由材質編輯器中的匯出解析度縮放值 Export Resolution Scale 控制),以至於不能得到足夠銳度的陰影效果。

5LowLightmapResolution.jpg 5LowExportResolutionScale.jpg
   

半透明材質也會影響間接光照效果。在下圖中,窗戶基於它的 Transmission 過濾了入射光線,然後過濾後被修改了色彩的光線繼續在場景中反射。

TranslucentShadowIndirectLight.jpg

侷限性

  • 目前, 半透明材質 還不能散射光線,所以它們不能把顏色擴散到它們周圍的物體上。

  • 目前,第一次漫反射不會受到半透明陰影的影響。這意味著,第一次漫反射後的光線穿過一個透明材質時將不會被材質的 透射 Transmission 過濾。

  • 目前,不支援折射(由透射而產生的散焦)。

使用 Lightmass 來獲得最佳質量

使得光照變得顯而易見

漫反射貼圖

在渲染過程中,帶光照資訊的畫素,其顏色由 BaseColor * Lighting 來決定,因此基礎顏色直接影響著光照的視覺效果。 高對比度的貼圖或暗色漫反射的貼圖會使光照顯得不太明顯,而低對比度、中度漫反射貼圖將會使光照的細節更好的顯示。

對比以下兩張圖對光照效果的表現,都是使用 Lightmass 構建,第一個圖片中場景使用中間範圍色彩取值的漫反射貼圖,第二個圖片的場景使用了較暗的漫反射貼圖,色彩也很雜亂。 第二個圖片的場景中只有高頻率的改變才能讓效果顯著,比如陰影的變換。

94MidToneDiffuse.jpg 94DarkDiffuse.jpg
   

無光照檢視模式(Unlit Viewmode)對於檢視 Diffuse 的資訊是非常有用的。 下圖中第一個圖片中的場景在無光照檢視模式下看上去平面且單調,這意味著是光照完成了所有的工作,最終畫素顏色的變化主要依賴於光照的不同。 (要獲得好的光照效果,場景在無光模式下應該展現的比較平面並且無趣。) 烘培光照以及其他在漫反射貼圖中的功能將會抵消光照。

94MidToneDiffuseUnlit.jpg 94DarkDiffuseUnlit.jpg
   

在無光照模式下,對不同的圖片部分使用編輯器的顏色拾取器,可以看到第一個圖片中場景的漫反射值大約是 0.5, 而第二個圖片中場景的漫反射值大約是 0.08。在 Photoshop 中檢視這些無光模式下的圖片的直方圖,可以更好地看到這些漫反射貼圖的分佈。

Photoshop 是在 gamma 空間中顯示顏色值,所以 186(.73)事實上是黑色和白色之間的中間值,而不是值 127(.5)。* 第一個圖片顯示了要獲得顯著的光照效果時,柱狀圖應該呈現的樣子。

hist_Spo.jpg hist_UT.jpg

光照設定

  • 避免環境光!環境光,比如 Ambient cubemap,會給您的關卡新增一個常量環境條件,這會降低在非直接照亮的區域中的對比度。

  • 設定光源,以便在直接光照區域和間接光照區域有較高的對比度。這個對比效果將使陰影變換的位置很明顯,並使關卡具有更好的縱深感。

  • 設定光源,使得明亮的區域不會太明亮,而較暗的區域也不會是完全黑色而是仍然可以看到細節。在最終的目標顯示器上檢查黑暗區域是很重要的。

改進光照質量

光照貼圖解析度

具有高解析度的光照貼圖是獲得清晰、高質量的光照貼圖的最好方法。 使用高解析度的光照貼圖會由於佔用了更多的貼圖共享記憶體及增加構建時間而帶來效能上的下降,所以這是一個妥協。 理想狀態下,高解析度的光照貼圖應該分配在視覺效果影響比較重要的區域周圍及頻繁出現陰影的地方。

Lightmass Solver 質量

Lightmass Solver 的設定基於在光照構建選項(Lighting Build Options)的對話方塊中所要求的構建質量來自動地進行相應設定。 產品級(Production)選項將會提供足夠好的質量,以至於應用漫反射貼圖導致失真都不會被察覺。

獲得最佳的光照構建時間

有幾種改善您的 Lightmass 構建時間的方法:

  • 僅在擁有高頻率(變化很快)的光照區域內使用高解析度光照貼圖。降低不在直接光照中或不受高銳度的間接陰影影響的 BSP 或靜態網格物體的光照貼圖解析度。 這樣會在最容易引起注意的區域產生高解析度陰影。

  • 玩家永遠不會看到的表面,應該設定為儘可能低的光照貼圖解析度。

  • 使用 Lightmass 重要體積 來包含最重要的區域(恰好在遊戲區域的周圍)。

  • 在整個地圖上優化光照貼圖解析度,以便網格物體的構建時間更加均衡。光照構建的速度永遠不會快於那個構建速度最慢的單一物體,無論有多少個機器在同時進行分散式構建。 避免在一個較大的關卡區域使用大量連續的網格物體並且設定了高解析度的光照貼圖。在這種情形下應該將物體切割分散,這在多核的機器上將顯著改善構建時間。

  • 具有自我遮蔽的網格物體會需要更多的時間來構建光照,比如一個有好幾個平行層的結構物體會比單純的平面要花費更多的時間。

光照構建資訊 Lighting Build Info 對話方塊是一個改善光照構建時間的重要工具。首先,是希望看見要構建光照的這個關卡的統計資訊。 然後,開啟 構建 Build->光照資訊 Lighting Info->靜態網格物體光照資訊 下的對話方塊。從下拉框中選擇 光照構建資訊 Lighting Build Info。 這裡可以看到一個排序的網格物體列表,以及為它們構建光照所花費的時間。

LightingBuildInfo.png

Lightmass 設定

Lightmass 重要體積

雖然許多地圖中的網格物體都位於編輯器網格邊緣的外面,但實際上需要高質量光照的活動區域(playable area)是非常小的。 Lightmass 基於關卡的大小來發射光量子,所以這些不易引起人注意的網格物體將會大大地增加需要發射的粒子的數量,並且會增加光照的構建時間。 LightmassImportanceVolume 控制 Lightmass 發射光量子的範圍,允許您將粒子集中在需要詳細間接光照的區域。 在重要體積之外的區域僅獲得低階質量的間接反射光照。

第一個圖片顯示了一個多人遊戲地圖的頂視角俯視的線框圖。實際上需要高質量光照的活動區域是在中央一小塊綠色部分。

第二個圖片中顯示了該多人地圖活動區域的放大的內容,並做了正確的 LightmassImportanceVolume 設定。 LightmassImportanceVolume 降低了光源的區域半徑,從 80,000 個單位到 10,000 個單位,要照亮的面積減少了 64 倍。

JacintoImportanceFar.jpg JacintoImportanceNear.jpg
   

在 Modes 選單的 Volumes 分頁上,選擇並拖拽 Lightmass Importance Volume 到場景關卡中便能建立它,然後可以擺放到所需要的位置並縮放到所需要的大小。

AddingLightMassVolume.png

也可以將一個 Brush 轉換成 Lightmass Importance Volume,在 Details 面板的 Actor 的區塊下的選擇 Convert Actor 下拉框。

ConvertBrush_Actor.png

在下拉框中,可以看到一個選單列表,在其中選擇所需要的 Actor 型別便能替換當前的 Brush。

ConvertBrush_LightMassVol.png

如果放置了多個 Lightmass Importance Volume,大部分的光照構建都將在一個包含了所有的 Volume 的邊界框內處理。不過體積光照樣本仍然會僅放置在那些較小的體積內。

世界設定

Lightmass 額設定可以在 世界設定 World Setting 中的 Lightmass 部分調整。

worldlightmasssettings.png

可以通過點選 主工具欄 的 WorldSettings_Icon.png 圖示開啟 世界設定

屬性 描述
Force No Precomputed Lighting 這項從本質上禁用了Lightmass建立光照和陰影貼圖的功能,強制關卡僅使用動態光照。
Static Lighting Level Scale 關卡的比例和引擎的比例是相對的,引擎中 1 個虛幻單位為 1 釐米。這用於決定在光照計算中要詳細到何種程度,較小的比例將會大大地增加構建時間。對於巨型關卡,可以將它設定為 2 或者 4 來降低構建光照的時間
Num Indirect Lighting Bounces 允許光源在表面上進行反射的次數,從光源開始。0 僅是指直接光照,1 是指第一次反射。第一次反射在計算時所用的時間最長,接下來是第 2 次反射。後續的反射計算並不會太佔時間,但也不會增加很多光線,因為光源在每次反射時都會衰減。
Indirect Lighting Quality Lightmass GI 使用的樣本數量引數。較高的數值能取得較少的缺陷(噪點,汙漬)但也增加構建的時間。需要留意的是這並不會減少由 lightmaps 帶來的問題(比如材質的拼縫,壓縮演算法的畫質損失,紋素形狀)。
Indirect Lighting Smoothness 較高的數值能取得平滑的間接光照效果,這能隱藏結果中的噪點,但也會導致間接陰影和環境遮擋的細節丟失。為了獲取更高的質量,隨著 Indirect Lighting Quality 的提高,這個值低於一定的數值(比如 .66 或 .75)將會有用。
Environment Color 未到達場景的光線所使用的顏色。環境可以被視覺化地作為一個包圍關卡的球體,在各個方向發出這個顏色的光。
Environment Intensity 針對 Environment Color 的引數,用來製作 HDR 的環境顏色。
Diffuse Boost 縮放場景中所有材質的漫反射分佈。增加 Diffuse Boost 的值是增加場景中間接光照亮度的有效方式。在 Diffuse Boost 計算後,Diffuse 最終的亮度會被限制到 1.0。為了儲存材質的能量(意思是光源在每次漫反射後都會減少而不是增加),如果增加的 DiffuseBoost 沒有產生更亮的間接光照,且漫反射條件已經被限定了,應該使用光源的 IndirectLightingScale 來增加間接光照。
Use Ambient Occlusion 啟用靜態環境遮擋,使用 Lightmass 對其進行計算並把它構建到光照貼圖中。
Direct Illumination Occlusion Fraction 應用到直接光照的環境遮擋的量。
Indirect Illumination Occlusion Fraction 應用到間接光照的環境遮擋的量。
Occlusion Exponent 指數越高,對比越明顯。
Fully Occluded Samples Fraction 為了達到完全遮擋,所取樣的必須遮擋的樣本部分。
Max Occlusion Distance 一個物體對另一個物體產生遮擋的最大距離。
Visualize Material Diffuse 使用已匯出到 Lightmass 中的材質漫反射條件來覆蓋正常的直接和間接光照。當確認匯出的材質漫反射和實際的漫反射相匹配時是有用的。
Visualize Ambient Occlusion 僅使用環境遮擋條件覆蓋正常的直接和間接光照。這在調整環境遮擋設定時是有用的,因為它隔離了遮擋條件。
Level Lighting Quality 這反映了當前的關卡光照構建質量的設定。

光照設定

下面是在燈光的 Lightmass 部分可以為 Lightmass 設定做調整的引數。

LightLightmassSettings.png

  • Light Source Radius(光源半徑) - (僅用於點光源和聚光源)光源的自發光球體的半徑,不是光源影響範圍的半徑,光源的影響範圍不是由半徑控制的。一個較大的LightSourceRadius(光源半徑)將會導致產生較大的陰影半影。

  • Light Source Angle(光源角度) - (僅用於定向光源)從接收者到定向光源的自發光圓盤的角度(以度數為單位)。較大的角度將導致較大的陰影。注意這個角度是從定向光源的圓盤中心到圓盤邊緣的角度,而不是從圓盤的一個邊緣到另一個邊緣的角度。太陽的角度大約是25度。

  • Indirect Lighting Saturation(間接光照飽和度) - 0將會導致完全地降低間接光照的飽和度,1將保持間接光照的飽和度不變。

  • Shadow Exponent(陰影指數) -控制陰影半影的衰減,或者區域從完全照亮狀態到完全陰影狀態的速度。

引數 描述
Indirect Lighting Saturation 0 將會導致完全地降低間接光照的飽和度,1 將保持間接光照的飽和度不變。
Shadow Exponent 控制陰影半影的衰減,或者區域從完全照亮狀態到完全陰影狀態的速度。
Light Source Angle 僅用於 定向光源,從接收者到定向光源的自發光圓盤的角度,會影響陰影過渡的區域大小。

主要元件設定

下面是通過 Modes 選單中的 Geometry 分頁新增的 Brush 中可以調整的 Lightmass 設定。這些選項在 Brush 的 Details 面板中。

objectlightmasssettings.png

引數 描述
Diffuse Boost 縮放應用到這個物體的所有材質的漫反射分佈。
Fully Occluded Samples Fraction 為了達到完全遮擋,必須遮擋的從這個物體取樣的 AO 樣本部分。這允許控制一個物件對其他物件的遮擋程度。
Shadow Indirect Only 如果選中該項,這個物件將僅呈現間接光照陰影。這對於草來說是有用的,因為所渲染的幾何體就是真實幾何體的展現,不必再投射具有精確形狀的陰影。這個設定對於草來說有用的另一個原因是:所獲得陰影的頻率太高以至於不能儲存在預計算光照貼圖中。
Use Two Sided Lighting 如果選中該項,那麼這個物件被照亮,就像從多邊形的兩面都接收光照一樣。

基礎材質設定

下面是對於材質中的基本節點的 Details 面板中可以調整的 Lightmass 設定的說明。

關於材質編輯器的更多資訊,請參照 材質編輯器使用者指南 頁面。

materialsettings.png

引數 描述
Cast Shadow as Masked 對半透明材質來說,將材質作為為了生成陰影來看待。
Diffuse Boost 將這個材質的漫反射分佈縮放為靜態光照。
Export Resolution Scale 縮放匯出這個材質的屬性時所使用的解析度。這對在需要細節時增加材質的解析度是有用的。
完整內容索引 Unreal Engine 4.9 照亮環境
  • SHARE:

lighting_overview_banner_001.png

本頁面的內容:

Lightmass 可以建立光照貼圖,該光照貼圖具有像區域陰影和間接漫反射這樣的複雜光照互動。能夠預計算一部分靜態和固定的光照的效果。

編輯器和 Lightmass 間的通訊是通過 Swarm Agent 來進行處理的,它可以在本地管理光照構建,或將光照構建分佈到遠端機器上。 Swarm Agent 預設開啟時在最小化的狀態,它會更新光照構建的過程進度,並顯示哪些機器當前在為光照構建工作,每臺機器的進度是什麼,每臺機器在使用多少執行緒。

下面是一個 Swarm Agent 的截圖(在底部附近的長條顯示了光照構建完成情況。)

SwarmAgent.png

靜態燈光和固定燈光的特性

間接漫反射

到目前為止,間接漫反射(Diffuse Interreflection)是在視覺效果上最重要的全域性光照效果。光源預設使用 Lightmass 進行反射, 您的材質上的 Diffuse(漫反射)因素將會控制在各個方向上將反射多少光線(及什麼顏色)。這個效果有時稱為顏色擴散。 請記住間接漫反射是在所有方向均勻地反射的入射光線,這就意味著觀看方向及位置的不同對於看到效果沒有影響。

這裡是一個使用單一的定向光源且僅顯示直接光照的情況下使用 Lightmass 構建的場景。光源沒有直接照射到的地方是黑色的。這便是沒有全域性光照的效果。

3DirectOnly.jpg

這是第一次漫反射全域性光照的效果。請注意左側椅子下面的陰影,這稱為間接陰影,因為它是間接光照的陰影。漫反射的反射光線的亮度和顏色, 是由入射光線及同光源進行互動的材質的漫反射條件決定的。每次漫反射光線比上一次更暗,因為表面會吸收光源的某些光線,而不是將其反射回去。 由於柱子的基部更加靠近直接光源區域,所以它們比其它的表面獲得了更多的間接光照。

3FirstBounceOnly.jpg

這是第二次漫反射。光源已經變得更加的微弱,並且最終將會分散。

3SecondBounceOnly.jpg

這裡是組合了 4 次漫反射的場景。模擬的全域性光照效果比手動放置補充光源更加詳細並真實。尤其是間接陰影,這是使用補充光源所不能實現的。

3FourBounces.jpg

反射光線獲得底下材質的漫反射顏色,正如您在下面所看到的。這便是術語 顏色擴散(Color Bleeding) 產生的原因。 顏色擴散在使用高飽和顏色處是最明顯的。您可以通過提高在物件、材質或關卡中的 DiffuseBoost 來誇大這個效果。

diffusebounce_T.JPG diffusebounce_L.JPG
   

角色光照

Lightmass 在 Lightmass 重要體積 內均勻的 3D 網格中以較低的解析度放置樣本。 同時在角色可能會其上面行走的向上平面上以較高的解析度放置樣本。每個光照樣本可以捕獲各個方向的間接光照,但是不捕獲直接光照。

第一個圖片是地面上放置的光照樣本在除錯狀態下呈現的效果,第二個圖片是同一場景在帶光照模式下的效果。注意在紅色掛毯上的樣本是如何獲得紅色的反射光線的。 樣本看上去是單一的顏色,但它們確實在從各個方向捕獲光照。

02CharacterLighting.jpg 02CharacterLightingLit.jpg
   

然後將使用 間接光照快取 為可移動的物體的間接光照,根據捕獲光照樣本做插值計算。這些間接光照影響光照環境陰影的顏色,但不影響方向。 通過 顯示(SHOW)->視覺化(Visualize)->光照樣本體積(Volume Lighting Samples)在檢視中預覽。

點選檢視 間接光照快取 文件來了解更多內容。

侷限性

  • 體積中的樣本預設設定在大地圖下會導致大量的樣本數量。這最終會導致間接光照快取的插值計算時間很長。採用靜態光照等級來減少大地圖中的樣本數量。

  • 在 Lightmass 重要體積 之外的可移動物體將具有黑色的間接光照。

環境遮擋

Lightmass 自動地計算詳細的間接陰影,但是為了達到藝術目的或者提高場景中的真實程度,誇大間接陰影是有幫助的。

環境遮擋 是您從具有均勻光照的上半球上獲得的間接陰影,就像陰暗的天空。Lightmass 支援計算環境遮擋,並可以把它應用到直接及間接光照上, 然後把它烘焙到光照貼圖中。環境遮擋在預設情況下是開啟的,可以在世界設定中的 Lightmass 設定下取消勾選 使用環境遮擋 來關閉。

第一個圖片的場景是具有間接光照,但是沒有環境遮擋的效果。第二個圖片的場景還是和剛才一樣的場景,但是它的直接和間接光照都應用了環境遮擋, 請注意檢視物體結合處的地方變暗了。

9NoAO.jpg 9WithAO.jpg
無環境遮擋 有環境遮擋

環境遮擋的設定

Property Description
是否顯示環境遮擋 當構建光照時,僅使用遮擋因素覆蓋光照貼圖。這對檢視具體的遮擋因素及比較不同的設定的效果是有用的。
最大遮擋距離 一個物體對另一個物體產生遮擋的最大距離。