本文上篇分為4個部分:動畫驅動材質,虛擬紋理,Rendertarget,以及其他雜項的地編ta干貨整理。(其中RT部分基本為UOD重要截圖摘錄)
本文下篇為:skylight和directional light的區別,未完待續
part 1: 動畫驅動材質
目的是在Niagara粒子中讓粒子也擁有3d動畫。
結合了虛幻引擎自帶的Anim to Tex插件,需要把官方插件包中的部分材質函數節點,復制到自己的材質中,讓其具備受動畫驅動的能力。
以及Trash praxis制作的烘焙Anim to tex數據的外部插件,該外部插件可以烘焙Texture和整理data包,以符合虛幻官方的Anim to tex藍圖中需要的素材格式。
注意不要給做好后的材質選分級Lod,因為其動畫材質不是針對其它lod都能正確顯示的。模型變成刺球就是這個原因。
part 2: 虛擬紋理
目的是比如 做陰影,混合地形材質,沿著地形高度浮動的物體。
實時虛擬紋理體積是相機,RVT是其底片。一個Volume對應一個RVT。可以用兩個Volumn一個豎直拍攝地形用于混合顏色/法線(可以直接用一個blend mask直接混合,或者用節點按照高度深淺混合)
陰影
- 用斜著的Volume拍攝 樹木陰影的RVT
- Domain是正常surface的情況可以添加Runtime virtual texture output節點。在樹木材質中使用RVT OUTPUT節點,只連了BaseColor就只有底色信息
- 在地皮材質中使用RVT Sample節點采樣上圖的Output


為什么要用RVT做陰影:
RVT的尺寸是可以非常非常大的,然后也是以svt的形式存儲的。通過虛擬化技術動態分配紋理資源,按需加載高精度陰影數據,避免全局高分辨率貼圖的浪費。
優化方式:中遠處用SVT存儲
Part 3 Render Target
UE5的Render Target(渲染目標)是一種紋理資源,用于存儲渲染輸出(如場景截圖、后期效果或動態貼圖)。它允許將3D場景或特定對象渲染到紋理上,常用于實現鏡子、UI交互、動態投影等效果。通過藍圖或代碼(如`Draw Material to Render Target`節點)可實時更新內容,支持后期處理和多通道渲染,是動態視覺效果和交互設計的核心工具之一。
繪制相關筆記截圖:
RT無法一邊采樣一邊繪制,如何保存最小值
RT的格式
8位 只支持?【0,1】(2^8=256精度),16f可以存儲負數
虛化雪地
*雪地材質制作*
- Vector noise normal texture
- pixel depth
- 3s
1.Vector noise貼圖制作冰晶質感


