UE5管理內容-毛發(fā)渲染

傳統(tǒng)的實時毛發(fā)渲染采用基于發(fā)片的渲染方案(或其他類似技術)。 在基于發(fā)片的工作流中,通過使用大量卡片狀的發(fā)片來近似模擬大量毛發(fā)的形狀和運動。而虛幻引擎的Groom系統(tǒng)和工具允許你單獨渲染每一根發(fā)絲/發(fā)束,從而大幅提高毛發(fā)實時模擬的視覺逼真度。?
雖然毛發(fā)Groom當前尚無標準文件格式,但Groom系統(tǒng)提供了一種基于Alembic(.abc)文件格式和特定命名規(guī)范的方案,幫助引擎從建模軟件導出的毛發(fā)文件中提取數據。Groom系統(tǒng)還提供了對單個Alembic文件中的多個毛發(fā)組(例如頭發(fā)、絨毛、胡須、睫毛和眉毛)、一流的毛發(fā)著色器和渲染系統(tǒng),以及使用Niagara的動態(tài)集成的支持。?
Groom系統(tǒng)旨在最低限度地實現發(fā)束導入、渲染和模擬。本更新不提供毛發(fā)梳理解決方案。毛發(fā)的定型或梳理需在外部DCC工具中執(zhí)行,例如Maya中的XGen、Ornatrix、Yeti、刮臉和理發(fā)或Houdini。
在項目中啟用毛發(fā)
要在項目中使用毛發(fā),必須啟用以下設置和插件。?
要使其中每一項生效,需要重啟編輯器。
項目設置
轉至?編輯(Edit)?>?項目設置(Project Setting)?,打開項目設置。在?渲染(Rendering)> 優(yōu)化(Optimizations)?中,啟用?支持計算皮膚緩存(Support Compute Skin Cache)?。?

插件瀏覽器
轉至?編輯(Edit)?>?插件(Plugins)?,打開插件瀏覽器窗口。在?幾何體(Geometry)?類別下,啟用這些插件:?

Alembic Groom導入器
Groom
基本工作流
以下流程圖描述將自己的毛發(fā)Groom導入Unreal Engine,并連接到可動畫化的骨骼網格體角色的高級流程。?

在喜好的DCC應用程序中創(chuàng)建毛發(fā)Groom。
將毛發(fā)Groom導出為Alembic (*.abc)文件。
將該Alembic Groom文件導入Unreal Engine。
(可選)在內容瀏覽器中為你的骨架網格體創(chuàng)建一個綁定資產(Binding Asset)。
將Groom資產置于世界場景中(作為藍圖中的Actor)。
使用轉移蒙皮將Groom組件(Actor)連接到骨骼網格體插槽。
設置并指定毛發(fā)材質
完成這些步驟后,就獲得了交互式groom,可用于正在動畫化的已連接骨骼網格體。
?
Groom資產
Groom?資產表示你導入的Alembic(.abc)文件的毛發(fā)Groom,并且存儲在內容瀏覽器(Content Browser)中。雙擊Groom資產將打開?Groom資產編輯器(Groom Asset Editor)?。

你可以使用Groom資產編輯器管理和編輯Groom的各個部分。你將能夠執(zhí)行以下操作:
分配材質
創(chuàng)建表示發(fā)束、發(fā)片或網格體的細節(jié)級別網格體
啟用和配置物理設置
使用不同的視圖模式調試Groom
右鍵點擊內容瀏覽器中的Groom資產后,有多個額外的?Groom操作可用于:

根據Groom導入選項?重建(Rebuild)?所選Groom的構建設置。
創(chuàng)建綁定(Create Binding)?以生成用于將Groom附加到骨骼網格體的綁定資產。
使用所選Groom為毛囊和發(fā)束?創(chuàng)建紋理(Create Textures)。
生成發(fā)束紋理
使用?Groom?資產,你可以根據導入的Groom中的發(fā)束數據創(chuàng)建紋理。你可以為骨骼網格體生成毛囊遮罩,更好地將毛發(fā)與其網格體表面混合。你還可以創(chuàng)建多個發(fā)束紋理,以用于創(chuàng)建毛發(fā)網格體或發(fā)片。?
你的Groom可用于生成可以應用于網格體的紋理。



