2015/09/16

thinkingParticles 6的FlowSolver流體解算器

編譯 / Hammer Chen

thinkingParticles 6提供全新的流體解算器,可用來計算液體動態或是煙霧,雖然目前還不能跟FumeFX或是Realflow相比,但用在群體動態例如海裡的魚群,天空的飛鳥等似乎還蠻適合的。

tP 6的流體計算主要是透過這三個operator: FlowGroup, FlowBoundary與FlowSolver。三者雖沒有相接,可是讓其產生作用,必須要產生這三個。然後在其中選取彼此。

  • FlowGroup 是被作用的粒子,例如魚群
  • FlowBoundary 是負責碰撞來源,例如海中的珊瑚礁
  • FlowSolver是流體解算器,用來進行真正的計算







FlowSolver 流體解算器

這個操作子的功能處理所有的流體模擬效果,但自身不帶有任何參數 (必須搭配其他兩個operator使用。

Sub Sample 次採樣 設定每個時間間距的次採樣數量,這是流體模擬最強大的參數。這個以決定一個粗略流體模擬,是花幾秒鐘或是幾小時或幾天來完成。越高的的次採樣,流體模擬就越精確 。生活中的大小事都是妥協的結果,流體模擬也一樣,用買氣泡飲料的錢買不到香檳。

重要! 次採樣是流體解算器最強大的控制功能,同時也可能造成不好的效應。高的次採樣能夠產生更精確的粒子間能量平衡,能夠產生更好的模擬,但同時也代表不同的次採樣可能不能用。

Viscosity  黏度直接與次採樣有關,越高的黏度必須要配合高的次採樣。黏度值為2。 只能配合次採樣為1。 次採樣每增加一個單位,讓你可以有兩倍的黏度。

VolumeLinked體積鏈結 勾選這個選項可以產生更精確的流體解算,因為他會考慮到相鄰的粒子。

FlowGroup Operator 流體群組

thinkingParticles提供多物理的流體動態系統,可模擬水或是其他不可壓縮的流動物質,流體解算器的基本是根據平滑粒子水體動力Smoothed Particle Hydro dynamics (簡稱為SPH)。SPH解算器相較於其他流體方法有些優點,因為是不考慮mesh的系統,只根據粒子的位置與空間計算,沒有邊界的侷限(註跟FumeFX相比) 在任何時間也沒有固定數量的粒子。然而 SPH 有其缺點,就是精度偏低,難以維持不可壓縮的流體,特別是當你把次影格採樣設定的太高 。thinkingParticles對SPH解算器有特別開發,能夠進行高的time steps (sub-frame samples) 完美地整合到thinkingParticles著名的程序性工作流程中。

Solver解算器  要去選場景中的FlowSolver,可能不只一個,所以要選

Group  選取要轉換成流體的粒子群組

Smoothing Radius 平滑的邊界 這個是流體行為最重要的參數,如同其他任何的SPH解算器一樣 所有的不可壓縮的流體都允許錯誤來進行模擬,這是透過傳遞一部分的動能到相鄰的粒子才達成的 就是這個半徑參數。

Density密度 數值越高流體越密

Decompress還原壓縮 這個參數對於流體充滿容器的效果很重要

Force Compensation 力場的補償 
SPH解算器一般來說對於大量堆疊水體會有問題。這個參數用來解決在容器中堆疊的流體體積的問題。

Tension 張力 控制表面張力
Viscosity 控制黏度 黏度會直接與次採樣相關 高個黏度必須要搭配高次採樣才行。

FlowBoundary Operator  流體邊界

流體邊界操作子 解算器 讓你選取解算器添加場景中的物件作為流體碰撞來源。

Bias偏差 數值越高就會愈早偵測到即將有碰撞。

 相關教學影片 (作者為Alaa Alnahlawi)

No comments: