(圖文+視頻)C4D野教程:初試XP粒子GPU加速,分享一些體驗
今天分享內容的視頻版如下,想要原視頻的鹿友公眾號后臺回復撩我獲?。?
以下是圖文版內容:
正文共:1692字 35圖
預計閱讀時間:5分鐘
上周我把XP粒子更新到了最新版,終于可以使用它的NeXus也就是我們說的GPU模擬。
原本想著運用以前會的內容,使用Nexus做一下然后寫篇文章出來。
但是感覺文章全部寫出來會很長,所以我打算分成兩篇文章來寫,先說說使用NeXus的初感受吧。

以前我們的操作步驟通常是首先新建發射器:

然后再添加修改器例如湍流場來對粒子的運動形態等進行控制:

在最新版的XP套裝里,可以直接添加NeXus的湍流場修改器:

添加以后你會發現發射器的圖標變成橙色了,在粒子的顯示選項卡里可以看到,橙色代表的就是在使用GPU模擬:

1、關于修改器
修改器方面目前GPU可使用大部分常規的修改器,我并沒每個修改器都嘗試,官方倒是提到了湍流場的可控性更高了:

另外我發現殺死場有缺少了我個人覺得很常用的對象模式功能,以前可以直接拖入對象殺死對象以外的粒子:

GPU里的殺死場默認情況下是只有立方體和球體的模式,沒有對象模式:

所以如果你想粒子離開對象后就殺死它可以這么操作一下,首先將體積改為對象以內,這樣在立方體或者球體殺死場以內的粒子都會被殺死:

然后在衰減里把對象拖進來,模式改為體積,這樣殺死場其實就衰減到和對象的大小一致了:

我們移動一下鉆石體,可以看到粒子接觸到鉆石體就會被殺死:

如果你想要粒子超出鉆石體就被殺死就很簡單了,直接在衰減里再添加一個反向就可以了:

其他修改器我沒有做過多嘗試,就不做過多說明,另外GPU里的修改器是可以和CPU里的修改器混合使用的。
例如GPU里沒有表面攀爬修改器,我這里可以使用CPU的修改器來做,并且同時使用GPU的湍流場:

但是這樣操作應該是會對模擬速度有一定的影響,例如我這里全部使用CPU的功能,幀速是117:

把湍流換成GPU的湍流以后,幀速反而變成52了:

并且有時候混合使用可能會出錯,例如我這里載入一個XP預制的流體場景:

當我把流體模擬換成GPU的,而使用的重力是CPU的修改器時,模擬是正常的:

但當我流體模擬用CPU,重力用GPU時就會出錯:

要解決這個問題就只能提高系統的子幀步幅才可以:

除此之外,XP的GPU目前也是不支持問題和動作的,例如目前我的場景里只有發射器和重力:

現在我給發射器添加一個問題,當粒子年齡大于90的時候給它添加一個動作:

可以看到可添加的動作全部都是以前CPU的修改器內容:

就算我直接新建修改器也是沒有辦法拖進去的:

所以目前來說XP的GPU修改器常規功能基本都能用,但是想要可控性高一些,可能還需要再等等。

2、動力學模擬
動力學模擬NeXus暫時只有三個功能,動力學約束、流體動力學和泡沫。
其中流體動力學包括PBD和SPH,可以模擬液體流體以及顆粒流體,但是目前暫時沒有模擬煙霧等功能:

動力學的其他部分例如布料,我簡單嘗試了一下把約束和力場換成GPU的好像也可以用,由于我很少用XP布料,所以不確定會不會存在其他的問題:

XP的動力學標簽也可以:

破碎好像也可以,總之使用粒子來驅動的動力學部分,理論上應該都能用一用,但是是否存在BUG有待驗證:

然后以前如果想要在場景中使用xpFluidFX既模擬液體又模擬顆粒,就需要在兩個不同的發射器的流體屬性里去進行參數的調整:

更新GPU以后會多一個流體標簽:

給發射器添加流體標簽以后,流體屬性直接在標簽里調整,相當于接管了原發射器的流體屬性功能:

這樣大家可以看到,雖然我的流體模擬里選擇的液體,但添加了流體標簽以后也能結合流體模擬里面的參數同時模擬顆粒:

3、關于模擬速度的提升
最后再來說說大家比較關心的模擬速度的提升吧,確實會比以前快,我的顯卡不太好,是GTX1070,直接使用XP的一個預設流體場景模擬,可以看到幀速8左右:

換成Nexus的GPU模擬以后,同樣的粒子數量幀速到了18左右,視窗移動也變得順暢了許多:

但是僅僅限于粒子數量不是特別多的情況下哈,如果你的粒子數量特別多的話,只能說會比以前CPU模擬快,但是該卡還是會卡。
最后附上一張我在寫文章的時候順便測試的緩存時間截圖吧,粒子數量113W,緩存時間20小時17分:

以上就是我短時間使用XP新功能NeXus的感受,下篇案例文章我抓點緊爭取盡快發出來,我們下次見吧!
更多內容歡迎關注公眾號:
本文由“野鹿志”發布
轉載前請聯系馬鹿野郎
