可樂D
不少玩家朋友發(fā)現(xiàn),在一些新出的游戲中都支持物理處理加速。而我們也了解到,在許多未來即將推出的3D游戲中也將支持物理處理加速。那么,到底什么是物理處理呢?為什么3D游戲常常需要對物理處理進(jìn)行加速呢?
什么是物理處理
簡單地說,物理處理就是借助于物理學(xué)原理,通過計算機(jī)的模擬處理,讓游戲或應(yīng)用軟件中物理現(xiàn)象表現(xiàn)出符合真實(shí)情況的計算,這是一種讓畫面更加真實(shí)的視覺處理技術(shù)。
這是概述性的話,新手理解起來可能比較抽象,為了方便理解,我們結(jié)合日常生活中物理事件來做一個解析:
一個小孩用石頭狠狠地砸向鄰居家的玻璃窗,玻璃碎了,碎片四濺,玻璃碎片反彈到小孩的衣服上,衣服被劃破了。在這個過程中包含了很多的物理事件,比如石頭與玻璃的碰撞玻璃破碎,碎片劃破衣服等。同理,如果想在游戲中真實(shí)地重現(xiàn)這樣的過程,讓畫面更加真實(shí),那么計算機(jī)就需要對物理過程進(jìn)行模擬。
常見的物理處理有哪些
在游戲中加入物理效果,則可大大增強(qiáng)游戲的可玩性。比如可以扔石頭砸死怪物,石頭拋物線處理和撞擊過程:木箱子被砸碎每次形態(tài)都不一樣,并伴隨大量木片散落,射出去的箭矢會由于重力的作用而下墜,等等。實(shí)際上,在許多大家熟知的《極品飛車》、《超級瑪麗》,《半條命2》等游戲中都有大量類似的物理處理。
為何要對物理處理進(jìn)行加速
一款精彩而充滿互動性的游戲需要豐富而真實(shí)的物理效果,但是由于處理器運(yùn)算能力是有限的,無法對所有的物理過程進(jìn)行處理,而無法將最真實(shí)的畫面呈現(xiàn)出來。
比如我們想在游戲中表現(xiàn)真實(shí)的煙霧,最好的方式是計算每一個煙塵粒子的運(yùn)動狀況,最后總結(jié)起來形成煙塵,但由于處理器的浮點(diǎn)運(yùn)算能力有限,而且在游戲中還要進(jìn)行其他計算,對于煙塵這種由上萬個粒子的個體行為組成的物理系統(tǒng),處理器資源就會嚴(yán)重告罄。
這時,計算機(jī)就需要一種能夠適合大規(guī)模并行計算,或者專為物理處理設(shè)計的處理設(shè)備,以滿足物理計算越來越復(fù)雜的需求,這就是物理處理加速。
哪些硬件可以進(jìn)行物理處理加速
實(shí)際上,物理加速處理是一種基于硬件的軟件模擬運(yùn)算,在很早以前有專門的物理加速卡來進(jìn)行計算,但是現(xiàn)在NVIDIAAMD-ATI等顯卡已經(jīng)在GPU中加入了物理處理引擎。目前,主要物理處理引擎API有NVIDIA的PhysX和lnlte的Havok兩種。
★真正的物理“加速”:PhysX
NVIDIA的PhysX物理加速技術(shù)是目前真正可以稱得上是“加速”的物理處理技術(shù)。PhysX的優(yōu)點(diǎn)在于可以使用NVIDIA主流的GeForce 9系列顯卡進(jìn)行物理加速計算。由于GPU在浮點(diǎn)運(yùn)算方面的性能超出CPU,PhysX利用這一優(yōu)勢,將GPU強(qiáng)大的浮點(diǎn)運(yùn)算性能用于物理計算,極大提升了物理計算的性能。
小提示:
PhvsX在保證強(qiáng)大計算性能的前提下,有效提高物理加速的易用性,用戶只需安裝額外驅(qū)動就可以輕松使用物理加速技術(shù)了。實(shí)際上,除了GeForce 9,安裝了新驅(qū)動后GeForce 8系列顯卡也可以使用PhysX技術(shù)。
★支持更加廣泛的物理加速:Havok
相比NVlDlA的PhysX,InteI的Havok更為成熟,支持也更為廣泛。但是因?yàn)镮ntel自身的獨(dú)立顯卡性能較弱,而使得Havok的弱點(diǎn)也非常明顯——沒有強(qiáng)力GPU來提供支持。不過好在AMD-ATI已經(jīng)宣布支持Havek,并且有可能仿照NVIDIA在未來的Radeon系列顯卡中加入對Havok的計算支持。對于消費(fèi)者來說,這無疑是一件好事。
小提示:
H8VOk成立于1998年,是一個專門為游戲開發(fā)商提供物理仿真技術(shù)的公司。InteI于2007年9月收購了Havok及旗下所有物理加速技術(shù)包括游戲版權(quán)。
相關(guān)資料:常見的物理處理
碰撞計算:在碰撞計算中,對兩個物體的接觸和受力情況進(jìn)行全面分析,最后得出符合真實(shí)的碰撞表現(xiàn)。這種物理處理在球類游戲中最常見,如《FIFA》、《足球經(jīng)理》等。
爆炸計算:爆炸物體的氣流沖擊、碎片運(yùn)動、對周圍物體的影響都將納入計算范圍。幾乎在所有戰(zhàn)爭類或射擊類游戲中都需要這種物理處理,比如大家熟悉的《反恐精英》、《孤島驚魂》等。
毛發(fā)模擬計算:最常見的如美女的長發(fā)、怪物身上的毛發(fā)等,如果想讓飄揚(yáng)的長毛足夠真實(shí),物理計算最好能精確到每一根毛發(fā)的狀態(tài),很顯然這將會耗費(fèi)大量的浮點(diǎn)資源。
流體計算:比如流水、油等材料的物理運(yùn)動計算。比如從高處將一杯水倒下,此時水在空中的形態(tài)、運(yùn)動情況,跌落到地面時的撞擊情況,水花、流動方向、擴(kuò)散情況等都屬于流體計算的內(nèi)容。
粒子計算:這也是物理計算中的重要內(nèi)容,比如要真實(shí)地模擬火焰、煙塵效果,就需要大量的粒子計算,這在絕大多數(shù)游戲中都會碰到。
柔性物體計算:布料運(yùn)動計算是這一計算中最常見的一種,這也是非常難的物理計算,因?yàn)椴剂仙厦恳粋€點(diǎn)的運(yùn)動和狀態(tài)都有必要詳細(xì)地進(jìn)行計算,否則難以呈現(xiàn)布料輕盈、柔軟而且灑脫的效果。