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