C4D教程!讓貼圖紋理跟隨液體流動(XP粒子新功能體驗)

更新時間:2024-06-08

關(guān)于教程

相信大家都知道,XP粒子官方更新為1030的FUSED套裝以后,它除了整合的地形插件、網(wǎng)格工具以及Cycles 4D渲染器以外。

XP粒子本身其實也有很多大的更新,例如用來制作剛體和柔體的Bullet等,但其實這些我都沒有用過。

主要原因是我喜歡對照著官方手冊來操作學(xué)習(xí),雖然現(xiàn)在INSYDIUM官方的油管上已經(jīng)有了一些教程:

但是如果使用頻率不高的話,很容易看過以后就忘記了,到時候使用起來又得回過頭來看教程。

而且新功能剛出來,也不排除會有一些bug,所以我一直在等官方手冊更新,但是截至到現(xiàn)在還沒有:

因此今天我想手動測試一個XP更新的小功能:xpOpenVDBMesher - UV Advection。

為什么選擇測試這個功能,其實很簡單,大家還記得年初的時候我寫了一篇埃舍爾瀑布嗎:

點擊圖片閱讀原文

由于XP的網(wǎng)格是沒有UV的,因此當(dāng)時為了制作圖案隨著液體流動的效果費了老大勁。

最后還是用粒子的通過紋理發(fā)射做出圖案的效果,然后讓粒子呈現(xiàn)流體的形態(tài),最后再在上面加了一層透明的網(wǎng)格才勉強(qiáng)做出來的。

我們再來看看官方視頻介紹的這個效果:

雖然動圖壓縮的很厲害,但是相信大家也能夠看明白。

UV Advection這個功能簡單概括就是可以將紋理映射到動態(tài)xpOpenVDB網(wǎng)格,隨著網(wǎng)格改變而發(fā)生變化。

但需要注意的時候,這個官方短短不到2分鐘的介紹視頻里用的都是默認(rèn)渲染器,對于OC以及RS是否支持這個功能都沒有任何說明。

所以今天的內(nèi)容主要是臨摹官方的這個小效果并且測試UV Advection對RS及OC是否支持。

由于我使用的RS和OC都是歡樂版,所以這里專門說一下測試軟件,C4D是R19.068,OC是3.07,RS是2.6.41。

好了,廢話了這么多,開始進(jìn)入今天的正題吧!

教程步驟

01 場景搭建

首先打開C4D,幀速率設(shè)置為25,就做個200幀的動畫吧:

新建球體,尺寸小一點,分段稍微多一點,類型我用的是二十面體:

新建克隆克隆小球,數(shù)量5個,克隆模式為發(fā)射,記得改一下軸向:

然后我們在克隆的半徑上K一下幀,K的數(shù)值如圖所示:

接下來再在偏移的數(shù)值上K一下幀,讓它一開始是0,在150幀的時候偏移-360度:

再新建一個大大的平面當(dāng)作地面,基本上場景就是這樣哈:

02 流體模擬

接下來就是流體模擬部分,新建一個盒裝的發(fā)射器,適當(dāng)?shù)恼{(diào)整尺寸:

發(fā)射模式改為射擊,粒子類型為六邊形,發(fā)射兩幀就好,然后把速度關(guān)掉,粒子半徑為2:

給克隆對象添加XP的碰撞標(biāo)簽,關(guān)掉反彈,摩擦力給到最大,點擊播放你會發(fā)現(xiàn)碰撞不起作用:

這是由于我們需要把克隆弄成一個對象才可以,所以給克隆添加連接,現(xiàn)在碰撞就起作用了:

接下來就是模擬流體了,對于這種中小場景,要求不高需要模擬流體翻滾的時候的,我推薦使用xpFluidFLIP來模擬流體。

添加xpFluidFLIP,適當(dāng)?shù)恼{(diào)整尺寸和高度,流體只會在它的范圍框內(nèi)進(jìn)行模擬,因此地面都不用添加碰撞標(biāo)簽了:

現(xiàn)在場景中還沒有重力,所以添加重力場,參數(shù)默認(rèn)即可:

xpFluidFLIP參數(shù)設(shè)置方面,官方推薦體素尺寸是粒子半徑的3-4倍,因為我們的粒子半徑是2,所以這里設(shè)置為6。

由于我們需要看到粒子翻轉(zhuǎn)的效果,所以粘度值就不用給了,適當(dāng)?shù)奶岣咭稽c渦度值就好了。

然后原圖感覺球體有點推著液體走,所以我打開了黏住,提高了一點摩擦力:

接下來找一幀合適的粒子設(shè)置為初始狀態(tài),然后將發(fā)射關(guān)掉:

03 粒子網(wǎng)格化

