More  

小編的世界 / 優質文選 / 宇宙

(圖文+視頻)C4D野教程:使用XP粒子模擬冰雪!


2022年1月13日 - 宇宙小編  
 

廢話不多說,繼續臨摹吧,同樣來自INS上的大神

@BastardFilms:

同樣我這裏壓縮成動圖大家看看哈:

原圖作者BastardFilms,入侵請聯刪

這個場景很簡單的,但是那種冰塊模擬我還從來沒做過,所以想要試試。

由於場景比較簡單,所以我會盡量的把參數等含義稍微寫詳細一點,供大家參考。

這裏多說一句,經常有鹿友問到模擬沙、雪或者冰一類的,其實都可以通過XP的顆粒模擬來實現,當然RF也可以,主要就都是那幾個參數調來調去。

所以希望鹿友們看了今天的文章可以自己拓展開多試試,另外之後的文章我也會嘗試用RF來模擬顆粒,然後OC渲染。

好了,廢話不多說,進入今天的內容吧!

01

模型處理部分

打開C4D,導入在網上下載的動物骨骼動畫,由於我沒有找到企鵝的,這裏就用北極熊的代替吧,把幀速率改為25,幀數的話就改為一個整數就好:

首先我們還是用插件把它烘焙為點級別動畫:

然後調出時間線窗口,在關鍵幀裏使用循環選取,讓關鍵幀多複制幾次:

我這裏預計還是做的10秒動畫,所以把幀數改為250幀:

另外我覺得這個熊好像太小了一點:

所以把模型的體積放大了一倍,這樣感覺應該和熊的體積差不多了:

複制兩個熊出來,調整一下他們的距離和位置:

同時我覺得三只熊的步伐太一致了,所以再次調出時間窗口把關鍵幀稍微偏移一下:

最後在把這三個對象連接成一個對象,你會發現模型部分好像有點問題,沒關系,把焊接取消勾選就好了:

模型處理部分就先暫時這樣吧,再新建一個大大的平面作為地面,就可以先把模型隱藏了:

02

流體模擬部分

開始模擬流體,首先新建一個球形發射器,適當的調整尺寸和位置:

模擬流體或者顆粒的時候,我們最好把發射器的模式改為六邊形,這樣發射出來的粒子不會有相交。

使用六邊形這種模式發射的話,粒子的數量是由粒子的半徑以及發射器的尺寸來控制的。

讓發射器只發射一幀,速度關掉,然後粒子半徑我們暫時給到3,太小粒子數量多就會很卡:

給場景添加重力,這個不用多說哈:

給平面添加XP的碰撞標簽,這個也不用多說哈:

XP模擬顆粒我們需要用xpFluidFX,所以添加一個xpFluidFX,默認參數的情況下,粒子會滑動很遠:

所以我這裏首先是把地面碰撞標簽裏的摩擦力給到了最大:

同時在發射器的額外數據裏,也把摩擦力給到最大:

但是現在的粒子像液體不像顆粒,因此我們在發射器的流體數據裏,把類型改為顆粒,現在稍微好一點了,但是還是很像液體:

這是由於解算的精度不夠高導致的,我們回到xpFluidFX裏把解算改為高,顆粒的感覺就增加了。

但是這樣的可控性不是很高,所以官方有一個關於模擬雪的教程是使用用戶模式來調整參數:

xpFluidFX選擇為用戶模式以後,裏面的參數含義和xpFluidPBD裏的含義基本是一致的:

所以感興趣進一步了解的鹿友,建議大家看看這篇文章,裏面有對每個參數調整後的粒子截圖:

同時我這邊把xpFluidPBD參數總結部分截個圖,想偷懶的鹿友就參考一下截圖吧:

需要注意的是我們如果是模擬顆粒,xpFluidFX裏最常調整的其實只有幾個參數。

為了演示我這裏首先把發射器裏流體數據的摩擦力增加到最大,這個是控制粒子與粒子之間摩擦的:

首先是最大最小子幀步幅,這個控制著解算的精度,我這裏把最大最小數值都改為10,可以看到顆粒的感覺就出來了:

其次是最大最小迭代值,它和xpFluidPBD一樣,是用於控制密度的分布,數值越高,模擬越精准速度越長。

