1. 程式人生 > >UE4 移動裝置光照反射注意事項

UE4 移動裝置光照反射注意事項

原文連線:https://docs.unrealengine.com/en-us/Platforms/Mobile/Lighting

本來不想翻譯的,但是好多人看,就翻一下

移動平臺照明

使用UE4中的移動平臺上燈光時,必須按照相應規範,以確保UE4專案能夠執行在不同的移動裝置上,並保持良好的幀率。在下面的文件中,我們將介紹這些警告和限制規範,以及如何避免並解決它們。

支援的功能

移動平臺支援下列功能:

  • Linear HDR lighting 線性HDR照明。

  • Directional Lightmaps定向光照貼圖(在正常的考慮範圍內)。

  • Distance field shadows + analytical specular on the sun.對於太陽光的 距離場陰影及鏡面反射。

  • Image based specular lighting基於影象的鏡面反射光照 - 最近的 Reflection Capture(反射捕捉)應用於每個物件,無需視差校正。因此,物件之間可能存在接縫。

  • 動態物件需要正確接收光照,但不投射陰影。

支援的燈光型別

移動平臺僅支援虛幻引擎中可用的燈光型別的一小部分。包括:

 

型別

附加資訊

Stationary Directional Light 固定方向燈

定向光為

 Mobility = Stationary。最好的質量。

Static Directional Light 靜態定向光

定向光為 Mobility = Static。最佳效能(沒有distance field shadows 和 sun specular)

Static Point Light 靜態點光源

定向光為 Mobility = Static

Static Spot Light 靜態射燈

定向光為 

Mobility = Static

Reflections反射

雖然反射有助於為您的移動專案更加生動逼真,但在移動裝置上需要考慮一些注意事項。下面列出設定選項,以確保反射在目標移動裝置上有效。

  • 通過將Intensity 強度設定為0,禁用 post process volumes後期處理中的任何Ambient Cubemaps 。
  • SphereReflectionCaptures放置在要捕獲反射光照的區域中。球體反射捕獲

    球體反射捕獲

    球體反射捕獲

    球體反射捕獲

  • 在製作材料時,支援反射需要考慮以下資訊。
    • 確保您的法線貼圖中有許多高低頻細節,因為這有助於突出反射,使其更具視覺效果。
    • 反射關閉/反射開啟
    • 平法線貼圖平法線貼粗略法線貼圖

      粗略法線貼圖

    • 確保您的粗糙度圖具有不同強度的白色和黑色,因為這將有助於為您提供不同程度的閃亮和暗淡的反射。
    • 有粗糙度/無粗糙度
    • 變化粗糙

      變化粗糙

      平坦的粗糙度

      平坦的粗糙度

    • 根據表面型別,金屬輸入應為1或0。
    • 無金屬度/有金屬度
    • 金屬關

      金屬關

      金屬色

      金屬色

請注意,每個靜態網格物體元件都會分配給最近的Reflection Capture(反射捕獲)。這意味著物件之間的反射中會出現接縫,有時大網格模型的反射球恰好靠近網格中心時,會使用不需要的反射捕獲貼圖。

移動裝置的天光反射

當沒有反射球時,移動渲染還可以使用Skylight Cubemap天光立方體貼圖進行鏡面反射。要啟用此功能,您需要刪除所有的Reflection Capture反射捕獲器,並確保已禁用Screen Space Reflections螢幕空間反射。您可以在以下影象中比較效果。

PC反射/移動端反射

Skylight Reflections PC

Skylight Reflections PC

天窗反射移動

天窗反射移動

