chapter 9 遊戲物理現象設計概念

29
Chapter 9 遊遊遊遊遊遊遊遊遊遊 物物物物 遊遊遊遊 遊遊遊遊遊

Upload: illiana-aguilar

Post on 02-Jan-2016

29 views

Category:

Documents


1 download

DESCRIPTION

Chapter 9 遊戲物理現象設計概念. 物理運動 物體間的碰撞 粒子的應用. 物理運動. 等速度運動 速度是物體在各個方向上「速度分量」的合成。. X 方向速度分量 Vx. Y 方向速度分量 Vy. 合成速度 V. 等速度運動的意義就指物體在每一個時刻的速度都是相同的,亦即 Vx 與 Vy 都保持不變。. 加速度運動 凡是物體移動時,其運動的速度或方向會隨著時間而改變,那麼該物體運動便是屬於加速度運動。. V=Vo+At. 重力 地心引力也就是重力,是一個在垂直方向 (Y 軸方向 ) 、值大約為 9.8m/sec 、方向向下的加速度。. 摩擦力 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 9  遊戲物理現象設計概念

Chapter 9 遊戲物理現象設計概念

物理運動

物體間的碰撞

粒子的應用

Page 2: Chapter 9  遊戲物理現象設計概念

物理運動 等速度運動

速度是物體在各個方向上「速度分量」的合成。

X方向速度分量 Vx

Y方向速度分量 Vy 合成速度 V

Page 3: Chapter 9  遊戲物理現象設計概念

等速度運動的意義就指物體在每一個時刻的

速度都是相同的,亦即 Vx 與 Vy 都保持不變。

Page 4: Chapter 9  遊戲物理現象設計概念
Page 5: Chapter 9  遊戲物理現象設計概念

加速度運動

凡是物體移動時,其運動的速度或方向會隨

著時間而改變,那麼該物體運動便是屬於加

速度運動。

V=Vo+At

Page 6: Chapter 9  遊戲物理現象設計概念

重力

地心引力也就是重力,是一個在垂直方向 (Y

軸方向 ) 、值大約為 9.8m/sec 、方向向下的

加速度。

Page 7: Chapter 9  遊戲物理現象設計概念
Page 8: Chapter 9  遊戲物理現象設計概念

摩擦力

摩擦力是一種作用於運動物體上的負向力,

摩擦力作用於運動物體上的結果,會產生一

與物體運動方向相反的加速度,使得物體的

運動越來越慢直到靜止不動為止。

Page 9: Chapter 9  遊戲物理現象設計概念

小球落地接觸地面時其運動方向及作用於其上摩擦力的示意圖:

Page 10: Chapter 9  遊戲物理現象設計概念
Page 11: Chapter 9  遊戲物理現象設計概念

物體間的碰撞

碰撞偵測的方式不只一種,有的碰撞偵測是

以範圍來偵測碰撞、有的碰撞偵測是以顏色

來偵測碰撞、有的碰撞偵測是以行進路線是

否交叉來偵測碰撞等等。

Page 12: Chapter 9  遊戲物理現象設計概念

以範圍偵測碰撞

兩矩形的長和寬已交集表示產生碰撞

兩圓形的半徑已交集表示產生碰撞

Page 13: Chapter 9  遊戲物理現象設計概念

當兩台不規則形狀的車子在同樣的高度上移動時,我們所要偵測兩車是否碰撞的方式只需要判斷這兩張車子的圖片長是否已交集。

兩車圖示的長已交集表示兩車產生碰撞

Page 14: Chapter 9  遊戲物理現象設計概念

未真正碰撞但已偵測到碰撞

Page 15: Chapter 9  遊戲物理現象設計概念
Page 16: Chapter 9  遊戲物理現象設計概念

以顏色偵測碰撞

以顏色偵測碰撞的方式是基本上是比較麻煩,

不過這種碰撞偵測方式卻可以很精確的判斷

兩個非規則狀物體是否真的發生碰撞 。

Page 17: Chapter 9  遊戲物理現象設計概念

偵測車子是否進入樹林中

Page 18: Chapter 9  遊戲物理現象設計概念

由上圖中是看不出任何蛛絲馬跡的,因為它無法以任何顏色為基準點來計算出是否發生碰撞,換了一張圖來試試看

Page 19: Chapter 9  遊戲物理現象設計概念

接下來,以顏色判斷的方式來偵測是否產生碰撞,其概念如下列圖所示:

前景圖

暗圖

車子移動

Page 20: Chapter 9  遊戲物理現象設計概念
Page 21: Chapter 9  遊戲物理現象設計概念
Page 22: Chapter 9  遊戲物理現象設計概念
Page 23: Chapter 9  遊戲物理現象設計概念

以行進路線偵測碰撞 以行進路線來偵測是否碰撞的方式主要是偵

測兩個移動的物體,或者是移動物體與平面是否發生碰撞 。

Page 24: Chapter 9  遊戲物理現象設計概念

我們以向量來判斷一個具有速度值的小球是否與斜面 ( 非水平與垂直 ) 會發生碰撞。

Page 25: Chapter 9  遊戲物理現象設計概念

與斜面碰撞後的速度 小球與斜面發生完全碰撞並反彈的示意圖:

Page 26: Chapter 9  遊戲物理現象設計概念

由上圖可得知 =+2 ,其意義如下圖所示:

Page 27: Chapter 9  遊戲物理現象設計概念

粒子的應用

粒子的定義 要使用粒子,首先我們必須先瞭解到粒子的用途

與特性,然後再定義出一個適合的粒子類型。在C 語言中,我們要定義某種粒子的型態是相當容易的,只要自訂一個粒子的結構就行了 。

Page 28: Chapter 9  遊戲物理現象設計概念

下面的這個自訂結構 snow 便是用來代表「雪花」粒子:

struct snow{

int x; // 雪花所在的 X 座標int y; // 雪花所在的 Y 座標BOOL exist; // 是否存在

};

Page 29: Chapter 9  遊戲物理現象設計概念