這裏我們可以將數值改小一點,這樣會損失一些模擬精度但減少一些模擬時間:

最後是這個摩擦迭代值,這個參數只對模擬顆粒有效,和發射器額外數據中流體數據裏的摩擦力搭配使用,數值越大,它會讓粒子整體顯得很硬。

我這裏把數值改到50,可以看到粒子很硬會反彈,這個不是我們想要的效果,所以還是默認就好:

然後就是發射器的流體參數裏,粘稠度可以讓顆粒感覺比較濕,參數較小就有點類似乾燥的沙子一類的。

因為我覺得原圖的感覺就比較乾燥,所以我這裏把參數設置為了5:

接下來是穩定性,這個數值越小,成團的顆粒體積也就越小:

最後這個凝聚力的參數控制著粒子與粒子之間成團的力,數值很大的時候你會看見更多粒子會彈跳,我們這裏保持默認就好了:

最後在工程設置裏,我們也可以略微提高整體工程的子幀步幅,這個也會有助於提高解算的精度:

模擬參數方面基本就是這樣了,接下來先設置一下渲染尺寸新建攝像機調整一下視角:

給連接對象K一下位移關鍵幀,讓北極熊能夠正常走過去:

然後給連接對象添加XP的碰撞標簽,我這裏同樣把摩擦力給到了最大:

現在的粒子數量是不夠的,所以我把粒子的半徑改為了1,可以看到有30多W粒子,這個數量其實也不算多,但是已經很卡了,湊合用吧:

基本這樣我覺得就可以將粒子緩存了,這個緩存的時間還挺長的,1小時左右:

將粒子網格化,添加xpOpenVDBMesher,體素尺寸和點半徑大家看著效果來調整就好:

接下來你可以將網格緩存,由於我打算用苦七的電腦來渲染,所以我這裏直接把網格轉為ABC格式也可以。

就是ABC文件體積比較大,有18個G的樣子,不過緩存網格的話感覺體積也差不多:

給ABC文件再添加一個平滑效果器,參數大家看著調整就好:

03

渲染部分

接下來就是渲染部分了,打開GI:

新建一個環境光,然後旋轉一下:

熊的材質我沒有做任何調整,就只是將它轉為了RS材質:

冰的材質首先是用RS水的預設材質稍微改了一下:

然後優化裏取消勾選剔除內部折射:

再用RS的噪波節點結合漸變節點制作出凹凸貼圖:

然後把他們連接到凹凸節點上:

我覺得這個冰塊太暗了一點,於是又讓它有一點發光的參數:

再用一個菲涅爾節點來控制了一下發光的範圍:

地面的材質我沒有找到合適的貼圖,所以就自己弄的,首先是一個深色的反射材質:

再來是一個白色的反射材質:

用一個噪波節點結合漸變節點制作一個凹凸貼圖:

然後把它連接給兩個材質的凹凸節點,凹凸我這裏給的負值:

用一個噪波節點結合漸變節點制作混合蒙板:

再用噪波節點結合漸變節點制作另外一個混合蒙板:

用顏色合成節點把這兩個混合蒙板進行合成:

最後把它們用混合材質進行混合,同時把它連接給兩個材質的反射粗糙度::

視情況再補兩盞燈吧:

渲染設置這裏說一下,由於是渲染玻璃材質,所以其實渲染時間會比較長。

但由於我們這裏不是近景,我覺得噪點那些完全可以通過AE後期處理,所以我這裏主采樣是8/256,其他本地采樣是512,然後自適應錯誤閾值我增加到了0.1:

用苦七的2080ti渲染不到7小時,時間還是可以的:

後期方面多說一句,因為我把自適應閾值改大了,所以後期噪點不少,而且玻璃材質還有一些閃爍,因此我用的是AE的降噪插件和降閃爍插件處理的。

我這裏沒有安裝包,但是網上應該能找到,是AE插件RE VisionFX插件套裝裏的:

最後導出來看看效果吧:

感覺還是有點濕,可能密度迭代再高一點會好一些,下面是今天的視頻版:

好啦,今天的分享就到這裏,想要源文件及原視頻的鹿友後台

撩我

獲取吧!

更多內容歡迎關注公眾號:

本文由“野鹿志”發布

轉載前請聯系馬鹿野郎

私轉必究

主要類別