【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊

遊資網發表於2020-12-10
UE4光照烘焙這一塊常見問題整理的第一章。

關於本指南

好遊戲和優秀遊戲的差距往往在於照明。即使是最優秀的模型,如果以較差的陰影解析度渲染,並且沒有利用適當的後期處理設定,也會看起來十分糟糕。在虛幻引擎中,這意味著要深入挖掘我們強大的照明、反射和後期處理設定。本《故障排除指南》儘量包含使用者在最初深入挖掘照明和渲染系統時遇到的一些常見問題。本指南並不全面,但會隨著引擎變化動態更新,所以我們會補充和變更此處提供的建議。本指南旨在為嘗試充分利用引擎渲染系統的美工提供一個良好的開端。

一般照明

為什麼我的陰影是黑色的?

用照明術語來說,深黑色陰影通常意味著沒有輔助光。這種情況通常發生於單一方向光照是為了表示太陽的室外環境。UE4 內建了一種方法來提供全域性影響輔助光,我們稱之為天空光。

想要進一步瞭解天空光?

https://docs.unrealengine.com/en-US/BuildingWorlds/LightingAndShadows/LightTypes/SkyLight/index.html

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
無天空光照

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
有天空光照

將 BSP 轉換為靜態網格時光照貼圖設定無效

從 4.6 及後續版本開始,任何轉換的 BSP 的預設光照貼圖解析度將設定為 4,但仍需要根據下列步驟設定正確的光照貼圖座標索引。

在將 BSP 幾何結構轉換為靜態網格時,很可能會看到如下結果:

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊

從 BSP 箱體轉換的靜態網格

不必擔心,這是正常情況!由於我們現在已經將 BSP 轉換為了靜態網格,所以需要確保指定正確的光照貼圖通道。為了方便操作,在轉換 BSP 時,會自動為你生成光照貼圖 UV。唯一沒有自動設定的是需要確保指定正確的通道和解析度。

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
靜態網格編輯器“細節”皮膚

  • 為執行此操作,開啟新建立的靜態網格。檢視右側的“細節”皮膚,並找到“靜態網格設定”選項卡。
  • 在這裡需要設定光照貼圖解析度。這可以是 2 的任何冪次方(即32、64、128 等)。這將是光照貼圖紋理的解析度。光照貼圖解析度越高,烘焙到紋理中的陰影質量越好,但也會增加記憶體佔用量和照明構建時間。
  • 接下來,將光照貼圖座標索引設定為 1(這是大多數情況下使用的光照貼圖 UV 通道)。這是不會有任何重疊面的光照貼圖 UV 位置。
  • 如果想要檢視光照貼圖 UV 的效果,可以單擊工具欄中的 UV 對應按鈕,從按鈕右側的下拉選單中選擇“UV 通道 1”。

如果我完全不想要光照貼圖或遊戲不需要光照貼圖呢?

有時,遊戲並不需要光照貼圖,因為已經選擇只使用可移動(動態)照明。有一個選項可以禁用全部光照貼圖,方法是開啟“全域性設定”,選中“不使用預先計算的照明”選項。當重新構建照明時,會刪除之前烘焙過的所有光照貼圖。

禁用靜態照明有兩種方法:

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
專案設定、“渲染”選項卡、“照明”選項卡

特定於專案:禁用靜態照明

  • 選單 > 編輯 > 專案設定
  • 轉至“渲染”選項卡 >“照明”選項卡
  • 取消選中允許靜態照明選項
  • 要使該選項徹底生效,需要重新啟動編輯器

特定於關卡:禁用靜態照明

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
全域性設定

1.開啟“全域性設定”

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
光照系統設定

2.轉至“光照系統”選項卡

3.取消選中不使用預先計算的照明

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
不使用預先計算的照明警告

4.你會看到一個警告。單擊“確定”。

5.構建照明以擦除已經儲存的照明資料。

用於單面網格的雙側照明,或者為何我的照明是穿過屋頂的?

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
用 3DS Max 建立的資產

在該圖中,你已經看到我建立了一面效果很不錯的牆和一個管子,如果我把管子放倒的話,走進去會很瘮人!

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
用 UE4 建立的資產

整體看起來不錯,效果理想,而且在我自己的選擇的建模程式中能看到網格的兩個面。但是,匯入到虛幻引擎 4 之後就變樣了!

