Victor Reguera 創(chuàng)建河流模擬
Victor Reguera 分享了猶他州名為 A River 的項(xiàng)目的細(xì)目,解釋了初始環(huán)境的組裝方式,并詳細(xì)說明了他如何設(shè)置溪流和添加泡沫。

介紹
大家好!我是來自西班牙的初級(jí) VFX 藝術(shù)家 Victor Reguera。我最近畢業(yè)于馬德里燈箱學(xué)院的視覺特效專業(yè)。此時(shí),我開始了我在 VFX 行業(yè)的職業(yè)生涯,所以很高興能在這里談?wù)撐业淖詈笠粋€(gè)個(gè)人項(xiàng)目,這是今年的第一個(gè)項(xiàng)目。
作為一名攝影愛好者,3D 一直代表著我的無限可能,隨著技術(shù)的進(jìn)步,這種無限感開始變得真實(shí)——或者,我應(yīng)該說“不真實(shí)”。我試圖將這種感覺放在我項(xiàng)目的最前沿,尤其是個(gè)人項(xiàng)目。當(dāng)我決定在 Houdini 中為我的演示卷軸創(chuàng)建河流模擬并在虛幻引擎 5 中渲染時(shí),這就是我想要實(shí)現(xiàn)的目標(biāo)。

猶他州的一條河
當(dāng)我決定在我的演示卷軸中加入河流模擬時(shí),這個(gè)項(xiàng)目就誕生了。雖然一開始只是為了這樣,但我很快開始考慮通過創(chuàng)建自然主題環(huán)境來提高最終質(zhì)量的可能性。我開始探索各種可能性,在 Youtube 上觀看了科羅拉多河的一些視頻后,我知道這個(gè)主題非常完美。

初期
我通常做的第一件事是定義路線圖,然后根據(jù)需要進(jìn)行修正,同時(shí)保持最初的想法。這是避免浪費(fèi)時(shí)間和精力的最好方法。

我希望觀眾感覺像是第一次前往科羅拉多河拍攝那張照片的攝影師,即使這意味著要弄濕他們的腳。就像一張明信片。多虧了 UE5,我可以輕松地渲染不同的攝像機(jī)角度,而且我在 UE5 中實(shí)時(shí)玩游戲和拍攝其他照片時(shí)獲得了很多樂趣。


環(huán)境布局
我決定使用 Houdini 創(chuàng)建環(huán)境。它使我能夠高效且動(dòng)態(tài)地工作,并且我可以通過 Megascans Houdini 插件輕松使用 Quixel 資產(chǎn)。這非常有用,因?yàn)樗试S進(jìn)行流暢的試錯(cuò)過程。
我嘗試了各種資產(chǎn),將它們轉(zhuǎn)換、彎曲和混合在一起以獲得最終結(jié)果。我使用了幾種不同的資產(chǎn)來實(shí)現(xiàn)這一點(diǎn)。


模擬
我試圖為我的項(xiàng)目創(chuàng)建自然碰撞和適當(dāng)?shù)某跏妓俣葋砟M真實(shí)的水行為。我使用 Quixel 資產(chǎn)設(shè)置河流以引入自然多樣性和缺陷。之后,我開始了模擬。在談?wù)撃M本身之前,我必須感謝 Steven Knipping。我使用了我在學(xué)習(xí) Liquids 時(shí)與 Steven 的 Applied Houdini:Liquids II 教程一起學(xué)習(xí)的工作流程,這對(duì)我有很大幫助。
首先,我創(chuàng)建了一個(gè)由 240 幀組成的低質(zhì)量模擬,并將其用作高質(zhì)量翻轉(zhuǎn)模擬的初始狀態(tài)。對(duì)于預(yù)卷,我使用了粒子分離 (0.02) 和體素大小 (0.04) 的自定義設(shè)置。由于使用 Houdini 的 RAM 有限,我可以實(shí)現(xiàn)的最高質(zhì)量模擬具有 0.01 的粒子分離和 0.02 的體素大小。理想情況下,我更喜歡 0.05 的粒子分離和 0.01 的體素大小,但我仍然對(duì)結(jié)果感到滿意。
為了確定初始狀態(tài)點(diǎn)的方向,我使用了在阻塞部分定義河床的曲線,并從曲線傳輸一個(gè)屬性以獲得必要的數(shù)據(jù)。在夾緊并移除一些值以獲得適當(dāng)?shù)乃俣戎螅琀oudini 完美地執(zhí)行了模擬。

