游戲中的物理引擎_第1頁
游戲中的物理引擎_第2頁
游戲中的物理引擎_第3頁
游戲中的物理引擎_第4頁
游戲中的物理引擎_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

游戲中的物理引擎

物理引擎物理引擎通過給物體賦予真實的物理屬性來模擬物體的運動,包括碰撞、移動、旋轉(zhuǎn)等。并不是所有的游戲都必須使用獨立的物理引擎,一些簡單的游戲的物理功能可以通過自行開發(fā)碰撞檢測及實現(xiàn)力學(xué)公式來實現(xiàn)對剛體及質(zhì)點的模擬。當(dāng)游戲需要實現(xiàn)比較復(fù)雜的剛體碰撞、滾動或者彈跳時,通過全部自行編程的方式實現(xiàn)就非常困難,成本也很高??梢允褂锚毩⒌奈锢硪鎭砟M物體的運動,使用物理引擎不僅可以得到更加真實的結(jié)果,對于開發(fā)人員來說也比自行開發(fā)要耗時短、效率高。一款好的物理引擎不僅會幫助實現(xiàn)碰撞檢測、力學(xué)公式模擬,而且還會提供很多機械結(jié)構(gòu)的實現(xiàn),如滑輪、齒輪、鉸鏈等。更高級的物理引擎不但可以提供剛體的模擬,甚至還可以提供軟體及流體的模擬,這些都能幫助游戲提升真實感和吸引力。常見的物理引擎物理引擎名稱HavokPhysXBulletBox2DODE持有公司/人員IntelNvidiaAMDErinCattoRussellSmith是否開源否否是是是是否支持C/C++是是是是是最新版本5.52.1.22.782.1.20.11.1文檔情況詳細(xì)詳細(xì)尚可尚可一般1.HavokHavok成立于1998年,總部位于都柏林。在2000年游戲開發(fā)者大會上發(fā)布了Havok1.0,最新版本為Havok5.5,該引擎基于C/C++。2007年9月,Intel宣布成功收購Havok。之后,Intel宣布Havok引擎開放源代碼并允許游戲開發(fā)人員免費用于非商業(yè)用途。由于Havok的開放性和不依賴特定硬件的特點,很多大型游戲均使用Havok引擎。其中著名的有星際爭霸2、暗黑破壞神3等。2011年3月6號,Intel宣布Havok引擎開始支持Android。Havok引擎工作流程2.PhysXPhysX不僅可以由CPU計算,而且其程序本身在設(shè)計上可以使用獨立的浮點處理器來計算。正是由于這個原因,其可以非常輕松地完成像流體力學(xué)那樣計算量非常大的物理模擬計算。該引擎可以在Windows,Linux,Xbox360,Playstation3,Mac等多種平臺上運行。到目前為止在X86-PC平臺上,共有222種游戲采用PhysX引擎。被大家熟知的有雪域危機、虛幻競技場3。3.BulletBullet是一款開源的物理引擎,是AMD開放物理計劃成員之一。同時其也是一個跨平臺的物理引擎,支持Windows、Linux、MAC、Playstation3、XBOX360以及NintendoWii等主流平臺。使用Bullet物理引擎開發(fā)的游戲主要有俠盜獵車4,其效果如圖10-5所示。同時使用該引擎制作的電影也不乏好萊塢大作,如2012就是使用的該引擎。4.ODEODE(OpenDynamicEngine)是一款免費的具有工業(yè)品質(zhì)的剛體動力學(xué)引擎。其可以非常好的仿真現(xiàn)實中物體的移動、旋轉(zhuǎn)等,具有快速、強健和可移植性,并且內(nèi)置碰撞檢測系統(tǒng)。ODE目前可以支持球窩、鉸鏈、滑塊、定軸、角電機和hinge-2等連接類型,還可以支持各種碰撞形式(如球面碰撞和平面碰撞)和多個碰撞空間。應(yīng)用不如前幾種廣泛。5.Box2DBox2D是一款非常著名的2D物理引擎,主要用于2D剛體仿真。有C++、Flash和Java等版本。Box2D會自動管理各個物體的碰撞、彈跳等物理狀態(tài),用戶只需要創(chuàng)建各種剛體。非常受歡迎的游戲《憤怒的小鳥》就是基于該引擎開發(fā)的。/2D的王者JBox2DJBox2D是開源的物理引擎Box2D的Java版本,可以直接用于Android。由于JBox2D的圖形渲染使用的是Processing庫,因此在Android平臺上使用JBox2D時,圖形渲染工作只能自行開發(fā)。該引擎能夠根據(jù)開發(fā)人員設(shè)定的參數(shù),如重力、密度、摩擦系數(shù)和彈性系數(shù)等,自動地進行2D剛體物理運動的全方位模擬。Box2D核心概念剛體(rigidbody)一塊十分堅硬的物質(zhì),它上面的任何兩點之間的距離都是完全不變的。

形狀(shape)一塊嚴(yán)格依附于物體(body)的2D碰撞幾何結(jié)構(gòu)(collisiongeometry)。形狀具有摩擦(friction)和恢復(fù)(restitution)的材料性質(zhì)。約束(constraint)一個約束(constraint)就是消除物體自由度的物理連接。在2D中,一個物體有3個自由度。如果把一個物體釘在墻上(像擺錘那樣),那就把它約束到了墻上。這樣,此物體就只能繞著這個釘子旋轉(zhuǎn),所以這個約束消除了它2個自由度。

接觸約束(contactconstraint)一個防止剛體穿透,以及用于模擬摩擦(friction)和恢復(fù)(restitution)的特殊約束。接觸約束會自動被Box2D創(chuàng)建。

關(guān)節(jié)(joint)它是一種用于把兩個或多個物體固定到一起的約束。Box2D支持的關(guān)節(jié)類型有:旋轉(zhuǎn),棱柱,距離等等。關(guān)節(jié)可以支持限制(limits)和馬達(dá)(motors)。

關(guān)節(jié)限制(jointlimit)一個關(guān)節(jié)限制(jointlimit)限定了一個關(guān)節(jié)的運動范圍。例如人類的胳膊肘只能做某一范圍角度的運動。

關(guān)節(jié)馬達(dá)(j

溫馨提示

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

評論

0/150

提交評論