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

More Related Content

More from River Wang

FairyGUISDK_UIPackage_Analysis.pptx
FairyGUISDK_UIPackage_Analysis.pptxFairyGUISDK_UIPackage_Analysis.pptx
FairyGUISDK_UIPackage_Analysis.pptxRiver Wang
 
20220529_UniTask_Intro.pptx
20220529_UniTask_Intro.pptx20220529_UniTask_Intro.pptx
20220529_UniTask_Intro.pptxRiver Wang
 
zenject extenject-intro
zenject extenject-introzenject extenject-intro
zenject extenject-introRiver Wang
 
Unity optimize mobile game performance
Unity optimize mobile game performanceUnity optimize mobile game performance
Unity optimize mobile game performanceRiver Wang
 
DoozyUI_基礎介紹教學
DoozyUI_基礎介紹教學DoozyUI_基礎介紹教學
DoozyUI_基礎介紹教學River Wang
 
Gamedev: Multi-threaded animate model
Gamedev: Multi-threaded animate modelGamedev: Multi-threaded animate model
Gamedev: Multi-threaded animate modelRiver Wang
 
桌面應用工具軟體開發方案評估 (Based on Unity engine)
桌面應用工具軟體開發方案評估 (Based on Unity engine)桌面應用工具軟體開發方案評估 (Based on Unity engine)
桌面應用工具軟體開發方案評估 (Based on Unity engine)River Wang
 
OGRE v2.1 manual - Technical Overview
OGRE v2.1 manual - Technical OverviewOGRE v2.1 manual - Technical Overview
OGRE v2.1 manual - Technical OverviewRiver Wang
 
OGRE v2.1 manual - Changes: Objects, Scene & Nodes
OGRE v2.1 manual - Changes: Objects, Scene & NodesOGRE v2.1 manual - Changes: Objects, Scene & Nodes
OGRE v2.1 manual - Changes: Objects, Scene & NodesRiver Wang
 
OGRE v1.10 manual - The Core Objects
OGRE v1.10 manual - The Core ObjectsOGRE v1.10 manual - The Core Objects
OGRE v1.10 manual - The Core ObjectsRiver Wang
 
OpenCascade Technology Overview: Modeling Data
OpenCascade Technology Overview: Modeling DataOpenCascade Technology Overview: Modeling Data
OpenCascade Technology Overview: Modeling DataRiver Wang
 
OpenCascade Technology Overview: OCAF
OpenCascade Technology Overview: OCAFOpenCascade Technology Overview: OCAF
OpenCascade Technology Overview: OCAFRiver Wang
 
OpenCascade Technology Overview: Visualization
OpenCascade Technology Overview: VisualizationOpenCascade Technology Overview: Visualization
OpenCascade Technology Overview: VisualizationRiver Wang
 
OpenCascade Technology Overview: Foundation Classes
OpenCascade Technology Overview: Foundation ClassesOpenCascade Technology Overview: Foundation Classes
OpenCascade Technology Overview: Foundation ClassesRiver Wang
 
2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程River Wang
 
矩陣 基本說明
矩陣   基本說明矩陣   基本說明
矩陣 基本說明River Wang
 

More from River Wang (16)

FairyGUISDK_UIPackage_Analysis.pptx
FairyGUISDK_UIPackage_Analysis.pptxFairyGUISDK_UIPackage_Analysis.pptx
FairyGUISDK_UIPackage_Analysis.pptx
 
20220529_UniTask_Intro.pptx
20220529_UniTask_Intro.pptx20220529_UniTask_Intro.pptx
20220529_UniTask_Intro.pptx
 
zenject extenject-intro
zenject extenject-introzenject extenject-intro
zenject extenject-intro
 
Unity optimize mobile game performance
Unity optimize mobile game performanceUnity optimize mobile game performance
Unity optimize mobile game performance
 
DoozyUI_基礎介紹教學
DoozyUI_基礎介紹教學DoozyUI_基礎介紹教學
DoozyUI_基礎介紹教學
 
Gamedev: Multi-threaded animate model
Gamedev: Multi-threaded animate modelGamedev: Multi-threaded animate model
Gamedev: Multi-threaded animate model
 
桌面應用工具軟體開發方案評估 (Based on Unity engine)
桌面應用工具軟體開發方案評估 (Based on Unity engine)桌面應用工具軟體開發方案評估 (Based on Unity engine)
桌面應用工具軟體開發方案評估 (Based on Unity engine)
 
OGRE v2.1 manual - Technical Overview
OGRE v2.1 manual - Technical OverviewOGRE v2.1 manual - Technical Overview
OGRE v2.1 manual - Technical Overview
 
OGRE v2.1 manual - Changes: Objects, Scene & Nodes
OGRE v2.1 manual - Changes: Objects, Scene & NodesOGRE v2.1 manual - Changes: Objects, Scene & Nodes
OGRE v2.1 manual - Changes: Objects, Scene & Nodes
 
OGRE v1.10 manual - The Core Objects
OGRE v1.10 manual - The Core ObjectsOGRE v1.10 manual - The Core Objects
OGRE v1.10 manual - The Core Objects
 
OpenCascade Technology Overview: Modeling Data
OpenCascade Technology Overview: Modeling DataOpenCascade Technology Overview: Modeling Data
OpenCascade Technology Overview: Modeling Data
 
OpenCascade Technology Overview: OCAF
OpenCascade Technology Overview: OCAFOpenCascade Technology Overview: OCAF
OpenCascade Technology Overview: OCAF
 
OpenCascade Technology Overview: Visualization
OpenCascade Technology Overview: VisualizationOpenCascade Technology Overview: Visualization
OpenCascade Technology Overview: Visualization
 
OpenCascade Technology Overview: Foundation Classes
OpenCascade Technology Overview: Foundation ClassesOpenCascade Technology Overview: Foundation Classes
OpenCascade Technology Overview: Foundation Classes
 
2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程
 
矩陣 基本說明
矩陣   基本說明矩陣   基本說明
矩陣 基本說明
 

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.