2.雪地材質需要Subsurface Scattering。依據如下:
1. 雪的物理特性與光的相互作用
? ?- 半透明性:雪由冰晶和空氣組成,光線進入雪層后會經歷多次散射和折射。冰晶的高透明度使得光線能穿透表面,在內部擴散(類似皮膚或蠟的3S效果)。
? ?- 體積感:真實雪地中,陽光會滲入表層以下,形成柔和的漫反射光暈,而非僅停留在表面。3S算法模擬了這種光在材質內部的傳播。---
2. 視覺效果
? ?- 柔和陰影與高光:無3S的雪地會顯得“死板”,僅依賴表面反射(如Phong或GGX模型)。加入3S后,光線在雪內部散射,產生自然的光線衰減和柔化邊緣(如雪堆凹陷處的藍灰色調)。
? ?- 顏色滲透:雪在薄區域(如邊緣或裂縫)會因光線透射呈現淡藍色(波長較短的藍光散射更強),3S可通過調整散射顏色參數實現這一效果。---
3. 環境光照的響應
? ?- 全局光照(GI)適配:在動態光照環境下(如黃昏或多云),3S材質能更準確地響應環境光變化。例如,低角度陽光會增強雪的次表面散射,產生“自發光”般的柔和亮部。
4.散射參數設置:
? ? ?- 散射半徑(Scatter Radius):雪需較大的半徑值(如5-10cm),模擬光在松散雪層中的長距離擴散。
? ? ?- 散射顏色(Scatter Color):通常用淡藍或淺灰,對應冰晶的米氏散射(Mie scattering)特性。
5.性能優化:游戲引擎中可通過簡化3S模型(如屏幕空間次表面散射,SSSS)平衡效果與性能。
6.若關閉3S,雪地會呈現不真實現象:
? ? ?- 陰影邊緣過于銳利(缺乏內部散射柔化)。
? ? ?- 表面反光過強(類似塑料),而實際雪的反光因內部散射更彌散。
Pixeldepth混合此效果,遠距離時過渡到普通的雪地材質上,防止遠處效果不好。
地編相關雜項TA干貨
- 添加地圖包后 白屏,可以刪除PPV
- 鼠標中鍵拖出來可以測量數值
4個插件
選項模式插件:Thether纜繩插件 和物理筆刷插件
外部插件:Ultra動態天空插件 和UAssetBrowser資產快速導入插件。
物理筆刷
建模模式將fab資源用simplify按照UE標準減面20%
物理筆刷模式一邊刷一邊bake定型的部分防止UE崩潰
合并完的堆堆右鍵轉成nanite
Layout
polycut進行雕刻
體積霧重要參數
- 散射分布(均勻)
- 消光范圍
- 霧高度衰減
天光實時捕獲關掉則不會改變反射
大氣高度改成1近似像月球沒有大氣
directional light中光照? ?光照函數: 光照材質函數 用黑白遮罩來控制陰影
布料用編輯模式創建 導出 再導入時勾選骨骼網格體,就獲得了骨骼網格體,level搜索wind可以加入風場。
不使用DCC便捷旋轉UV
表面對齊
輸出Sequence:
運動物體比較多的情況下,把空間采樣數采樣提高到16,臨時采樣數到2,這樣運動模糊精度會高一點。
物體距離相機太遠影子飄逝的問題(代碼如圖)
下半場
Skylight和directional light的區別?
UE中,Sky Light(天空球的光) 和 Directional Light(定向光) 是兩種不同的光照組件,它們的核心區別在于光源類型、光照行為和應用場景。
1. Sky Light(天空球的光)
Sky Light?是一種基于環境的光照系統,它從天空球(Sky Sphere/Sky Atmosphere)或HDRI貼圖捕獲環境光,并將其作為間接光照應用到場景中。
它主要用于模擬全局環境光照(如天光、大氣散射、云層反射等)。
特性
-
間接光照:不直接投射陰影,而是提供柔和的、無方向的漫反射光。
-
動態或靜態:
-
靜態(Static):烘焙光照貼圖(Lightmass),適合靜態場景。
-
動態(Dynamic):實時更新(如隨時間變化的天空顏色)。
-
-
依賴天空球:
-
如果使用?Sky Atmosphere(動態天空系統),Sky Light 會自動捕捉天空顏色和亮度。
-
也可以手動指定?Cubemap(HDRI)?作為光源。
-
-
無直接陰影:僅影響間接光照,不會產生直接陰影。
典型用途
-
自然光照(如白天的天光、黃昏的環境光)。
-
補充間接照明,使陰影區域不會完全黑暗。
-
配合?Sky Atmosphere?實現動態晝夜變化。
2. Directional Light(定向光)
Directional Light?模擬無限遠的光源(如太陽或月亮),所有光線平行照射,方向一致。
它是直接光照的主要來源,直接影響物體的亮面、陰影和高光。
特性
-
直接光照:
-
產生清晰的直接陰影(可通過?Cascaded Shadow Maps, CSM?優化)。
-
影響漫反射、高光反射(PBR材質)。
-
-
無衰減:光線強度不隨距離變化(因為是“無限遠”光源)。
-
可調角度:
-
通過旋轉控制太陽高度(模擬日出、正午、日落)。
-
配合?Sky Atmosphere?可實現動態太陽位置變化。
-
-
動態或靜態:
-
Movable(動態):實時計算陰影(適合晝夜循環)。
-
Stationary(靜態):部分烘焙,部分實時(混合光照)。
-
典型用途
-
模擬太陽/月亮光照(戶外場景)。
-
提供主要的直接陰影和高光效果。
-
動態光照(如晝夜交替系統)。
3. 核心區別對比
特性 | Sky Light(天空球) | Directional Light(定向光) |
---|---|---|
光照類型 | 間接光照(環境光) | 直接光照(太陽/月光) |
陰影 | 無直接陰影 | 產生直接陰影(CSM優化) |
光源依賴 | 依賴天空球或HDRI貼圖 | 僅依賴方向(旋轉控制) |
動態更新 | 可實時或烘焙 | 可實時(Movable)或混合 |
主要用途 | 補充環境光,柔化陰影 | 提供主光源和清晰陰影 |
4. 如何配合使用?
在典型的戶外場景(如開放世界游戲)中,Sky Light 和 Directional Light 通常一起工作:
-
Directional Light?作為太陽,提供直接光照和陰影。
-
Sky Light?捕捉天空顏色,提供柔和的間接光,使陰影區域不會完全黑暗。
-
如果啟用?Sky Atmosphere,兩者可以動態聯動(如太陽位置變化時,天空顏色和光照自動更新)。
示例(UE5 設置):
-
添加?Directional Light?→ 調整角度模擬太陽。
-
添加?Sky Light?→ 設置為?Dynamic,自動捕獲?Sky Atmosphere?的光照。
-
啟用?Lumen?或?Ray Tracing?可進一步提升動態全局光照質量。
總結
-
Sky Light?= 環境光(間接照明,無陰影)。
-
Directional Light?= 太陽光(直接照明,有陰影)。