游戲設計中的運動力學_第1頁
游戲設計中的運動力學_第2頁
游戲設計中的運動力學_第3頁
游戲設計中的運動力學_第4頁
游戲設計中的運動力學_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、游戲設計中的運動力學問題游戲設計中的運動力學問題2010年10月主要內(nèi)容u 游戲中的運動問題游戲中的運動問題 一維運動 二維和三維運動 旋轉(zhuǎn)運動u 游戲中的牛頓法則游戲中的牛頓法則 力 牛頓定律u 游戲中的能量變換游戲中的能量變換 功和動能 能量守恒u 能量和碰撞 與靜止物體的碰撞 動量和沖量 物體之間的碰撞u 旋轉(zhuǎn)距的計算游戲中的運動問題u一維運動問題 物體運動一定會有速度,在游戲中速度采用矢量描述。在一維空間里,速度用正和負來區(qū)分其運動速度的大小和方向。如果物體的速度恒定,速度和位移之間的關(guān)系如下: d=v*t 其中d表示物體移動的位移,v表示物體運動的速度,t表示運動的時間。如果物體原來

2、的位置在d0的位置,則運行t時間后的位置為: dt=d0+v*t 通過上述表達式,可以計算出游戲中具有相同方向的運動物體每隔一段時間之后所在的位置,也就是每幀之后物體的位置。比如在筆直的公路上運行的多輛汽車的運動情況。 如果物體的運動速度不是恒定的,則可采用平均速度或即時速度來表示物體的速度。平均速度的計算可采用如下的公式。 比如在很多賽車游戲中,往往需要顯示賽車當前的平均速度,則可采用上面的公式進行計算。 此外,賽車當前的運動速度則可能是變化的,因此會產(chǎn)生加速度,加速度的變化是由于游戲操作者加大汽車油門造成的。 以賽車游戲為例,如果加大油門,汽車將不斷加速,如果停止踩油門,則汽車將會減速,同

3、樣,如果踩了剎車,則汽車將會以更快的速度減速。 加速度的計算可采用如下公式: 如果我們設定踩油門或者剎車的大小與加速度成正比的關(guān)系,則可計算出任一時刻汽車的加速度,當然也可計算出任一時刻汽車的速度。這樣可計算出每一幀物體當前的運動速度,加速度以及當前位置。 一般而言,在游戲中為簡化運算的復雜度,可是兩幀之間的加速度恒定,這樣可利用如下公式計算其位移: dx=(vi+vf)/2*dt=vi*dt+1/2*a*dt*dt 其中vi是物體在前一幀的速度,a為物體在前一幀的加速度,dt為兩幀之間的時間間隔。 在很多賽車游戲中,汽車的運動并不完全是直線運動,有可能做曲線運動,如下圖所示。 同樣可采用如下

4、的公式計算其平均速度: 其中f(t)表示曲線的方程,a,b表示兩個不同的時刻,在游戲中可用于表示相鄰兩幀所在的時刻。 可用下面的公式計算汽車在某一時刻的速度: 其中a為某一幀所處的時刻,h為變量。同樣也可采用下面的表達式求解其當前速度。 同樣在知道速度的情況下,也可求解其平均加速度和某一時刻的加速度。 在賽車游戲中,我們往往知道加速度,這就需要反過來求速度和位置。u 二維和三維空間運動 二維和三維空間運動與一維直線或曲線運動不同的是在原來標量的基礎上增加了方向,因此變成了矢量。則包括速度,位置,加速度等。 如下圖所示的二維空間運動。顯然上圖中r=rf-ri 其平均速度的計算可采用下面的公式:r

5、irfr 其它的計算方法完全一樣,需要注意的是表達式中除t之外均為矢量。 比如在3D空間中,已知當前物體的速度為0,0,0,加速度為3,0,2,則經(jīng)過5秒之后,物體的位移為37.5,0,-25,如果已知物體原來的位置,則可得到物體當前的位置。u 旋轉(zhuǎn)運動 在一些游戲中,物體可能做旋轉(zhuǎn)運動,如下圖所示。物體繞某一點做旋轉(zhuǎn)運動時,同樣也需要一些參數(shù)來度量。 角位移q可用下面的公式來表示: q= s/r 其中s表示移動的幅度,r表示旋轉(zhuǎn)的半徑。這樣就可以定義其平均角速度: =q/ t=(qf-qi)/(tf-ti) 同樣可通過下面的表達式求出其角加速度: 同樣角速度和線速度之間的關(guān)系如下所示: =v

6、t/r vt= *r 其中v為線速度,r為旋轉(zhuǎn)半徑。 利用和vt的變化也可求出其角加速度和線加速度。 在幸運之輪(Wheel of fortune)游戲中需要根據(jù)角速度計算其角位移,并判斷擊中的位置。u 力 游戲中的物體為什么會運動,是什么導致其運動?當然是力的作用。既然涉及到力的作用,就離不開牛頓力學。 物體重量的計算: w=mg 其中w為物體的重量,m為物體的質(zhì)量,g為重力加速度。在地球上g=9.8m/s2,不同的地方其重力加速度不同。游戲中的牛頓力學游戲中的牛頓力學 物體在運動過程中會受到地面的摩擦力,不同的地面其摩擦力不同。摩擦力的計算方法如下: Fs=-msN 其中ms為摩擦系數(shù),N