那麼為何會如此呢,難道是因為這樣就是不對嗎?

這完全是 100% 正常的(一語雙關)。即使這個平面看起來正常,但是背面並沒有像管子網格最靠近我們的這一面一樣進行渲染。

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
用 UE4 建立的資產的線框

預設情況下,在建模程式中建立幾何結構時,軟體會設定為讓你看到幾何結構的兩個面。

在 UE4 中,會自動剔除多邊形的背面以提高效能,每一個細節都會有助於效能的提高!並不總是需要顯示額外的多邊形或者渲染可能並不需要的面,否則,會呼叫額外的繪圖功能,從而導致效能變慢,在一些情況下,影響可能並不明顯,但針對特定平臺進行開發或者每次呼叫繪圖功能都要進行大量計算時,影響就會凸顯出來。

為了理解為何只能看到一面,我們可以在靜態網格編輯器中開啟網格,勾選工具欄選項“法線”。就會看到綠色線條指向多邊形面的方向。在下面這個管子資產圖形中,我們可以看到,不可見面的線條指向網格中心。這是可以觀察到可見面的方向。

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
靜態網格編輯器

專家提示:在 UE4 中,如果有任何網格包含似乎不可見的幾何結構或者缺少某些面,可以在這裡檢查法線,然後再去建模軟體中解決該問題。

現在,我們已經掃清了障礙,可以直奔主題,通過一些核取方塊和材質解決不可見面的問題。

1.(僅限靜態)像雙面一樣照明

在“細節”皮膚中,針對關卡視口中選中的資產啟用該選項。

選中該選項後,當構建照明時,光照系統會將該幾何結構計算到烘焙中。它會投射陰影以便將其烘焙到光照貼圖紋理中,雖然我們從這個角度看不到陰影。這並不適用於可移動/動態照明,因為虛幻引擎 4 會使用延遲渲染管道。

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
關卡視口中資產的“細節”皮膚

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
最終結果

建立雙面材質

開啟材質編輯器,在左側的“細節”皮膚中,選擇“雙面”選項。

儲存並編譯材質以使該設定生效。

這種方法可以用於靜態/靜止/可移動照明。由於正在渲染的是材質,因此之前不可見的面不會再被剔除,因此可能會阻擋光線。但請注意,現在會渲染網格的兩個面,因此會增加繪圖呼叫。正如之前所述,在較小場景或設定中這未必會影響效能,但如果你的目標硬體很容易受到效能影響則另當別論。

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
材質屬性“細節”皮膚

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
最終結果

為何看起來與原來完全不同,即引擎比例調整

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
引擎比例調整設定

引擎比例調整設定可以通過工具欄中的“設定 > 引擎比例調整”選項進行訪問。

該設定的目的是按比例調整引擎渲染設定,以適應難以流暢執行的機器。預設情況下,編輯器會在 FPS 降得過低時降低這裡的設定。

“陰影”選項會直接影響任何可移動(動態)陰影的陰影距離。當列表設定為“可移動”或者尚未構建靜態照明時確實如此,因為此時會使用動態陰影作為臨時參考,直到照明構建完成並烘焙到光照貼圖中為止。

下面的圖形演示了“引擎比例調整”選項卡中每種陰影設定的陰影距離

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
Epic

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊

如果你的關卡中沒有陰影,則最好先從這裡開始檢查。即使用的是最頂級的系統,這些設定仍會自動設定為較低值,並且在 FPS 降得過低時保持不變。最好總是先檢查這裡的設定,然後再檢視可能的其他問題。

如果因為某種原因而不需要自動按比例調整,可以取消選中“引擎比例調整”視窗底部的對應選項來將其禁用。需要注意的是,這樣可能會導致效能問題,因為編輯器不會再監視需要調整為較低設定以保持正常效能的情況。

進一步瞭解引擎比例調整

https://docs.unrealengine.com/en-US/TestingAndOptimization/PerformanceAndProfiling/Scalability/ScalabilityReference/index.html#scalabilitysettings

為何我的照明上有一個紅色的“X”?

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
重疊靜止照明

靜止照明限制為最多可以重疊 4 層陰影投射照明。如果新增了第 5 層,就會出現一個紅色的“X”,表示這一重疊區域中半徑最小的照明將還原為動態照明。這會導致效能問題,因為投射陰影的動態照明比烘焙照明相比耗用的資源更多。