設置毛發(fā)材質
為使毛發(fā)幾何體正確渲染,它需要分配有?著色模型(Shading Model)?設置為?毛發(fā)(Hair)?的材質。?

你還需要在用法(Usage)類別下啟用?用于發(fā)束(Use with Hair Strands)?。這應該會在首次應用于Groom時自動啟用,但如果未啟用,你可以手動將其啟用。?
下面是使用?毛發(fā)屬性(Hair Attributes)?表達式的示例毛發(fā)材質:

綁定資產
綁定資產用于將Groom組件添加并蒙皮到骨骼網格體上。通過這種方法,Groom可以指定給需要用到它的骨骼網格體,還能指定給享有相同拓撲的骨骼網格體。?

在內容瀏覽器中右鍵點擊?Groom資產(Groom Asset)?并在快捷菜單中選擇?創(chuàng)建綁定(Create Binding)?。在創(chuàng)建綁定時,請使用?Groom綁定選項(Groom Binding Options)?窗口指定?目標骨骼網格體(Target Skeletal Mesh)?和?源骨骼網格體(Source Skeletal Mesh)?。?
創(chuàng)建綁定資產時,必須指定?目標骨骼網格體(Target Skeletal Mesh)?,否則在此期間不會創(chuàng)建任何綁定。
啟用物理模擬
打開?Groom資產編輯器(Groom Asset Editor)?,并從?物理(Physics)?面板選中?解算器設置(Solver Settings)?下的?啟用模擬(Enable Simulation)?旁邊的復選框,啟用Groom上的物理。

啟用后,你可以瀏覽影響Groom組件的各種物理設置。
調試毛發(fā)
使用以下控制臺變量調試項目中的毛發(fā):
r.HairStrands.DebugMode
啟用以下命令模式之一,將有關毛發(fā)渲染的各種統(tǒng)計信息和調試信息繪制到屏幕:
0?- 關閉
1?- 群集信息
2?- 所有DOM光源邊界
3?- 屏幕投影群集?
4?- 深度不透明貼圖
5?- 亞像素樣本計數
6?- TAA解析類型(常規(guī)/響應)
7?- 毛發(fā)覆蓋類型
8?- 毛發(fā)密度體積
9?- 毛發(fā)切線體積
10?- 毛發(fā)底色體積
11?- 毛發(fā)粗糙度體積
12?- 毛發(fā)網格體投影
13?- 毛發(fā)覆蓋
r.HairStrands.StrandMode
啟用此命令以渲染場景中發(fā)束的選定調試模式:
0?- 關閉
1?- 模擬發(fā)束
2?- 渲染發(fā)束影響
3?- 根UV
4?- 根UV UDIM紋理索引
5?- 毛發(fā)UV
6?- 毛發(fā)種子
7?- 毛發(fā)尺寸
8?- 毛發(fā)半徑變體
9?- 毛發(fā)頂點顏色
10?- 毛發(fā)頂點粗糙度
已知限制
幀率取決于groom大小、分辨率,以及采用的底層硬件。例如,對于1080p的人類groom,底層硬件應為2080Ti,幀率30Hz或更高。?
視圖模式尚不支持毛發(fā)。
多視圖(毛發(fā)在多個開放窗口上可見)尚不受支持,或會導致出現瑕疵。
HairWorks用戶
有些人會使用NVIDIA的毛發(fā)解決方案?HairWorks?,它包含DCC工具集成以及實時毛發(fā)渲染和模擬,需要注意的是,虛幻引擎自4.16版本開始就廢棄了HairWorks。我們的長期計劃是讓Groom系統(tǒng)功能幫助為目前使用HairWorks集成的人提供遷移路徑。
雖然NVIDIA通過其GitHub分支為UE4提供的最后一個正式HairWorks版本是4.16版本,但有各種補丁和升級已創(chuàng)建并在線提供,不過它們不受官方支持。