Dept. of Electronics Engineering
Construct 2 Physics
behavior
電子工程系電腦遊戲設計組
吳錫修
2014.5.4
物理特性
 Physics behavior賦予物件具備物理學性質,如密度、磨擦力、碰撞、
彈性等影響
 二個Physics behavior物體彼此會呈現物理世界中碰撞、磨擦、反
彈…
Wu, ShyiShiou2
Physics properties 1/5
用來調整physics行為參數
 Immovable
設為Yes,表示物體具有無限大的質量 (忽略物
件的Density值),此時物體將固定不動。預設
為No
 Collision mask
指定物體碰撞罩遮方式,有三種罩遮模式:
 Bounding box
使用外接矩形碰撞罩遮
 Circle
使用圓形碰撞罩遮
Wu, ShyiShiou3
Physics properties 2/5
 Use collision mask
使用物件的collision polygon (在Image/Animations編輯器中設定的碰
撞區),物件預設是以外接矩形做為collision polygon
Edit image工具
 Set collision polygon
建議不要超過8個邊
Wu, ShyiShiou4
Physics properties 3/5
 Prevent rotation
鎖定物體角度值,物體不會因碰撞而旋轉。預設為No
 Density
物體的密度值,預設為1
物體質量計算公式為密度乘以其碰撞罩遮面積。在遊戲中為物體設定
精準的密度值並不重要,反而是不同物體間的相對密度值有更顯著的
影響 (例如⼀個密度值6的物體,對密度值3的物體而言,有2倍的密度
值)
 Friction
摩擦係數,0表示無摩擦力,1表示最大摩擦力。預設為0.5
摩擦係數關係著物體碰觸在⼀起時是否容易移動物體
Wu, ShyiShiou5
Physics properties 4/5
 Elasticity
物體的彈性係數,0表示無反彈力,1表示具有最大彈性。預設為0.2
彈性係數影響高處物體掉落地面後的反彈情形
 Linear damping
線性阻尼係數,移動中物體逐漸趨緩的程度
0表示不減速,1表示最大減速。預設為0
 Angular damping
角度阻尼,旋轉中物體逐漸趨緩的程度
0表示不變慢,1表示最大減速。預設為0.01
Wu, ShyiShiou6
Physics properties 5/5
 Bullet
啟用快速移動物體之碰撞檢測功能。預設為No
啟用Bullet功能可能影響遊戲效能,除非物件移動太快,影響物理引
擎標準碰撞作業的準確性,不建議啟用
 Initial state
是否在⼀開始就啟用physics功能。預設為Enabled
如果沒啟用物理行為,其Physics behavior物體將可穿透本物體,有
如物體本身是透空不存在的
Wu, ShyiShiou7
Physics conditions 1/2
提供給事件表的事件條件
 Compare angular velocity
比對物體目前的角速度值,單位degrees/second
正值表示物體順時針旋轉,負值表示物體為逆時針旋轉
 Compare mass
比對物體的質量 (物體的碰撞多邊形面積乘以密度值)
 Compare velocity
比對物體目前的速度,單位pixels/second
可以就X軸方向速度、Y軸方向速度、或整體速度進行比對
Wu, ShyiShiou8
Physics conditions 2/2
 Is enabled
檢視物體的physics behavior是否為開啟狀態
 Is sleeping
檢視物體是否處於休眠狀態。當物體已有⼀段時間未移動或受干擾,
物理引擎就可以停止處理該物件
Wu, ShyiShiou9
Physics actions: Forces 1/2
事件表中與施力有關的actions
 Apply force
 Apply force at angle
 Apply force towards position
在物體施加外力,可以是某個角度、對著物體某⼀圖像參考點、朝向
某⼀定點、或指定X、Y軸分力方式
施力將使物體朝著施力方向產生加速
Wu, ShyiShiou10
Physics actions: Forces 2/2
 Apply impulse
 Apply impulse at angle
 Apply impulse towards position
對物體施加⼀個衝擊, 可以是某個角度、對著物體某⼀圖像參考點、
或指定X、Y軸分力方式
可以模擬物體被外物擊中效果,例如被蝙蝠襲擊
 Set velocity
