SOUP是一款綜合的Maya節點式輔助程式,它可以輔助完成很多特效,例如:煙霧、火焰、爆炸、水流等自然方針模擬特效。
煙霧效果
UpresFluid 節點解決了幾個流體力學中的重大問題,它可以通過“看”這個流程分離動力學與解算過程。並且通過小型波動算法(基於Theodore Kim 和 Nils Thuerey開源模塊) 處理更多的細節。
流體動力學模擬嚴格依賴於容器的分辨率,如果我們對動力學分辨率進行修改,就會得到不同的動力學行為。為了得到好的結果,我們不得不升高分辨率,但是這使調節變得非常的緩慢,我們希望能有一個低精度顯示的調節方式,這會讓我們的流程更快捷。
使用UpresFluid節點,能有效地消除必須依賴分辨率+解算和材質+觀察這個流程。為此,我們使用2個流體容器,在第一個容器中,我們可以專注於流體的運動。在那裏,我們可以不斷改變流體的的分辨率,以實現最佳的運動狀態,而不擔心材質部分。當我們完成運動調節後,再去第二個容器調節材質渲染。
最終我們可以使用它的核心功能——wavelet turbulence來加入非常多的細節,這用Maya默認功能是極為不可能實現的。
爆炸、燃燒效果
Soup還內置了爆炸和燃燒的案例(作者是David Schoneveld),詳細信息可參考視頻:http://vimeo.com/17032492 http://vimeo.com/17033053
幾何體
Maya PaintFX是一個非常強大的 L-System 但是功能上卻不盡人意,比如替代幾何體。為了填補這個空白,我們可以使用Soup的pfxToArray節點,它可以提取Maya PaintFX中的有用數據並進行再加工處理。
ArrayToDynamicArray節點代替幾何體
在這裏我們使用ArrayToDynamicArray節點成功提取了數據並將其替代為基本幾何體。
RayProject節點可以搜集很多元素對象,例如:點、線、麵和粒子。它可以通過投射來精確的搜集這些信息。
球體
在這個例子中我們把一個paintFX 的樹投射到了一個多邊形球體上。
製作水
Peak deformer功能可以讓你在Maya中製作水更加的真實,他可以讓融合表麵更加的細膩自然。
nParticle模擬的水
上圖是Maya的nParticle模擬的水,右麵的圖是加入Peak deformer 後的結果。 其SPH 算法是基於Ivan Turgeon 的PFVE。nParticle 經過peak和smooth優化模擬過的效果。
模擬粒子從物體內部發射的效果
Scatter 節點可以模擬粒子從物體內部發射的效果,而且可以結合pointCloudFluidEmitter配合流體雲一起發射。而非通常情況下的物體表麵發射。
和pointCloudField 很像,我們可以用物體整體來影響動力學,而非物體表麵影響。甚至我們可以讀取物體表麵的任何信息,包括顏色等。
控製動力學
物體如何影響動力學也可以通過我們指定的區域進行控製,如圖所示,白色區域影響而黑色區域不影響,這和角色的蒙皮權重很相似。
[page]
傳遞粒子方向屬性
AttributeTransfer節點可以更有效的傳遞粒子屬性給物體,比如“方向”。
幾何分割
使用Shatter節點可以有效的對幾何體進行分割,它可以基於有效的靜態或動態的輸入離散節點,可以是粒子、NURBS曲線等。這個節點基於Voronoi cells算法。
破碎寬度演算
在這裏我對點雲(粒子)做了一個動畫,然後它根據運動距離產生碎裂寬度演算。
我們還可以實時破碎動態物體。
實時破碎
nMaxCutPP屬性可以大幅提高就近裂點的性能。 通過限製範圍,我們需要建立一個新的碎片,然後以最接近的n個點進行查找。輸入點的密度越大,查找性能越強。如果這個屬性值太低也可能會導致重複穿插。
動態解算碎塊。
Satter節點的inPositionPP屬性,可以用來提供自定義點雲,並以這種方式來計算幾何體內部。提供頂點,粒子,體元或PFX數據後處理的分散節點,可以實現許多有趣的效果 ,比如:統一填充對象。
統一填充對象
數據流程:
FluidAttributeToArray提取流體容器的體元的位置,並將它們傳遞到分散節點。分散節點攜帶網格對象以外的所有點。其餘的點位置和距離表麵數據會被傳遞給pointCloudFluidEmitter節點使用使之發射到容器內部。
流體沿體元中心發射
在提供的例子中,pointCloudFluidEmitter處於屬性傳輸模式。利用這種技術,我們可以很容易地實現流體始終沿著體元中心發射的效果。
踩碎冰麵效果
這是一個綜合操作的例子,它通過讀取角色與地麵之間的元素集合來實現角色踩碎冰麵的效果。
人體爆炸效果