7、為與作用面垂直方向上的力。靜態(tài)摩擦力的方向總是和運動方向相反。 上述公式對于游戲中的某些場景的模擬具有很重要的意義。比如我們要模擬一個在斜坡上的輪子的運動。u 牛頓三大定律 1. 沒有力的作用物體的運動速度不會改變。 比如在Air Hockey游戲中如果假定桌面是光滑的,那么在一方擊打球之后,該球的速度為10,5, 如果沒有對手擊打該球,2秒鐘后其速度為多少。 2. F=ma,該定律揭示了力和加速度之間的關(guān)系。通過前面的計算方法可以求出其速度,位置等。需要指出的是這兒的所有變量均可以是矢量,比如說在2D 空間中F=Fx,Fy, 同樣加速度a=ax,ay,如果物體在平面上運動,則m相同。 3.

8、作用力和反作用力相同。也就是一個物體作用在另一個物體上的力的大小和另一個物體中用到該物體的力的大小相同。這在一些碰撞類游戲中可用于計算碰撞后物體的速度。 能量守恒u 功和動能功和動能 功的定義為: W=F* x 其中W為物體移動所作的功,F(xiàn)為物體所受到的力,x為物體在力方向上移動的距離。 需要注意的是上述公式中的每一個參數(shù)均為矢量。 例如在某游戲中某個物體在某X-Y平面上自由移動,對物體的作用力為200060o,物體的運動距離為3m30o,請問物體做了多少的功? 動能的計算公式為:KE =1/2*m*V2 其中m為物體的質(zhì)量,V為物體運動的速度。 同樣上面的計算也是基于矢量的關(guān)系。 功和動能之

9、間的關(guān)系: W=E=KEf-KEi 在棒球游戲中,投手需要用力將球投出,如果棒球的質(zhì)量確定,投手投擲某物體所需的力及移動的距離已知,則可計算出該棒球手投擲棒球的初始速度。 重力勢能的計算公式: PE=mgh 其中m為物體的質(zhì)量,g為重力加速度, h 為物體的相對高度。u 機械能守恒 機械能包括物體的動能和勢能。物體在運動過程中不考慮其他因素對物體運動的影響,則機械能守恒。 KEi+PEi=KEf+PEf 前者是物體在i位置的機械能,后者是物體在f位置的機械能。 如果考慮物體運動過程中能量的損耗或者其他物體對該物體所做的功,則可對上述能量守恒定律進行修改: KEi+PEi=KEf+PEf+E0

10、E0就是作用在本物體上的能量的大小。 通過上述修正公式后,物體的運動更加接近真實。 能量與碰撞u 與靜止物體的碰撞 入射角與反射角相同。 如果如何速度vi=vix,viy,且碰撞面處于垂直狀態(tài),則Vf=-vix,viy,如果碰撞面處于水平狀態(tài),則Vf=vix,-viy。 當然如果碰撞面存在夾角的情況下,可采用矢量計算的方法求出Vf的大?。?Vf=Vi+2*P 如果碰撞面的斜率K=Dy/Dx,則P的斜率為-1/K=-Dx/Dy,用矢量可表示為N=Dy,-Dx,其方向矢量N為N歸一化后的矢量。 P=(-Vi.N)*N 其中(-Vi.N)為Vi在N軸上的投影。 通過上面的表達式可以計算出與任意碰撞面

11、發(fā)生碰撞后物體的速度。 同樣可以計算出在三維空間下物體發(fā)生彈性碰撞后的速度的變化。 例如在某3D游戲中,如果某球以失量速度100,-50,-50與某空間面碰撞,該碰撞面由矢量【200,250,-300】和【50,200,-25】構(gòu)成,請問碰撞后的速度矢量。 可采用如下的方法求解: N=200,250,-300*50,200,-25 =53750,-10000,27500 歸一化以后的法向矢量為: N=0.8783,-0.1634,0.4494 P=(Vi.N)*N =-64.5814,12.0148,-33.0444 這樣可計算出Vf=Vi+2*P=-29.1628,-25.9704,-116

12、.0888 u 動量和沖量的計算及應用 動量的計算公式:P=mv 其中m為物體的質(zhì)量,V為物體的運動速度。 沖量的計算公式:IP=Ft 其中F為力,t為力的作用時間,一般而言t的作用時間很短。 動量和沖量之間有如下的關(guān)系: Ft=P=m(Vf-Vi)u 物體的碰撞 物體碰撞時一個物體對另一個物體的作用力和另一個物體對該物體的作用力相同,方向相反,作用時間也相同,也就是沖量相同,但方向相反,因此有如下的表達式成立。 P1 =P2 m1v1i+m2v2i=m1v1f+m2v2f 需要注意的是上述變量均為可矢量計算。 同時考慮的計算公式和能量守恒公式可計算出物體碰撞后的速度。 在大量的游戲中會利用到上面的物理學知識。旋轉(zhuǎn)距u 切向加速度的計算 物體在旋轉(zhuǎn)過程中,除了角加速度外還有切向加速度。其計算方法如下: at=ar*r 其中ar為角速度,r為旋轉(zhuǎn)半徑。u 轉(zhuǎn)矩 物體旋轉(zhuǎn)過程中所受到的轉(zhuǎn)矩的大小為: t=Ft.r=mat.r=marr.r=mar r2 其中ar 為物體旋轉(zhuǎn)的角速度,r為物體旋轉(zhuǎn)地半徑。而其中mr2為物體的慣量,因此上述表達式也可表示為: t=l*ar (類似于F=ma) 其中l(wèi)為物體的慣量,ar為物體的角速度。 物體旋轉(zhuǎn)動能為: KER=1/2*l*2 旋轉(zhuǎn)地物體即會做線性運動,也會做旋轉(zhuǎn)運動,在勢能上也可能發(fā)生變換,因此對應的能量守恒定律如下: 其

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論