接下來就是將粒子網(wǎng)格化,新建OpenVDBMesher,體素以及點半徑大小大家看著調(diào)整就好:

濾鏡里面添加一個高斯:

接下來終于到了我們今天的重點UV Advection了:

為了方便觀察,我這里給OpenVDBMesher添加C4D自帶的噪波貼圖來說明問題。

默認(rèn)情況下,由于OpenVDBMesher是沒有UV的,所以添加完畢之后看不到貼圖的樣式:

你可以修改投射的方式,但是同樣由于沒有UV,所以這樣的貼圖肯定是會出問題的。

并且鼠標(biāo)右鍵也沒有辦法生成UVW坐標(biāo),感興趣的鹿友可以試試,無論是烘焙為ABC還是點級別對象都不行:

所以這個時候我們可以激活UV Advection,紋理就會正常的隨著網(wǎng)格的流動而產(chǎn)生變化了:

投射的方式大家可以根據(jù)實際情況來進(jìn)行選擇,但是需要注意的是,經(jīng)過我測試前沿以及uvw貼圖這兩種方式會出錯。

由于官方也沒有更多的說明,所以我也不清楚是不是自己操作的問題:

另外UV Advection它并不只是添加了uvw標(biāo)簽,UV是帶有數(shù)據(jù)的,因此打開以后模擬會變得慢一些。

并且如果你需要緩存的話,需要把UV Advection一起緩存才可以,我這里選擇的投射方式是空間哈:

最后補(bǔ)充一點,UV Advection這里有一個開始幀,默認(rèn)情況下我們應(yīng)該是設(shè)置為1。

但經(jīng)過我測試設(shè)置為1的時候,預(yù)覽沒有問題但是緩存出來第一幀會出錯,如果設(shè)置為0,預(yù)覽的時候是看不見的,但是緩存出來確實正確的。

可能是因為我把默認(rèn)場景的幀速率從30改為了25的原因吧:

然后我這里給網(wǎng)格又添加了一個置換變形器,著色器里添加顏色,高度給一個負(fù)值,目的是讓網(wǎng)格薄一點,這個不用多說哈:

04 渲染器測試

接下來就是渲染器的測試了,因為我最終是打算用RS渲染,所以先測試OC吧。

打開OC,隨意的新建一個環(huán)境光,不用太精細(xì),我們主要是測試下功能而已:

新建材質(zhì)球同樣制作一個漩渦圖案吧,至于怎么制作以前分享過,這里就不多說了哈:

點擊播放鍵,可以看到紋理也是正常的在流動,說明UV Advection能夠支持OC的紋理節(jié)點,挺好:

但需要注意的是如果你添加一個投射節(jié)點,改變一下紋理的投射方式,紋理就不行了:

因此我們不能改變紋理的投射方式,并且要保證它的投射方式是UVW貼圖才行:

接下來我們再來看看RS吧,同樣新建環(huán)境光,打開RS:

我這里同樣用RS自帶的噪波以及漸變節(jié)點做出一個漩渦的圖案來:

點擊播放鍵你會發(fā)現(xiàn)紋理不會正常流動,看來UV Advection并不支持RS程序化的紋理節(jié)點:

因此只能換一種方式,使用C4D著色器節(jié)點,通過RS的紋理節(jié)點把它轉(zhuǎn)化成一張貼圖:

然后在C4D著色器節(jié)點里添加噪波制作出漩渦的圖案,點擊播放鍵,可以看到紋理正常流動了:

05 渲染部分

基本上測試方面就這樣吧,繼續(xù)把案例渲染完吧,這里我又添加了一個漸變節(jié)點,將紋理進(jìn)行了重新著色,然后調(diào)整了一下尺寸:

接下來設(shè)置渲染尺寸,新建攝像機(jī)固定視角,開啟GI這些都不用說哈:

主體材質(zhì)里我把涂層也打開了,這樣對象表面會有額外的高光:

小球的材質(zhì)就是普通的發(fā)光材質(zhì):

地面的材質(zhì)是普通的深色反射材質(zhì):

視情況再補(bǔ)幾盞燈吧:

這里我們可以先暫時設(shè)置一下景深看看效果,后面渲染的時候關(guān)掉它,在多通道里輸出深度通道然后后期去合成:

做一個攝像機(jī)旋轉(zhuǎn)動畫:

同樣主采樣我設(shè)置的是128,其他本地采樣是512:

多通道里輸出深度通道,記得模式選擇為Z標(biāo)準(zhǔn):

渲染的時間其實并不是很長,我渲染的2K的尺寸,只用了6個多小時:

最終效果圖

最后后期調(diào)整一下看看效果吧:

大概是那么個意思吧,希望官網(wǎng)的手冊能盡快更新~

C4D教程!讓貼圖紋理跟隨液體流動(XP粒子新功能體驗)