如果照明是使用任何靜止光照構建的,並且這些靜止光照是重疊問題光,那麼就會顯示一個警告,詳細指出哪個是問題光,哪個是衍生光。

為了更正此問題,請確保一個區域中的陰影投射重疊靜止光照不會超過 4 層。可能需要刪除光照,禁用投射陰影標誌,或者調整半徑直到不再重疊為止。

如果只放置了三層靜止光照,而第 4 層光照上出現了紅色 X,請確保關卡中沒有其他靜止光照會導致重疊。這往往是因為定向光設定為靜止而導致發生此問題。

想要進一步瞭解靜止光照

https://docs.unrealengine.com/en-US/Resources/ContentExamples/Lighting/2_2/index.html

不合理的光照貼圖 UV 佈局

實現良好的光照貼圖烘焙的關鍵就是正確設定光照貼圖,讓它能夠有效地利用 0-1 UV 空間。超出該空間範圍或者有重疊面時,就會在貼圖檢查警告中看到“光照貼圖重疊 xx%”!

建議首先閱讀我們提供的關於正確設定光照貼圖的文件。在以下地址閱讀關於 UE4 光照貼圖的所有資料。

https://docs.unrealengine.com/latest/INT/Engine/Content/Types/StaticMeshes/LightmapUnwrapping/

以下是設定光照貼圖時需要謹記的要點:

  • 不能有重疊面
  • 不能超出 0,1 UV 空間範圍
  • 平面貼圖不是最佳方法,通常會導致光照貼圖出現許多錯誤
  • 要充分利用 0,1 UV 空間,以便不會浪費紋理空間。
  • 如果你的網格較大並且可能會很複雜,為了達到良好的光照貼圖解析度以及一些其他效能因素(例如遮蔽剔除),最好細分成多個部分。
  • 使用盡可能最低的光照貼圖解析度,以節省執行時紋理記憶體。
  • 確保 UV 島之間至少有 2 個畫素的間隔,以防止發生光線透射。光照貼圖的目標解析度可能會導致發生此情況。

後期處理全域性光照設定的作用

後期處理體積可以成為處理場景照明的強大工具,尤其是靜態照亮區域。你可以通過調整後期處理設定中的下列設定,進行輕鬆控制。

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊
GI 後期處理設定

在以下這個簡單的示例中,完全是用發光材質表示杆,在房間設定一個暗淡的點光源,並設定了兩個重疊的後期處理體積進行控制的。這是使用後期處理偽造某種動態 GI 的極其低端的方法!

設定:

  • 利用非常暗淡的點光源來表示房間中某種柔和的環境光。
  • 對移動杆應用了簡單的發光材質,並用一個乘數來控制亮度。
  • 圍繞著場景運用了一個後期處理體積,使用的是預設設定,除非要針對基本場景更改其他設定,否則其實並不需要該設定。
  • 第二個後期處理體積是與移動杆相連的,跟隨著杆移入和移出視線。長度上比移動杆稍大,這樣就會存在一部分的重疊。這裡進行了三處設定調整,令其更順利地發揮作用。

  • “間接照明顏色”設定為類似於移動杆自發光色的顏色,但顏色較淺。
  • “間接照明強度”進行了調整,令人感覺這種自發光並沒有投射到房間裡。
  • 後期處理體積的轉接半徑用於轉接兩個體積,在房間裡形成一種自然的光線滲透效果。

【UE4_光照】UE4中光照的常見問題和解決方案(一)使用手冊

這完全是用後期處理體積和靜態照明控制的!如果需要作出一些風格選擇,能夠控制烘焙 GI 可以讓你更多地控制整個場景,不必完全依賴於照明構建就可以達到 100% 的精確性。

關節囊陰影

關節囊陰影是 4.11 及後續版本中的新功能,讓骨架網格能夠更好地融入到間接照亮和直接照亮區域中,並帶有柔和陰影。

如果你尚未使用過該功能,該頁面教程可以幫助你入門。
http://timhobsonue4.snappages.com/lighting-capsule-shadows
文獻地址:
https://tinyurl.com/yyghrdqk

來源:Game藝視界
原文:https://mp.weixin.qq.com/s/uSj1jFwrWgxRJcNoBBwqPA

相關文章