完成最終模擬后,我準(zhǔn)備將項(xiàng)目導(dǎo)出到虛幻引擎??赡苡腥藭?huì)奇怪為什么我不討論whitewater,雖然我模擬了它,但我最終沒有使用它。

將項(xiàng)目導(dǎo)出到虛幻引擎 5
當(dāng)我最初計(jì)劃這個(gè)項(xiàng)目時(shí),它并沒有打算用 UE5 渲染。然而,我的好奇心促使我嘗試將 Houdini 與 Unreal Engine 結(jié)合起來,并且我盡快這樣做了。
我決定將環(huán)境導(dǎo)出為 glTF 場景。glTF Importer 插件完美運(yùn)行。自動(dòng)分配所有材料非常令人滿意。
在我通過消除不需要的屬性以減輕尺寸來減少多邊形數(shù)量后,河流網(wǎng)格從 Houdini 導(dǎo)出為一個(gè) alembic 緩存。我也可以減少多邊形的數(shù)量,但由于之前效果很好,我沒有進(jìn)一步減少。我從 Dylan Browne 那里找到了這個(gè)解決方案——他有一段解釋這個(gè)想法的視頻。
這是在虛幻引擎中導(dǎo)入的環(huán)境和 alembic 緩存河的早期版本:


在虛幻引擎 5 中創(chuàng)建泡沫
如前所述,我沒有使用 Houdini 的激流模擬。雖然Houdini的白水質(zhì)量非常好,優(yōu)于我所達(dá)到的水平,但我認(rèn)為我的方法仍然可以接受并且具有成本效益。
我在 Houdini 中所做的是利用翻轉(zhuǎn)模擬中的渦度屬性作為遮罩。渦量是白水模擬的來源之一,也是此類河流中最常見的來源。我意識(shí)到,通過將渦度轉(zhuǎn)移到 Houdini 中的顏色屬性,然后限制該值,我可以生成一個(gè)顏色遮罩,以便稍后在虛幻引擎中創(chuàng)建水材質(zhì)時(shí)使用。這正是我所做的。我創(chuàng)建了一種材質(zhì),其中動(dòng)畫泡沫根據(jù)網(wǎng)格的頂點(diǎn)顏色出現(xiàn)(或不出現(xiàn))。


Shading
對(duì)于河流網(wǎng)格,我創(chuàng)建了一個(gè)單層水材質(zhì)。這可能看起來令人困惑,但事實(shí)是這比任何其他方法都有效,所以我決定使用它。
我使用的泡沫著色器基于 Ben Cloward 的視頻,其頻道類似于亞歷山大著色庫。你應(yīng)該檢查一下。注意 Vertex Color 節(jié)點(diǎn)用作 alpha - 泡沫因此出現(xiàn)。


至于濕度貼圖,我不確定如何將 Houdini 的動(dòng)態(tài)濕度貼圖導(dǎo)入虛幻引擎。如果有人知道怎么做,請(qǐng)告訴我——我很樂意學(xué)習(xí)。相反,我創(chuàng)建了一個(gè)具有適當(dāng)鏡面反射和粗糙度的貼花演員,并將其應(yīng)用于河床。

Niagara FX 和一般氣氛
對(duì)于閃電和氣氛,我保持簡單。我只是使用了太陽光并調(diào)整了這些演員:天空光、天空大氣和指數(shù)高度霧。我還使用了帶有自定義 Cloud Mask 的 Volumetric Cloud actor 來實(shí)現(xiàn)我想要的天空效果。如果你想這樣做,記得激活 Volumetrics 插件。
一旦氣氛結(jié)束,我決定用 Niagara 添加一些實(shí)時(shí) FX。用于整理環(huán)境的簡單顆?;覊m和低霧。

我還用 Nuke 添加了鏡頭光暈和一些顆粒,但沒什么特別的。
結(jié)尾
我希望你喜歡這個(gè)分解,就像我喜歡這項(xiàng)工作背后的過程一樣。對(duì)我來說,這幾周是我努力實(shí)現(xiàn)我想要的演示卷軸結(jié)果的好幾周。我也不止一次被卡住,但它總是發(fā)生。最終,持久的是結(jié)果和體驗(yàn)。