設定物體X、Y軸分向速度 (單位pixels/second) 來變更物體目前的移
動速度
Wu, ShyiShiou11
Physics actions: Global settings 1/2
事件表中與全域設定有關的actions
 Enable/disable collisions
預設情況下,所有的物體會相互碰撞。如果取消物體碰撞,該物體可
穿越其它物體
這項設定會影響物體的所有複本實體
 Set stepping iterations
設定物理引擎在計算物體速度和座標的疊代次數。預設值分別是8和3
數值越低,運行速度愈快,但精確性較低;較高的設定值可提供更逼
真物理模擬效果,但會降低效能
Wu, ShyiShiou12
Physics actions: Global settings 2/2
 Set stepping mode
選擇使用DT (增量時間,執行速度與幀率無關)或固定值做為物理時
間計步方式。預設是使用固定時間計步方式,保證每次模擬都有同樣
的結果
DT方式會根據遊戲幀率的調整時間計步值,因此相同的情境模擬執行
兩次,可能會產生不同的結果。注意,DT方式的最大時間計步被限制
在1/30(約33ms,相當於每秒30幀),以防止⻑時間計步可能導致
的不穩定性
 Set world gravity
設定遊戲世界重力值,會影響遊戲中的所有物體
預設遊戲世界重力為10 (方向向下)
Wu, ShyiShiou13
Physics actions: Joints
事件表中與物件關節設定有關的actions
 Create distance joint
將二個物體以指定的距離接合在⼀起,彷彿中間有⼀個連接桿
 Create revolute joint
 Create limited revolute joint
將二個物體以鉸鏈連在⼀起,就好像以針釘住⼀樣,他們可以自由旋
轉 。有限轉動關節則可限定旋轉角度,就像⼀個鐘攞
 Remove all joints
刪除物體的所有關節,會連帶影響關節連接的物體
Wu, ShyiShiou14
Physics actions: Torque
事件表中與力矩有關的actions
 Apply torque
 Apply torque towards angle
 Apply torque towards position
施加力矩(旋轉加速)到物體,可以直接施力或某⼀角度施力或朝向
指定座標
 Set angular velocity
設定物體角速度(旋轉速率),單位degrees/second
Wu, ShyiShiou15
Physics expressions 1/2
物件實體在Runtime時的Physics行為資料
 AngularVelocity
物體目前的角速度(旋轉速率),單位degrees/second
 CenterOfMassX、CenterOfMassY
物體目前的質量中心點位置,由物理引擎依據物件的collision mask
屬性計算而得,並不⼀定是在物體中間
 Mass
物體的質量,等於物件的ollision mask面積乘以物體density
 VelocityX、VelocityY
物體目前的速度值,單位pixels/second
Wu, ShyiShiou16
Physics expressions 2/2
 AngularDamping
物體的角度阻尼值
 Density
物體的密度值
 Elasticity
物體的彈力係數
 Friction
物體的摩差係數
 LinearDamping
物體的線性阻尼值
Wu, ShyiShiou17

More Related Content

PPTX
2017 unity5.5 manual_physics
PDF
Construct 2的Particles物件
PDF
Construct 2 Sine behavior
PDF
Construct2 Pathfinding behavior
PDF
Construct 2基本操作
PDF
Unity遊戲程式設計(04) 2D運動與碰撞處理I
PDF
Unity遊戲程式設計 - 2D運動與碰撞處理I
PDF
Unity遊戲程式設計 - 2D運動與碰撞處理I
2017 unity5.5 manual_physics
Construct 2的Particles物件
Construct 2 Sine behavior
Construct2 Pathfinding behavior
Construct 2基本操作
Unity遊戲程式設計(04) 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理I

More from 吳錫修 (ShyiShiou Wu) (20)

