熱門(mén)
Havok Physics for Unity,,提升游戲中的物理效果
在2019年游戲開(kāi)發(fā)者大會(huì)(GDC)上宣布,,Havok Physics for Unity最初是作為Unity Asset Store上的實(shí)驗(yàn)包分發(fā)的。現(xiàn)在,,隨著ECS for Unity(實(shí)體組件系統(tǒng))在Unity 2022.2技術(shù)流中的可用性,,Havok Physics for Unity正式支持生產(chǎn),。
成功的歷史
Havok Physics for Unity建立在為許多世界領(lǐng)先的游戲系列提供動(dòng)力的相同技術(shù)基礎(chǔ)上,如命運(yùn)和刺客信條,,除其他外,。當(dāng)Unity第一次通過(guò)數(shù)據(jù)技術(shù)堆棧(DOTS)來(lái)定義物理學(xué)在未來(lái)將會(huì)如何發(fā)展時(shí),他們就開(kāi)始尋求與其擁有相同核心理念和價(jià)值觀的合作伙伴,。通過(guò)與Havok合作,,Unity如今能夠利用DOTS來(lái)提供高度優(yōu)化的、無(wú)需說(shuō)明的,、完全C#的,、高性能的Unity物理技術(shù)。
Unity還為可能需要狀態(tài)物理系統(tǒng)的用戶(hù)準(zhǔn)備了更復(fù)雜的模擬需求,。我們知道Havok將是集成到Unity中以滿(mǎn)足高端模擬需求的完美解決方案,。
肖恩·麥克萊蘭(Unity的產(chǎn)品經(jīng)理)和喬爾·范·恩威克(Havok的現(xiàn)場(chǎng)應(yīng)用工程師)介紹了他們是如何合作構(gòu)建DOTS框架的。
havok Unity物理包使用與Unity Physics相同的C# ECS框架編寫(xiě),,并由使用本機(jī)C++編寫(xiě)的閉源專(zhuān)有Havok Physics引擎提供支持,。Havok Physics for Unity針對(duì)許多典型的游戲用例進(jìn)行了大量?jī)?yōu)化。例如,,多年來(lái),,核心算法已經(jīng)通過(guò)各種自動(dòng)緩存策略(包括非活動(dòng)對(duì)象的休眠)進(jìn)行了改進(jìn),這意味著CPU資源只在需要時(shí)使用,。
Havok統(tǒng)一物理學(xué):最新更新
自從實(shí)驗(yàn)包以來(lái),,Unity和Havok一直在與插件的早期用戶(hù)合作,推動(dòng)改進(jìn)和添加新功能,。
以下是新增功能的分類(lèi):
Havok?Unity物理包現(xiàn)可用于自由的適用于所有Unity Pro,、Enterprise和Unity Industrial Collection訂戶(hù),。
Havok Physics for Unity基于2021.2版本的原版Havok SDK,,并為Unity插件帶來(lái)更高的穩(wěn)定性和性能。
作為完整版本的一部分,,加入了對(duì)電動(dòng)關(guān)節(jié)(馬達(dá)),,例如線(xiàn)性位置,以及線(xiàn)性,、旋轉(zhuǎn)和角速度,。
我們還向HavokSimulation API,它為您的模擬啟用了粒度步進(jìn),,并通過(guò)singletons提供了更高效地訪問(wèn)Havok模擬的方法,。
看看別人在創(chuàng)建什么
Havok Physics是一個(gè)強(qiáng)大的物理引擎,旨在處理大多數(shù)動(dòng)態(tài)游戲的性能需求,,通常涉及具有大量物理交互的復(fù)雜場(chǎng)景,。通過(guò)與整個(gè)行業(yè)的合作伙伴合作超過(guò)20年,Havok已經(jīng)遇到、解決并繼續(xù)迭代實(shí)時(shí)物理仿真面臨的一些最棘手的問(wèn)題,。這種投入幫助他們實(shí)現(xiàn)了物理物體的穩(wěn)定堆疊,,快速移動(dòng)物體的最小偽像,以及獲得更受控制的物體行為,,特別是當(dāng)涉及到非優(yōu)化的碰撞幾何體時(shí),。
當(dāng)然,物理意味著運(yùn)動(dòng),,所以我們來(lái)看看這兩位創(chuàng)作者是如何使用Havok Physics for Unity描繪運(yùn)動(dòng)的,。
Big Rook Games
標(biāo)題:Hostile Mars
工作室: Big Rook Games
工作室大小: 個(gè)人
平臺(tái):Windows PC,,主機(jī)平臺(tái)
類(lèi)型:開(kāi)放世界,,基礎(chǔ)建設(shè)自動(dòng)化塔防
玩家:?jiǎn)稳擞螒?/p>
首次亮相于2022年的PAX-East,Hostile Mars憑借其對(duì)物理學(xué)的專(zhuān)注運(yùn)用和獨(dú)特的流派融合吸引了相當(dāng)多的觀眾,。在一個(gè)開(kāi)放世界的工廠基地建設(shè)和自動(dòng)化游戲中,,廣闊的火星景觀被賦予了生命。玩家通過(guò)第三人稱(chēng)射擊和可編程防御在地面上近距離對(duì)抗以保衛(wèi)他們的工廠,。
來(lái)自敵對(duì)火星的場(chǎng)景:保護(hù)你的工廠免受數(shù)以千計(jì)的基于物理的敵人,。
Big Rook Games的創(chuàng)始人杰克·詹姆森(Jake Jameson)開(kāi)始將多種類(lèi)型融合到多人和單人游戲中,加入了來(lái)自謎題游戲,、第一人稱(chēng)射擊游戲(FPS)和基于波次敵人的射擊游戲的元素,。越是發(fā)展這個(gè)想法,就越是縮小他的關(guān)注點(diǎn),,創(chuàng)造一個(gè)單人游戲基地建設(shè)者,。他很快發(fā)現(xiàn)了建筑、戰(zhàn)略和戰(zhàn)斗之間的理想平衡,,最終成就了唯一的Hostile Mars,。
當(dāng)完成最后一次迭代時(shí)Hostile Mars很明顯,這個(gè)游戲需要使用某種面向數(shù)據(jù)的編程模型,。杰克希望在獲得高端視覺(jué)效果的同時(shí)擁有巨大的敵人波次,。為了給玩家提供最好的體驗(yàn),游戲必須在大規(guī)模上運(yùn)行,,同時(shí)支持屏幕上成千上萬(wàn)的敵人,。
為了滿(mǎn)足這些需求,杰克求助于Unity面向數(shù)據(jù)的技術(shù)棧,。在利用ECS for Unity的過(guò)程中,,每一個(gè)敵人可以實(shí)時(shí)運(yùn)行網(wǎng)格物理/碰撞,尋路,,以及局部回避,,此外還有強(qiáng)大的狀態(tài)系統(tǒng),、動(dòng)畫(huà)、武器和投射系統(tǒng),、高質(zhì)量的VFX,、粒子系統(tǒng)等等。
“如果沒(méi)有DOTS,,我就無(wú)法提供我在最初設(shè)計(jì)中想象的體驗(yàn),。如果沒(méi)有實(shí)現(xiàn)我自己的ECS框架,這是不可能的,,而且作為一名獨(dú)立開(kāi)發(fā)人員,,考慮到我的時(shí)間表和預(yù)算,這是不可行的,?!报C杰克·詹姆森,Big Rook Games的創(chuàng)始人,。
雖然杰克的職業(yè)不是游戲開(kāi)發(fā)者,,但他是一個(gè)狂熱的游戲玩家,并且已經(jīng)熟悉了最初的Havok物理引擎,。了解到Havok的技術(shù)在AAA工作室中是多么受信任,,Jake很有信心在Unity中通過(guò)實(shí)驗(yàn)包實(shí)現(xiàn)它。
Hostile Mars是一次物理密集型的經(jīng)歷,。玩家使用基于物理的陷阱和炮塔來(lái)更加真實(shí)的攻擊敵人,。通過(guò)對(duì)敵人應(yīng)用不同的物理屬性,目標(biāo)是阻止他們前進(jìn)或把他們推向更危險(xiǎn)的陷阱,。
Hostile Mars牽涉到數(shù)量驚人的敵人,。更具體地說(shuō),有多達(dá)5000個(gè)基于物理的敵人,,這足以淹沒(méi)玩家的火星工廠,,這在屏幕上能夠?qū)е聰?shù)百次碰撞和投射。
多達(dá)5000個(gè)基于物理的個(gè)體敵人可以一次淹沒(méi)玩家的火星工廠,。
Hostile Mars中所有的物理效果都是利用Havok Physics for Unity實(shí)現(xiàn)的,;從拋射物和敵人,、玩家和敵人,、甚至敵人和其他敵人之間的碰撞,到敵人和風(fēng)景本身,,以及需要恒定狀態(tài)的力來(lái)保持漂浮的懸停敵人,。這些不同的物理交互實(shí)時(shí)發(fā)生,物理模擬允許可信的懸停,、重力和網(wǎng)格點(diǎn)碰撞,。因此,,當(dāng)玩家在某個(gè)特定點(diǎn)攻擊敵人時(shí),他們會(huì)看到敵人像Havok Physics for Unity希望的那樣旋轉(zhuǎn),。
用基于物理的陷阱建造大規(guī)模的基地來(lái)抵御敵人的攻擊,。
不僅敵人完全是基于物理的,游戲中必要的陷阱也是基于物理的,。有推拉敵人的重力陷阱,,反過(guò)來(lái)減速或加速粉碎敵人的陷阱。甚至有陷阱將尖刺彈到敵人的路徑上,,不只是將它們推到一邊,,而是逼真地模擬尖刺的力量和速度,以便敵人的反應(yīng)看起來(lái)真實(shí)可信,。
一旦玩家升級(jí)設(shè)施,,敵人的波動(dòng)就會(huì)變得多種多樣,越來(lái)越復(fù)雜,,這需要玩家更有策略地建立陷阱,,結(jié)合他們不同的基于物理的交互,將具有不同弱點(diǎn)的敵人聚集到更強(qiáng)的陷阱和炮塔,,這些陷阱和炮塔可以對(duì)他們產(chǎn)生最大的影響,。例如,雖然冰霜陷阱可能會(huì)讓一些敵人減速,,但是爆炸陷阱可以對(duì)高度集中的沖擊波次敵人造成最大的傷害,。
Freejam Games
標(biāo)題:Robocraft 2
工作室:Freejam Games
工作室大小:25人
平臺(tái): Windows PC,,主機(jī)平臺(tái)
類(lèi)型:在線(xiàn)車(chē)輛戰(zhàn)斗
演員:5v5在線(xiàn)多人游戲
Robocraft 2是2017年獲獎(jiǎng)的免費(fèi)游戲Robocraft的續(xù)作,,玩家在開(kāi)放世界的多人游戲環(huán)境中建造可定制的機(jī)器人戰(zhàn)車(chē),可以駕駛,、懸停,、行走和飛行。由于這一初步的成功,,F(xiàn)reejam Games的團(tuán)隊(duì)已經(jīng)為Robocraft 2改進(jìn)了全部可訂制體驗(yàn),,以便玩家可以將自己的創(chuàng)作帶到競(jìng)爭(zhēng)性的多人游戲中。
在Robocraft 2中,,所有的交通工具和機(jī)器人都是由玩家自己制造的,,然后在基于團(tuán)隊(duì)的戰(zhàn)斗中相互對(duì)抗。
由于Freejam Games在Robocraft中成功的經(jīng)驗(yàn),,他們專(zhuān)注于提供令人興奮的全新建筑工具,。這樣,玩家可以享受更多的自由來(lái)設(shè)計(jì)復(fù)雜的,,物理模擬的作品,。
該團(tuán)隊(duì)評(píng)估了如何將物理從客戶(hù)端移動(dòng)到專(zhuān)用的多人游戲服務(wù)器,,以增強(qiáng)玩家創(chuàng)建的車(chē)輛和機(jī)器人之間的物理交互。他們發(fā)現(xiàn),,將物理效果轉(zhuǎn)移到服務(wù)器創(chuàng)造了一系列有趣的游戲時(shí)刻,,其中重量、慣性,、動(dòng)量,、摩擦力、質(zhì)量和彈性都被精確地模擬出來(lái),。換句話(huà)說(shuō),,重型車(chē)輛可以輕松推動(dòng)輕型車(chē)輛,或者與活塞,、伺服系統(tǒng)和旋轉(zhuǎn)平臺(tái)等接頭結(jié)合,。甚至武器和爆炸在擊中目標(biāo)時(shí)也會(huì)產(chǎn)生真實(shí)的反彈和力。所有這些實(shí)驗(yàn),,加上社區(qū)測(cè)試和反饋,,最終成就了Robocraft 2。
在Robocraft 2里,,玩家現(xiàn)在可以創(chuàng)建復(fù)雜的車(chē)輛,,將它們帶入戰(zhàn)斗,并在5v5團(tuán)隊(duì)?wèi)?zhàn)斗中在線(xiàn)摧毀它們,。從他們Robocraft的第一次經(jīng)歷中,,F(xiàn)reejam團(tuán)隊(duì)知道他們的玩家多么富有競(jìng)爭(zhēng)力和創(chuàng)造力,尋找新的方法來(lái)優(yōu)化提供的構(gòu)建工具以贏得戰(zhàn)斗,。
這意味著該團(tuán)隊(duì)必須依靠物理引擎的三個(gè)關(guān)鍵功能來(lái)為所有人提供公平的體驗(yàn):
快速性能
強(qiáng)力,、無(wú)故障的物理模擬
訪問(wèn)物理引擎的低級(jí)區(qū)域,在游戲中進(jìn)行修改
Robocraft 2中的物理在服務(wù)器上被完全處理,,這允許動(dòng)態(tài),、實(shí)時(shí)的物理效果,同時(shí)確保玩家對(duì)玩家(PvP)戰(zhàn)斗的性能,。
在2017年宣布DOTS和ECS for Unity之前,,F(xiàn)reejam Games探索了在內(nèi)部構(gòu)建ECS框架的可能性。然后,,他們很快在Unity的實(shí)驗(yàn)版本中采用了ECS,,從Unity Physics開(kāi)始。對(duì)于服務(wù)器端技術(shù)的實(shí)驗(yàn),,他們使用確定性作為保持玩家客戶(hù)端和服務(wù)器上的模擬同步的解決方案,,而Unity Physics提供了性能,。
隨著游戲的發(fā)展,,他們脫離了無(wú)狀態(tài)的方法,,成為Havok Physics for Unity的早期采用者。作為一個(gè)有狀態(tài)的系統(tǒng),,Havok Physics for Unity最終在游戲性要求范圍內(nèi)提高了模擬的性能Robocraft 2,。
“Havok [Physics for Unity]的高性能使我們能夠在我們的在線(xiàn)游戲中擁有準(zhǔn)確的服務(wù)器端物理特性。反過(guò)來(lái),,這提供了幾個(gè)重要的好處,,包括給所有客戶(hù)一個(gè)更好的質(zhì)量體驗(yàn)的物理平等的代表。事實(shí)上,,服務(wù)器對(duì)模擬的權(quán)威性也有額外的好處,,減少了作弊的機(jī)會(huì)?!报CEd Fowler,,F(xiàn)reejam的首席程序員和聯(lián)合創(chuàng)始人
在Unity編輯器中查看Havok Physics for Unity。
Havok Physics for Unity幫助Freejam游戲解決了復(fù)雜的問(wèn)題,。例如,,當(dāng)玩家擊敗對(duì)手時(shí),機(jī)器人和車(chē)輛一個(gè)接一個(gè)地分崩離析,,這可以產(chǎn)生數(shù)百個(gè)剛體在環(huán)境中,。為了釋放CPU并保持高幀速率,那些不活躍的剛體可以通過(guò)鈍化作用,,這是一個(gè)有效地暫時(shí)消除碎片中的物理現(xiàn)象的功能,。
Robocraft 2中的玩家作品由許多剛體組成復(fù)合對(duì)撞機(jī)由關(guān)節(jié)約束在一起,關(guān)節(jié)可以被打碎或堆疊在另一個(gè)之上,。物理模擬整體性能的進(jìn)一步改進(jìn)可以通過(guò)沖突緩存,,它還允許對(duì)接頭/約束進(jìn)行精細(xì)模擬,例如在那些堆疊情況下,。
最后,,Havok可視調(diào)試器被用來(lái)實(shí)時(shí)可視化游戲世界中的碰撞。它使Freejam Games能夠識(shí)別故障,、障礙,,并有效地發(fā)現(xiàn)反常接觸出現(xiàn)的情況。這加快了他們的工作流程,,并促進(jìn)了快速修復(fù)的實(shí)現(xiàn),。
電話(huà):010-50951355 傳真:010-50951352 郵箱:[email protected] ;點(diǎn)擊查看區(qū)域負(fù)責(zé)人電話(huà)
手機(jī):13811546370 / 13720091697 / 13720096040 / 13811548270 /
13811981522 / 18600440988 /13810279720 /13581546145