移動裝置的鏡面高光照明(Specular Lighting for Mobile

移動鏡面響應已更改為預設使用GGX Lighting模型。這可以提高移動裝置上的鏡面質量,從而更好地匹配Shader Model 5(SM5)。啟用此功能會為著色器處理時間增加一小部分成本。舊版Spherical Gaussian Specular model球面鏡面高斯模型仍可以訪問,但這個新的變化影響到專案的照明的外觀表現。要重新啟用舊版Spherical Gaussian Specular mode球面高斯鏡面反射模型,您需要執行以下操作:

  1. 轉到  Project Settings 專案設定 > Rendering 渲染> Moblie 移動。
  2. 選中Use legacy shading model 使用舊版著色模型 旁邊的框  
    UseOLDLegacyShadingModel.png

下面的影象比較滑塊顯示當前Specular著色模型和Use Legacy Shading Model選項之間的差異。

舊版shader/新版shader

遺留著色模型

遺留著色模型

新的著色模型

新的著色模型

調製陰影

完全動態陰影有助於為您的移動專案增強生動性和真實感。但是,在某些移動裝置上,由於硬體限制和動態陰影需要渲染的高資源需求,不應使用完全的動態陰影。為了解決這個問題,UE4引入了一種新更低耗的動態陰影型別,稱為Modulated Shadows調製陰影。有關如何使用調製陰影設定調製陰影的更多資訊。

動態級聯陰影貼圖

Stationary Directional lights 固定方向燈可用於為場景中的動態物件投射全場景的動態級聯陰影貼圖(CSM)陰影。使用CSM陰影的一個好處是它們將與場景中靜態物件投射的預計算陰影正確混合。CSM陰影也不會顯示使用調製陰影看到的雙陰影,並且在為多個物件投射動態陰影時更快。有關如何設定級聯陰影的更多資訊,請使用[[Cascaded Shadows 級聯陰影 ](Platforms\ Mobile \ Lighting \ HowTo \ CascadedShadow)進行檢查。

調製陰影VS動態陰影

雖然調製和動態陰影的外觀和行為彼此非常相似,但它們卻截然不同。這是因為調製陰影具有許多限制和動態陰影所沒有的硬限制,這使得它們可以在具有有限硬體功能的移動裝置上更好地執行。在下圖中,您可以看到動態陰影和調製陰影之間的比較。

動態陰影/調製陰影

動態陰影

動態陰影

調製陰影

調製陰影

以下列表突出顯示了調製陰影在UE4專案中使用時可以提供的一些功能和限制。

  • 更改陰影顏色:您可以通過調整方向光的“ 光照”部分中的“ Modulated Shadow Color調製陰影顏色”選項來更改調製陰影投射陰影的顏色。如果您想要根據遊戲玩法或藝術原因調整陰影的顏色,這將非常有用。

    Change_Mod_Shadow_Color.png

  • 陰影混合:與動態陰影不同,調製陰影無法與您在專案中看到的其他陰影(烘焙或動態)混合。這意味著當調製陰影位於另一個陰影的上面時,不進行混合,同時顯示兩個陰影。

  •  

    動態陰影/調製陰影

    動態陰影

    動態陰影

    調製陰影

    調製陰影

使用調製和動態陰影

使用調製和動態陰影時,可以使用一些控制檯和.INI設定來調整陰影的外觀和效能。下面我們將瞭解這些設定以及它們如何應用於您的UE4專案。

調製陰影儘可能與現有的陰影技術共享程式碼。這意味著可以與其他陰影方法一起使用的許多陰影cvars和.INI設定也適用於調製陰影和動態陰影。

  • 陰影質量:當您第一次在移動裝置上檢視動態陰影時,調製陰影的清晰度和質量可能會比預期的低一些。要解決這個問題,你可以通過開啟虛幻控制檯來調整陰影質量,使用反引號`鍵,然後輸入以下命令,r.shadowquality後跟一個數字。您輸入的數字越大,調製陰影就會越好地看待FPS。在下面的影象,r.shadowquality被設定為值012345,以顯示這對調製陰影質量有什麼影響。

    SQ_1.png

    拖動滑塊將顯示當r.shadowquality從值0設定為值5時會發生什麼

  • 自陰影:調製陰影將在動態物件(如字元或拾音器)上提供自陰影,但預設情況下,此功能已禁用,以確保調製陰影可以儘可能好地執行。如果您的專案能夠承擔自陰影所需的額外成本,則可以通過將r.Shadow.EnableModulatedSelfShadow 1輸入到UE4控制檯來啟用它。要禁用自身陰影,請將r.Shadow.EnableModulatedSelfShadow 0輸入到UE4控制檯。

  •  

    自陰影開啟/自陰影關閉

    自我陰影

    自我陰影

    自我暗影關閉

    自我暗影關閉

  • 陰影深度:使用命令r.Shadow.CSMDepthBias可以偏移陰影開始渲染的位置。在下面的圖片,你可以看到,當r.Shadow.CSMDepthBias在預設值會發生什麼變化,然後設定為值1010050010001500

    SD_1.png

    您可以嘗試拖動滑塊進行r.Shadow.CSMDepthBias的設定(0~1500)