PDF
Vuforia AR影片程式設計
PDF
micro:bit亮度感測應用
PDF
Vuforia AR 同時追踨多張辨識圖
PDF
micro:bit開關控制應用
PDF
Vuforia AR 應用程式設計入門
PDF
Vuforia AR 應用程式準備作業
PDF
micro:bit LED顯示控制
PDF
IDE for micro:bit
PDF
Microbit 1 introduction
PDF
Arduino overview
PDF
使用Makeblock App學習mBot程式設計
PDF
使用M部落App學習mBot程式設計
PDF
nodeMCU IOT教學03 - NodeMCU導論
PDF
nodeMCU IOT教學02 - Lua語言
PDF
Unity遊戲程式設計 - 2D Platformer遊戲
PDF
Unity遊戲程式設計 - 2D移動與碰撞處理II
PDF
Python與Ardinio整合應用
PDF
mBlock積木式設計程式
PDF
Arduino程式除錯
PDF
Unity遊戲設計- 2D動畫製作及應用
Vuforia AR影片程式設計
micro:bit亮度感測應用
Vuforia AR 同時追踨多張辨識圖
micro:bit開關控制應用
Vuforia AR 應用程式設計入門
Vuforia AR 應用程式準備作業
micro:bit LED顯示控制
IDE for micro:bit
Microbit 1 introduction
Arduino overview
使用Makeblock App學習mBot程式設計
使用M部落App學習mBot程式設計
nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學02 - Lua語言
Unity遊戲程式設計 - 2D Platformer遊戲
Unity遊戲程式設計 - 2D移動與碰撞處理II
Python與Ardinio整合應用
mBlock積木式設計程式
Arduino程式除錯
Unity遊戲設計- 2D動畫製作及應用
Ad

