2013/04/22

thinkingParticles SC Operator參數詳解

最近製作一個看似簡單的專案,卻還是遇到碰撞穿透的問題。所以還是好好整理一下thinkingParticles裡面的 SC Operator參數屬性。

先提一個重要的觀念:物件一開始是啟動狀態(Active),是可以在某速度或是旋轉數值而轉變成冷凍物件(Frozen),反之亦然。實際在專案製作上,要儘量避免物件在啟動狀態時,轉換成冷凍狀態,因為這樣並不寫實。但也要避免物件之間穿透。



啟動<->冷凍 (可以相互轉換)

只有中性物件不會有這樣的轉換,如此的設計可以必免物件隨意亂跳動。




Group 群組的屬性:
Active
啟動狀態。會對所有的外力,物理動態模擬有交互作用的反應

Neutron
中性。會被視為被動的動態物件,也就是物件會推動場景其他物體,但是不會受到其他物件影響

Frozen
冷凍。物件可以介於冷凍與啟動狀態兩種可能性。一開始的時候是冷凍,但是在速度與旋轉等條件下可以被啟動

Voxel Grid
會在物件周圍產生網格,數值越高模擬越精確

Edges Samples 會在物件的邊產生額外碰撞點,對於物件有很長的邊,例如箱子,很有幫助。如果這個數值過小,物件之間可能會穿透其邊

Velocity Friction
數值越高 粒子與粒子之間速度會越快減慢,可以用來模擬粘性物質,例如油或是泥巴效果。

Frozen First Activation
這是針對一開始就冷凍的物件。如果物件的速度或是旋轉達到某數值就會由冷凍變成啟動狀態。

Velocity Thresh  達到某數值就喚醒冷凍物件
Rotation Thresh 達到某數值就喚醒冷凍物件


SC Operator / Physics Rollout:
Collision
這個參數控制評估碰撞物體的點的sub-steps。數值越小模擬越快,但是結果越不精確,建議數值落在5-10。比較複雜的場景,可以調高到30以獲得精確的結果。

Contact
這個參數控制當物件之間碰撞產生接觸"contact"的狀態的sub-steps。面對面的接觸式物理引擎遇到最複雜的狀況了。增加這個數值可以產生更寫實的效果。這個數值可以決定粒子是根據動態物理處於啟動的狀態或是產生奇怪的動態跳舞 (可以避免粒子亂跳動)。當粒子落在這個時間內,速度或是旋轉數值等於或是小於定義的數值,就會被視為休眠狀態。這個數值越小 粒子就越容易進入休眠,這個數值會與Velocity Thresh. 和 Rotation Thresh協同作用。

Velocity Threshold設定最小速度決定物件是否變成休眠狀態.. 數值越大,越容易休眠

Rotation Threshold 設定最小旋轉速度決定物件是否變成休眠狀態


儘管以上參數雖然重要,避免物件之間穿透最重要的屬性還是在Master Dynamic中的SubSampling了!

[ 相關文章]
Thinking particles的物理碰撞與輸出

Thinking Particles碰撞偵測注意事項

No comments: