2017 unity5.5 manual_physics
- 2. Physics Overview
• Rigidbody. 負責物理運算處理.
– Script中使用Rigidbody時須避免直接處理Transform. 透過給予
力量(force)來實現物理運算.
– IsKinematic: 物體不再透過物理引擎運算與控制, 改由script自
行控制運動; 同時保有collision / trigger功能.
– 物體進入靜止時, 物理引擎會自動將它切換至sleeping模式.
Script中透過WakeUp函式喚醒.
- 3. Physics Overview
• Collider. 定義物體的碰撞外形(範圍).
– Primitive collider: box | sphere | capsule. 單一物體可擁有多個
colliders (compound colliders).
– Primitive collider無法正確計算非統一縮放後之物體的碰撞處
理 (shear transform ; non-uniform scales).
– Mesh collider : 代表物體真實模型幾何去做碰撞運算處理 (處
理效能代價高); mesh collider與mesh collider之間無法進行碰
撞處理; 適合用在靜態場景物件.
– Trigger: 碰撞觸發, 標示為Trigger collider之物件不會產生碰
撞物理現象, 只會回報碰撞觸發事件.
– Static collider: 靜止物體, 本身不存在Rigidbody實體; static
collider物件不該即時修改Transform或靜止狀態, 如此對效能
衝擊很大.
- 4. Physics Overview
• Collider.
– Kinematic Rogidbody collider: 以洋娃娃(ragdoll)為例, 可設計
成透過script/animation控制其行動(修改Transform), 同時也可
切換成接受物理引擎控制, 表現出物理碰撞現象.
– Collision action matrix設定.
- 5. Physics Overview
• Joint. 接合節點, 實現即時物體接合.
– Fixed joint, Hinge joint (鉸鏈), Spring joint(彈簧).
– 可設定斷開(break)與接合點施力(drive force).
• Character controller. 適用於第一人稱/第三人稱視角控
制.
– 自動配置代表角色範圍的capsule collider.
– 有物理碰撞反應,但物體不需要Rigidbody.
– 與Kinematic Rigidbody用途很像?
- 6. Rigidbody
• 負責完整物理引擎運算工作.
• Parent有改變位移時, 會拉動子物件的Rigidbody.
• Script中透過力量來控制Rigidbody物件(force / torque).
• 如果需要自行計算修改Transform, 啟用IsKinematic參
數.
– Rigidbody將不再對物體更新Transform, 但保有碰撞運算.
• 透過compound collider實現複雜外形的碰撞處理.
- 7. Rigidbody
• Hints
– Script控制行動之物體, 要收到碰撞trigger, 需設定成
Kinematic Rigidbody Trigger collider.
– 物體實際尺寸對物理運算有實際影響, 積木與摩天大樓的倒
塌, 物理運算結果大不同.
– Mass參數影響物體間碰撞後的反應.
– Drag參數決定阻力. (羽毛的阻力很高)
- 8. Colliders
• IsTrigger: 設定為碰撞觸發偵測物體.
• Physic material: 物理材質(摩擦, 彈性系數)
• Box collider, sphere collider, capsule collider.
• Mesh collider: 指定Mesh來源物件, 產生碰撞幾何外形.
– 設定Convex後, mesh collider可與其他mesh collider進行碰撞
運算.
- 9. Colliders
• Terrain collider.
• Wheel collider, 專為汽車輪胎碰撞而設計, 適用於賽車
遊戲上.
– 實現slip-based tire friction model. (輪胎摩擦物理運算模型).
– 賽道模型可跑範圍應保持平坦.
– 設定懸吊系統的物理參數.
– Collider本身並不自轉, 所以是覺上的輪胎轉動要另外實作.
- 10. Joints
• 物體間的接合節點. (功能強大但我看不太懂)
• 可設定Connected Object或與世界座標位置連節.
• Fixed joint. 固定接合點.
• Hinge joint.鉸鏈接合功能.
• Spring joint.彈簧接合功能.
• Character joint. 角色專用之接合功能.
– 專為ragdoll設計, 搭配Ragdoll wizard來設定套用之物體.
• Configurable joint. 完全客製化的接合功能.
- 11. References
• Constant force. 你渴望力量嗎? 適用一次性彈射物
體.
• Cloth. 布料物理運算.
– 目前只能與指定的sphere / capsule colliders 進行碰撞.
• Ragdoll wizard.
– Joint與Ragdoll注意事項.
• Wheel tutorial.