作者:Hammer Chen
利用3ds max內建的粒子系統也可以調出寫實的流體,不一定要用Realflow,因為RF需要透過外掛導入模型與粒子,對於彈性的調整來說是很不方便的流程。這篇文章介紹用Thinkbox Frost吃Superspray產生寫實的流體模型。介紹Frost的關鍵參數使用:
我們直接看Anisotropic選單,因為Frost雖然有很多產生mesh的方法,只有Anisotropic這種方法最具彈性,功能最強大:
半徑尺度Radius Scale
會對原本粒子的半徑相乘 這也會縮放鄰近粒子 用來對粒子做拉扯或是平滑粒子原本的位置
表面的程度Surface Level
在一顆粒子的周圍增加密度 這個密度在粒子中心最高 離粒子越遠就漸漸減小至零 流體的mesh會結合所有粒子的密度 最終等於Surface Level的數值 增加這個數值會讓mesh更貼近粒子 減少的話mesh會越遠離粒子
最大的拉扯Max. Stretch
粒子會被拉扯 用來吻合鄰近表面 這個數值是不同方向差異的最大數值 當等於1時代表沒有拉扯 而最當數值便高時就會變成橢圓形
最少的鄰近粒子才允許拉扯Min Neighbors for Stretching
當粒子小於這個數值時 粒子的形狀就不會被拉扯 呈現正圓形
粒子位置平滑化Position Smoothing
粒子會被移動到鄰近的位置 讓原本凹凸的表面變得更平滑 0代表沒有平滑 1代表完全的平滑
其實這項技術是根據2010年Siggraph的一篇論文,作者是Jihun Yu1與Greg Turk。論文名稱是『利用異向性的核心重建出粒子為基礎的流體表面模型』(Reconstructing Surfaces of Particle-Based Fluids Using Anisotropic Kernels)
摘要
在本篇論文中我們 (論文的作者)展示了全新的表面重建方法,用在粒子為基礎的流體模擬上 例如Smoothed Particle Hydrodynamics。在以粒子為基礎的模擬中,流體表面定義成隱函數,我們將這樣的隱函數規格化成為異向性的平滑核心的集合,每個粒子的異向性地以Principal Component Analysis (PCA)定義出來。除此之外,我們還進行額外的平滑化,改變原本平滑核心的位置。因為這樣的異向性核心能夠達到更精確的粒子分布位置,本論文的新方法能夠達到比過去的方法更有優勢。在表現平滑表面上,表現薄的流體與流體的尖銳的表面。本方法十分快速 容易導入 跟過去的方法相比具有顯著的品質改良。
利用本技術產生的流體mesh
不同的產生mesh方法的效果。可以看出本論文的技術的優點與寫實度
不同產生mesh的方法運算時間的比較
在知道原理後我們來看實際的參數調校:
這個參數能隨機化粒子的大小,會讓流體表面的顆粒有大有小,讓流體更加寫實
Particle Size能改變mesh生成的狀況,太小則流體表面會不連續,太大流體不寫實。調整到你任為水珠應該多大的尺寸
Surface Level 也會控制mesh的生成,太高則流體看起來會胖胖的
Max Stench最大拉扯。當等於1時表示沒有拉扯,是用正圓形來產生流體的mesh的,所以看起來不寫實。真實的流體會區域性地拉扯。
Position Smoothing位置平滑化,也是這項技術的賣點。當等於0時代表沒對粒子的位置進行平滑化,讓筆者聯想到使用Blobmesh的惡夢~
筆者的最佳化參數,供各位讀者參考,利用這個參數可以做出以下動態流體:
[相關文章]
No comments:
Post a Comment