創建虛擬生物第四部分

4 物理模擬
動態模擬被用來計算生物與一個虛擬的三維世界的交互的運動。在這個工作中
使用的物理模擬有一些組件,人工的身體動態,數值的積分,碰撞檢測,碰撞
響應,摩擦力,和一個可選的粘性流體效應。這裏僅有一個簡明的綜述,因爲
物理模擬不是這篇文章的重點。

四塊石的遞歸的人工身體方法被用來計算來自於速度的加速度和連接的剛體
部分的每個層次的外力。積分決定了從這些加速度得到的運動的結果,積分
用一個方法執行,這個 “龍格-庫塔-範伯格”方法是一個第四序的龍格-庫塔,
它帶有附加的評估,來估計誤差和採用的步長。對於1/30秒的每一個幀來說,
執行1到5之間的積分時間步長是經典的。

在這裏部分的形狀被表示爲簡單的長方體。邊界盒的層次被用來減少部分之間的
碰撞檢測的次數。對於碰撞,要檢測世界空間的邊界盒的相交情況,如果存在
的話,還有要檢測與地平面的碰撞情況。如果必要的話,之間的時間步長被
縮小來保持任何新的碰撞在一個一定的誤差範圍之內。連接部分被允許相交,
但不是彼此完全旋轉的。當檢測連接部分的碰撞時,通過調整形狀,可以實現。
較小部分的形狀被從它的到達處,剪掉一半,所以它能自由的動作,直到它轉
動,使得兩個部分相接。

通過一個超級模型完成碰撞響應,使用了衝量和懲罰彈簧力。在高速時
同時性的衝量力被使用,在低速時,彈簧被使用,來模擬有隨意的彈力和摩擦力
參數的碰撞和連接。

對於水下環境的模擬,一個粘性的效應被使用。對於每個暴露的移動表面,
一個粘性的力阻礙着它的速度,正比於它的表面積和正常速度量。沒有包括流體
本身的運動,這是一個簡單的合適的,但它仍是對於模擬看起來像游泳和划動
動態的現實,是足夠的。

當生物的運動被優化時,物理模擬有合理的準確性是很重要的。任何從非注意的情況下,允許能量泄露的錯誤和舍入誤差將被必然地發現,被虛擬生物利用。
對於高度一個物理模型系統來說,儘管這能夠是一個懶的和經常有趣的方法,但
它沒必要最常實踐。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章