Construct 2 Physics behavior

  • 1. Dept. of Electronics Engineering Construct 2 Physics behavior 電子工程系電腦遊戲設計組 吳錫修 2014.5.4
  • 2. 物理特性  Physics behavior賦予物件具備物理學性質,如密度、磨擦力、碰撞、 彈性等影響  二個Physics behavior物體彼此會呈現物理世界中碰撞、磨擦、反 彈… Wu, ShyiShiou2
  • 3. Physics properties 1/5 用來調整physics行為參數  Immovable 設為Yes,表示物體具有無限大的質量 (忽略物 件的Density值),此時物體將固定不動。預設 為No  Collision mask 指定物體碰撞罩遮方式,有三種罩遮模式:  Bounding box 使用外接矩形碰撞罩遮  Circle 使用圓形碰撞罩遮 Wu, ShyiShiou3
  • 4. Physics properties 2/5  Use collision mask 使用物件的collision polygon (在Image/Animations編輯器中設定的碰 撞區),物件預設是以外接矩形做為collision polygon Edit image工具  Set collision polygon 建議不要超過8個邊 Wu, ShyiShiou4
  • 5. Physics properties 3/5  Prevent rotation 鎖定物體角度值,物體不會因碰撞而旋轉。預設為No  Density 物體的密度值,預設為1 物體質量計算公式為密度乘以其碰撞罩遮面積。在遊戲中為物體設定 精準的密度值並不重要,反而是不同物體間的相對密度值有更顯著的 影響 (例如⼀個密度值6的物體,對密度值3的物體而言,有2倍的密度 值)  Friction 摩擦係數,0表示無摩擦力,1表示最大摩擦力。預設為0.5 摩擦係數關係著物體碰觸在⼀起時是否容易移動物體 Wu, ShyiShiou5
  • 6. Physics properties 4/5  Elasticity 物體的彈性係數,0表示無反彈力,1表示具有最大彈性。預設為0.2 彈性係數影響高處物體掉落地面後的反彈情形  Linear damping 線性阻尼係數,移動中物體逐漸趨緩的程度 0表示不減速,1表示最大減速。預設為0  Angular damping 角度阻尼,旋轉中物體逐漸趨緩的程度 0表示不變慢,1表示最大減速。預設為0.01 Wu, ShyiShiou6
  • 7. Physics properties 5/5  Bullet 啟用快速移動物體之碰撞檢測功能。預設為No 啟用Bullet功能可能影響遊戲效能,除非物件移動太快,影響物理引 擎標準碰撞作業的準確性,不建議啟用  Initial state 是否在⼀開始就啟用physics功能。預設為Enabled 如果沒啟用物理行為,其Physics behavior物體將可穿透本物體,有 如物體本身是透空不存在的 Wu, ShyiShiou7
  • 8. Physics conditions 1/2 提供給事件表的事件條件  Compare angular velocity 比對物體目前的角速度值,單位degrees/second 正值表示物體順時針旋轉,負值表示物體為逆時針旋轉  Compare mass 比對物體的質量 (物體的碰撞多邊形面積乘以密度值)  Compare velocity 比對物體目前的速度,單位pixels/second 可以就X軸方向速度、Y軸方向速度、或整體速度進行比對 Wu, ShyiShiou8
  • 9. Physics conditions 2/2  Is enabled 檢視物體的physics behavior是否為開啟狀態  Is sleeping 檢視物體是否處於休眠狀態。當物體已有⼀段時間未移動或受干擾, 物理引擎就可以停止處理該物件 Wu, ShyiShiou9
  • 10. Physics actions: Forces 1/2 事件表中與施力有關的actions  Apply force  Apply force at angle  Apply force towards position 在物體施加外力,可以是某個角度、對著物體某⼀圖像參考點、朝向 某⼀定點、或指定X、Y軸分力方式 施力將使物體朝著施力方向產生加速 Wu, ShyiShiou10
  • 11. Physics actions: Forces 2/2  Apply impulse  Apply impulse at angle  Apply impulse towards position 對物體施加⼀個衝擊, 可以是某個角度、對著物體某⼀圖像參考點、 或指定X、Y軸分力方式 可以模擬物體被外物擊中效果,例如被蝙蝠襲擊  Set velocity 設定物體X、Y軸分向速度 (單位pixels/second) 來變更物體目前的移 動速度 Wu, ShyiShiou11
  • 12. Physics actions: Global settings 1/2 事件表中與全域設定有關的actions  Enable/disable collisions 預設情況下,所有的物體會相互碰撞。如果取消物體碰撞,該物體可 穿越其它物體 這項設定會影響物體的所有複本實體  Set stepping iterations 設定物理引擎在計算物體速度和座標的疊代次數。預設值分別是8和3 數值越低,運行速度愈快,但精確性較低;較高的設定值可提供更逼 真物理模擬效果,但會降低效能 Wu, ShyiShiou12
  • 13. Physics actions: Global settings 2/2  Set stepping mode 選擇使用DT (增量時間,執行速度與幀率無關)或固定值做為物理時 間計步方式。預設是使用固定時間計步方式,保證每次模擬都有同樣 的結果 DT方式會根據遊戲幀率的調整時間計步值,因此相同的情境模擬執行 兩次,可能會產生不同的結果。注意,DT方式的最大時間計步被限制 在1/30(約33ms,相當於每秒30幀),以防止⻑時間計步可能導致 的不穩定性  Set world gravity 設定遊戲世界重力值,會影響遊戲中的所有物體 預設遊戲世界重力為10 (方向向下) Wu, ShyiShiou13
  • 14. Physics actions: Joints 事件表中與物件關節設定有關的actions  Create distance joint 將二個物體以指定的距離接合在⼀起,彷彿中間有⼀個連接桿  Create revolute joint  Create limited revolute joint 將二個物體以鉸鏈連在⼀起,就好像以針釘住⼀樣,他們可以自由旋 轉 。有限轉動關節則可限定旋轉角度,就像⼀個鐘攞  Remove all joints 刪除物體的所有關節,會連帶影響關節連接的物體 Wu, ShyiShiou14
  • 15. Physics actions: Torque 事件表中與力矩有關的actions  Apply torque  Apply torque towards angle  Apply torque towards position 施加力矩(旋轉加速)到物體,可以直接施力或某⼀角度施力或朝向 指定座標  Set angular velocity 設定物體角速度(旋轉速率),單位degrees/second Wu, ShyiShiou15
  • 16. Physics expressions 1/2 物件實體在Runtime時的Physics行為資料  AngularVelocity 物體目前的角速度(旋轉速率),單位degrees/second  CenterOfMassX、CenterOfMassY 物體目前的質量中心點位置,由物理引擎依據物件的collision mask 屬性計算而得,並不⼀定是在物體中間  Mass 物體的質量,等於物件的ollision mask面積乘以物體density  VelocityX、VelocityY 物體目前的速度值,單位pixels/second Wu, ShyiShiou16
  • 17. Physics expressions 2/2  AngularDamping 物體的角度阻尼值  Density 物體的密度值  Elasticity 物體的彈力係數  Friction 物體的摩差係數  LinearDamping 物體的線性阻尼值 Wu, ShyiShiou17