Havok

Havok

H徠avok,全稱為Havok Game Dynamics SDK,譯作Havok遊戲動力開發包。一般稱為Havok,是一個用於物理(動力學)效應模擬的遊戲引擎,為電子遊戲所設計,注重在遊戲中對於真實世界的模擬。使用撞擊監測功能的Havok引擎可以讓更多真實世界的情況以最大的擬真度反映在遊戲中。它包含PhysX、FX及其他一系列著名的物理模擬與運算引擎,被廣泛地應用於遊戲、軟體和電影當中。

內容簡介


人們經常說到的,與PhysX相提並論的Havok物理模擬引擎,只是Havok引擎中的一部分而已。
Havok成立於1998年,總部位於愛爾蘭首都都柏林。2000年在遊戲開發者大會上發布了Havok 1.0 。2.0版本在2003年的遊戲開發者大會上發布;4.5版本在2007年3月釋出,最新版本為5.5 ,引擎基於C/C++語言而成。2007年9月,Intel宣布收購Havok,之後不久,Intel宣布Havok引擎開放源代碼並允許遊戲開發人員免費使用。
Havok專註於遊戲的模擬技術。其包含的Havok Physics物理引擎是物理模擬計算引擎界的領軍者,世界三大物理引擎之首。(排名第二的是nVIDIA PhysX,第三的是Bullet)。
自2000年Havok 1.0版本發布以來,採用Havok引擎開發的遊戲(全平台)已超過280種。由於Havok的開放性以及不依賴特定硬體支持的特點,很多遊戲大作都採用Havok引擎。例如:《瘋狂的麥克斯》、《星際爭霸2》、《暗黑破壞神3》、《激戰2》、《戰地:叛逆連隊2》、《失落的星球2》、《半條命2》(半條命雖然使用source做的,但是source是基於havok引擎的、《細胞分裂》、《生化危機5》、《孤島驚魂2》、《輻射3》、《求生之路》、《正當防衛》、《波斯王子:遺忘之沙》、《爭分奪秒》、《星球大戰:原力釋放2》、《閃點行動:龍之崛起》、《帝國時代3》、《黑道聖徒4》、《熱血無賴》、《現代戰爭4:決戰時刻》等。這與PhysX遊戲都是較為冷門的情況大不相同。
Havok是Intel公司旗下產業,但是仍然與AMD公司保持良好的合作關係;Havok引擎是AMD”開放物理計劃“的核心成員之一(另兩個成員是Bullet和Pixelux DMM),計劃中可以利用AMD Radeon HD4000系列以上的顯卡進行物理加速計算。不過這項計劃尚在開發中,除了幾個演示DEMO外,尚沒有遊戲支持。

主要組成


Physics

Havok Physics物理引擎展示
Havok Physics物理引擎展示
Havok物理引擎。業界領先的實時碰撞計算和物理模擬解決方案,提供快速高效率的物理模擬計算。被200多個遊戲所採用,且Havok Physics引擎可以運行在Windows、Linux、MAC、XBOX360、Playstation3等全平台上。Havok Physics是整個Havok引擎的基礎。
Havok Physics物理引擎是業界功能最全面的物理模擬解決方案,它可以應用在諸如實時碰撞計算、動力學約束求解、車輛綜合解決方案等領域。
Havok Physics基於CPU計算,尤其是在Intel收購Havok之後,Havok特別針對多核多線程CPU進行優化。多線程CPU的普及以及Havok Physics引擎本身的高效率特點,使得Havok僅僅依靠CPU計算就能達到很好的物理模擬效果。

FX

針對爆炸效果等大計算量的物理模擬,Havok曾經推出過Havok FX引擎。Havok FX引擎也是一種物理模擬計算解決方案,由CPU+GPU聯合計算完成。GPU負責爆炸等大計算量的物理模擬。Nvidia與ATI都曾經與Havok就Havok FX進行過深入的合作。但是Intel收購Havok后,由於Intel本身不能生產獨立的GPU,Havok FX發展就陷入停滯,雖然Intel官方沒有宣布Havok FX引擎下馬,但實際上Havok FX已經被Intel雪藏。
這也就意味著,ATI顯卡雖然理論上支持Havok FX物理加速,但是由於Havok引擎中GPU計算部分已經停滯發展,所以ATI顯卡的Havok物理加速只是有槍無彈,缺少遊戲支持。這也是後來AMD啟動“開放物理計劃”的原因之一。

動作引擎

Havok Animation引擎演示
Havok Animation引擎演示
Havok動作引擎。是一種高效靈活的動作開發工具。在全平台上提供經過優化的回放和實時融合特性,並能與Havok Physics引擎完美合作,提高遊戲的可玩性。
Havok動作引擎的特點包括:高效動畫壓縮和解壓;運動混合;根據速度、方向和重量提供動作控制;動作緩和曲線支持等。
如果沒有Havok Animation,遊戲中車輪不會轉動,兩腿不會邁開,士兵也不會換彈匣或者蹲、站、跳、卧倒、側傾。最新版的動作引擎帶來流暢的動作,在使用寒霜引擎的ruby demo中,僅ruby臉部就有上百個可動部件,這是前所未有的。值得一提的是很多好萊塢電影大片也是使用Havok Animation。

Behavior

Havok行為引擎。它可以讓遊戲中的虛擬人物學會新的行為、動作、戰術。你是否曾注意到,在一些採用havok的遊戲中,就像《光暈3》和《半條命2》,友好的虛擬人物會轉身面向你,會和你產生互動。敵人則不僅會沖向你開火,他們也會尋找 掩護,在《彩虹6號:盾牌行動》之類的戰術遊戲中,敵人甚至擁有包抄、迂迴等戰術。集成在寒霜引擎中的Havok Behavior更為強大,例如你會看到虛擬人物弓腰通過,攀爬,或者跳過障礙,遇到爆炸物選擇躲避或是撿起來扔回去。

Cloth

Havok Cloth引擎演示
Havok Cloth引擎演示
Havok布料模擬引擎。Havok Cloth不是說這個引擎只能模擬布匹的物理特性,而是能模擬一切柔性物體。如衣服,裙子,斗篷,外套、頭髮、尾巴、旗幟、橫幅、窗帘、植物等等。
Havok Cloth的基本特性包括基於物理的布料模擬、多線程與平台優化、拉伸/阻尼/彎曲等布料行為屬性、基於人物模型的布料創建工具等等。
加入AMD開放物理計劃的Havok引擎,就是這個Havok Cloth引擎。AMD曾經展示過一個由HD4870X2組建的,基於ATI Stream和OpenCL,運用Havok Cloth引擎的演示視頻。

剛體破壞

Hav徠ok剛體破壞引擎。這是一種高效的跨平台的剛體破壞模擬引擎。Havok剛體破壞引擎採用Collision Detection碰撞檢測系統,這將有別於以往傳統遊戲中的hitbox系統。適合造成動態破壞。
帶來前所未有的高範圍破壞,可完全毀壞遊戲內的所有物體(載具、建築、橋樑、樹木.....)和部分地形
帶來前所未有的高精度破壞,你可以削去飛行中飛機的翅膀或者其他什麼地方,也可以炸壞房屋一角,這一切都不是程序編輯好的,不是調用破壞后的模型和 貼圖,你可以決定破壞什麼部位。
《戰地 叛逆連隊2》使用寒霜引擎渲染,寒霜引擎中集成了內部版本的Havok Destruction 2.0版本。這使得遊戲中高達99%的建築都可以被破壞掉。

AI

Havok人工智慧引擎。在2009年遊戲開發者大會上,Havok展示了Havok引擎家族的新成員:Havok人工智慧引擎。
Havok AI可以幫助遊戲開發者更好的進行遊戲中人工智慧的開發,藉助Havok AI SDK開發者可以更容易的設計出更出色、聰明的遊戲角色。比如這套工具就包含自動路徑搜索功能,可以讓遊戲角色迅速、動態的自主進行路徑規劃。在GDC2009上就展示了一段,士兵躲避著炮火自動搜索安全路徑穿過道路的片段,給與會者留下了很深的印象。此外,它還包括各種通用件的組合、網路化的智能集成等。

引擎介紹


遊戲

《紅色派系》中由Havok生成的物理特效
《紅色派系》中由Havok生成的物理特效
比較著名的Havok引擎遊戲包括:《阿拉瑪王國:懲罰》《戰地3》、《極品飛車:亡命天涯》《星際爭霸2》、《暗黑破壞神3》、《戰地:叛逆連隊2》、《上古捲軸4》、《馬克思 佩恩2》、《光暈3》、《半條命2》、《細胞分裂》、《生化危機5》、《F.E.A.R》 、《孤島驚魂2》、《輻射3》、《阿凡達》、《求生之路》、《正當防衛》、《波斯王子:遺忘之沙》、《孢子》、《爭分奪秒》、《紅色派系:游擊戰》、《失落的星球2》《現代戰爭4決勝時刻》等。
目前為止,在全平台上,共有353種遊戲使用Havok引擎。超過了PhysX的309種。Havok仍然是物理模擬引擎界的領軍者。
其中PC平台的Havok遊戲共163個。
下面為全平台Havok引擎遊戲列表:
遊戲名稱遊戲平台Havok引擎類型遊戲名稱遊戲平台Havok引擎類型
反恐24小時PS2Physics50美分:防彈XBOX,PS2Physics
速度與激情之A2狂飆PCPhysics超級兵工廠XBOX 360
衝破火網:黑鷹PSPPhysics特工雨果PS2Physics
特工雨果:滾滾滑板PC,PS2Physics心靈殺手XBOX 360Animation, Physics
鬼屋魔影PC,Xbox 360,PS2,PS3,WiiPhysics美國陸軍2:真實戰士XBOX 360Physics
天空3Xbox 360PhysicsAmsterdam Taxi MadnessPCPhysics
別惹螞蟻PC,PS2,Wii武裝與危險PC,Xbox360Physics
刺客信條PC,Xbox360,PS3Animation, Physics刺客信條2PC,Xbox360,PS3Animation, Physics
鐵臂阿童木PS2Physics末日戰車PCPhysics
後院摔角Xbox,PS2Physics後院摔角2Xbox,PS2Physics
班卓熊:神奇螺絲Xbox 360Physics戰地1943Xbox360,PS3Physics
戰地:叛逆連隊Xbox360,PS3Destruction戰地:叛逆連隊2PC,XBox360,PS3Destruction
BEN10:外星神力維爾加科斯的攻擊Xbox360,PS2,Wii,PSPPhysics古羅馬猛將傳PS2Physics
諾曼底任務:突襲柏林PCPhysics生化奇兵PC,Xbox 360Animation, Physics
生化奇兵2PC,Xbox 360,PS3Animation, Physics黑暗地帶:51區PC,Xbox360,PS3Animation, Physics
轟炸方塊WiiPhysics轟炸方塊:猛擊聚會WiiPhysics
球瓶終結者PCPhysics戰火兄弟連:進軍30高地PS2Physics
野獸傳奇Xbox360,PS3Animation, Physics坎貝拉獵人:2010Xbox360,PS3Physics
遊戲狂歡節WiiPhysics遊戲狂歡節:迷你高爾夫WiiPhysics
汽車總動員PSPPhysics名人體育WiiPhysics
英雄連PC英雄連:抵抗前線PCPhysics
柯南Xbox360,PS3Animation, Physics死刑犯2:充血Xbox360,PS3Physics
死刑犯:罪惡起源PC,Xbox360卡羅琳PS2,WiiPhysics
除暴戰警Xbox 360Physics除暴戰警2Xbox 360Physics
古惑狼賽車Xbox,PS2Physics但丁地獄Xbox 360,PS3
魔法門之黑暗彌賽亞PC,Xbox 360暗黑血統Xbox 360,PS3
聖劍傳說4PS2Physics顏料寶貝WiiPhysics
喪屍圍城Xbox 360Physics死亡空間PC,Xbox 360,PS3,PSPPhysics
致命生物WiiPhysics死亡風暴海盜Physics
紐約街頭教父:偶像Xbox 360,PS3Physics惡魔之魂PS3Animation, Physics
賞金奇兵2:庫鉑復仇PCAnimation, Physics毀滅全人類2PC,Xbox,PS2Physics
毀滅全人類:解放威廉WiiPhysics殺出重圍:隱形戰爭PC,XboxPhysics
天災:危機之日WiiAnimation, Physics迪斯尼公主:魔法世界PS2,WiiPhysics
DJ英雄Xbox 360,PS3Cloth龍與地下城Online:風暴來臨PCPhysics
EA遊戲廣場WiiPhysics頑皮小鬼混亂大冒險PC,Xbox,PS2Physics
緊急出動PS2,WiiPhysics歐洲暴力賽車PCPhysics
屍變重生PC,Xbox,PS2Physics極度恐慌:機密檔案PC,Xbox,PS3Physics
極度恐慌2:起源計劃PC,Xbox 360,PS3Physics神鬼寓言2Xbox 360Animation, Physics
輻射3PC,Xbox 360,PS3Animation, Physics孤島驚魂2PC,Xbox 360,PS3Animation, Physics
異魂傳承PS3巔峰破碎Xbox 360,PS3Animation, Physics
俄羅斯之戀Xbox,PS2全能戰士:十錘PCPhysics
全能戰士PC,Xbox,PS2PhysicsGeorge of the Jungle: Search for the SecretPS2,WiiPhysics
高山滑雪PS3戰斧:野獸騎士Xbox 360,PS3Animation, Behavior, Physics
黃金眼:黑幫情報員Xbox,PS2吉他英雄5Xbox360,PS3Animation, Physics
吉他英雄街機版PCAnimation, Physics吉他英雄3PC,Xbox360,PS3Animation, Physics
吉他英雄世界巡演PC,Xbox 360,PS3Animation, Physics吉他英雄:金屬樂隊PC,Xbox 360,PS3
半條命2:橙盒版PS3Physics光暈2PC,XboxPhysics
光暈3Xbox 360Physics光暈3:地獄空降兵Xbox 360Physics
光環戰爭Xbox 360Physics快樂大腳PC,PS2,WiiPhysics
遊戲名稱遊戲平台Havok引擎類型遊戲名稱遊戲平台Havok引擎類型
哈雷機車:漫遊世界PCPhysics哈雷機車:極速之輪PCPhysics
哈利波特與火焰杯PC,Xbox,PS2,PSP哈利波特與鳳凰社PC,Xbox 360,PS3,WiiAnimation, Physics
天劍PS3Animation, Physics暴雨PS3Cloth,Physics
暗黑之門:倫敦PCAnimation, Physics南北戰爭:秘密任務PC,Xbox 360,PS2,PS3Physics
決戰太平洋PC,Xbox 360,PS3Physics瘋狂改裝車賽PCPhysics
卡通賽車PS2Physics虎克之炮艦巡航PC,PS2Physics
我是一個輻射突變異性PCPhysicsIHRA拖車大賽:運動家版PC,Xbox,PS2Physics
職業拖車大賽2005PS2Physics印第安納瓊斯與皇杖PS2,PSP,WiiPhysics
頭文字D:山口復仇PCPhysics鋼鐵俠PC,Xbox 360,PS3,PS2,WiiAnimation, Behavior, Physics
鋼鐵俠2Xbox360,PS3阿凡達PC,Xbox360,PS3Animation, Physics
侏羅紀:獵物Xbox360,PS3,WiiPhysics正當防衛PC,Xbox 360,Xbox,PS2Physics
凱恩與林奇:死人PC,Xbox 360,PS3Physics殺戮地帶2PS3Physics
殺戮地帶:解放PSPPhysics霹靂遊俠2PC,PS2Physics
霹靂遊俠PC,PS2Physics求生之路PC,Xbox 360Physics
求生之路2PC,Xbox360Physics虛擬樂高積木PCPhysics
倫敦賽車手PCPhysics倫敦賽車手2PCPhysics
倫敦賽車手:瘋狂破壞PCPhysics倫敦賽車手:警察也瘋狂PCPhysics
倫敦賽車手:世界錦標賽PCPhysics華納群星總動員:超級兵工廠Xbox 360
魔戒:第三紀元Xbox,PS2Physics失落的星球2PC,Xbox,PS3Destruction
失落星球:極限狀態PC,Xbox360,PS3Destruction馬達加斯加2:逃往非洲Xbox360,PS2,PS3,WiiAnimation, Behavior, Physics
瘋狂世界WiiAnimation, Physics大規模行動PS3
美國漫畫英雄:復仇女神Xbox,PS2,PSPPhysics漫畫英雄超級戰隊PS2,Wii,PSPPhysics
漫畫英雄終極聯盟2Xbox 360,PS3Animation, Physics馬克斯 佩恩2PCPhysics
榮譽勳章:英雄PSP榮譽勳章:先遣部隊PS2,WiiPhysics
榮譽勳章:英雄2Wii,PSPPhysics榮譽勳章:血戰太平洋PCPhysics
雇傭兵2:戰火紛飛PC,Xbox360,PS2,PS3Animation, Physics雇傭兵Xbox,PS2Physics
微型機器4PC,PSP,PS2Physics午夜狂飆:改裝車大賽PCPhysics
北美職業棒球超明星WiiPhysics摩登大賽車PS3Animation, Physics
怪獸屋PS2Physics真人快打:少林武僧Xbox,PS2Physics
機車風暴PS3Animation, Physics機車風暴:太平洋裂縫PS3Animation, Physics
我的模擬人生PC,WiiPhysics我的模擬人生:王國WiiPhysics
我的模擬人生:賽車WiiPhysicsNBA09:深入比賽Xbox 360,PS3Animation, Physics
死靈幻象PCPhysics極品飛車12PC,PS2,PS3,Xbox 360,Wii,PSP,iPhonePhysics
寵物大冒險2PSP忍者之刃Xbox 360Animation, Physics
NovastrikePS3世界彩彈錦標賽2009Xbox360,PS2,PS3,WiiAnimation, Physics
閃點行動2:龍騰PC,Xbox360,PS3Animation, Physics籬笆牆外PC,Xbox,PS2Physics
痛楚PS3Animation, Physics恐懼殺手PC
恐懼殺手:地獄之戰PC,XboxPhysics恐懼殺手:嗑藥過量PCPhysics
魔域反攻PC,Xbox,PS2Physics完美特工:零Xbox 360Physics
森林尋寶曆險記PC,Xbox,PS2Physics51號星球WiiPhysics
Power Rangers Dino ThunderPS2Physics波斯王子PC,Xbox 360,PS3Physics
波斯王子:遺忘之沙PC,Xbox 360,PS3Physics超能力戰警Xbox PS2Physics
彩虹六號:迫在眉睫Xbox,PS2料理鼠王Xbox 360,PS3,PSP
紅色派系:游擊戰PC,Xbox360,PS3Animation, Physics安魂曲PC
生化危機5PC,Xbox360,PS3Physics生化危機:暗黑編年史WiiPhysics
Ringling Bros. and Barnum & Bailey CircusWiiPhysics機器人大擂台Xbox,PS2Physics
機器人大擂台2:設計與破壞PCPhysics太空堡壘:入侵Xbox,PS2Physics
室內狂飆XboxPhysics黑道聖徒Xbox360
秘密特工:終極犧牲PC,Xbox360,PS2Physics暗影狂奔PC,Xbox360Physics
Sonic The HedgehogXbox360,,PS3Physics索尼克世界冒險Xbox360,PS3Physics
索尼克:世代Xbox360,PS3,PCPhysics索尼克:失落的世界WIIU,PCPhysics
索尼克:力量XBOX ONE,PS4,PC,NSPhysics索尼克滑板失重Wii,PS2Physics

軟體

3ds MAX、Adobe Atmosphere、Virtools等。

電影

《特洛伊》《黑客帝國》等。

主要對比


Nvidia顯卡用戶應該會有印象,只要打開PhysX模式,遊戲就會卡,特別是最早的那個尖峰戰士2的物理島關卡,不管你是不是在 做什麼大事,就算呆著不動也卡,這是因為physx是以API實現的,是一個外部插件,不能和遊戲引擎完美的結合起來,需要不斷的檢測你有沒有觸發每一個 條件,這需要大量的浮點運算,所以浮點運算能力強的顯卡運算起來只是費勁,CPU模式打開它就只有個位數的幀了。而且physx只能執行nv官方提供的幾 套演演算法,自由度不高.
而havok是一套功能豐富的遊戲開發組件,開發者可以根據需要把其中幾項功能封裝到自己引擎的底層,由於是CPU運算X86指令集,還能執行很多開發者 自己發明的代碼,工作模式是引擎內部的觸髮式,所以有些情況下會看到你都看到BFBC2裡面炮彈擊中牆了幾毫秒,牆才碎有延遲。如果你不斷的同時擊碎什麼 東西,就不會有延遲了,因為遊戲會自動切換到一個觸發頻率高的模式。有些havok遊戲默認就工作在這個模式
大多數遊戲用的都是 havok的同一套剛體力學模擬破壞系統,布料/頭髮的柔體力學模擬&氣動方面的流體力學模擬插件都沒發揮出來
在破壞的精度上,havok和physx是一樣的,都可以精確到未來10年也發揮不出來的級別,不過兩者在實際應用中發揮出的功力都不行。實現方法都是將一個物體劃分為若干個碰撞模塊,每個模塊可以分別被從這個物體的整體上擊碎下來,然後這個碎塊還繼續帶有碰撞檢測屬性. 一般遊戲里會設置他們幾十秒后自動消失,而《戰地 叛逆連隊2》里幾乎立刻沒了
理論能達到的程度就是對著一個模型人開一槍,可以射出一個有空腔的洞,而不是將模型人擊碎成幾塊,或者在屏幕上消失。這需要模型人由幾十萬個碰撞檢測模塊 組成
最重要的就算physx這種靠api實現的演演算法,在不同api的硬體上無法實現,不適合製作多人遊戲,總不能你N卡可以看到一堵牆碎成粉末但是A卡用戶只是看到牆體憑空消失吧?
同樣是havok,版本也千差萬別,而physx不同版本區別不大,而且havok不光是 物理模擬,是一整套遊戲開發組件,包括AI(行為),動作等在內的都有涉及