欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于仿真中的物理交互的系統(tǒng)和方法

文檔序號(hào):6594945閱讀:277來源:國知局
專利名稱:用于仿真中的物理交互的系統(tǒng)和方法
用于仿真中的物理交互的系統(tǒng)和方法與相關(guān)申請(qǐng)的交叉引用本申請(qǐng)要求2008年7月22日提交的題為"Physics Interactions in a Simulation”的序列號(hào)為61/082,679的美國臨時(shí)專利申請(qǐng)的權(quán)益,這里通過引用將該申請(qǐng)
完全并入。
背景技術(shù)
大規(guī)模多玩家在線(Massively Multiplayer online,“ΜΜ0”)游戲非常受歡迎, 其中一些游戲的玩家數(shù)目達(dá)到數(shù)十萬人或甚至數(shù)百萬人。諸如MMO之類的仿真中的虛擬對(duì)象的運(yùn)動(dòng)和物理交互是由開發(fā)者制定的規(guī)則來控制的。增強(qiáng)這種運(yùn)動(dòng)和交互的真實(shí)感從而增強(qiáng)玩家沉浸感的一種方式是使用物理仿真器或引擎,其根據(jù)預(yù)定(但可更改)的物理規(guī)律來控制預(yù)定的物理對(duì)象(physics object)的運(yùn)動(dòng)。物理引擎提供了增強(qiáng)狀態(tài)的真實(shí)感。使用二維或三維中的規(guī)律,例如能量和動(dòng)量的轉(zhuǎn)換以及身體的彈性變形,物理對(duì)象往往看起來會(huì)以比現(xiàn)有系統(tǒng)中符合預(yù)期且逼真得多的方式來運(yùn)動(dòng)。

發(fā)明內(nèi)容
系統(tǒng)和方法的實(shí)現(xiàn)方式涉及仿真中的物品如何變成物理對(duì)象(其隨后根據(jù)物理引擎或仿真器中的規(guī)則來做出行為)并且還涉及如何應(yīng)用規(guī)則來管理物理對(duì)象。在實(shí)現(xiàn)方式中,物理對(duì)象的交互是自然發(fā)生的,而不完全是由初始的固定規(guī)則集合來規(guī)定的。諸如MMO中的仿真中的物理對(duì)象是基于物理仿真來運(yùn)動(dòng)或經(jīng)歷任何其他輸入的虛擬對(duì)象。這樣,它們可以是為仿真定義的虛擬3維對(duì)象的更大群組的子集。影響這種物理對(duì)象的力量和事件可能從偶然的碰撞到大爆炸不等。不按照物理仿真的規(guī)則操作的對(duì)象在這里被稱為非物理對(duì)象。在以下上下文中,單獨(dú)使用術(shù)語“對(duì)象”可以涉及物理對(duì)象和非物理對(duì)象中的任一者或兩者。在所述一些實(shí)現(xiàn)方式中,物理對(duì)象不僅是預(yù)定的-玩家可以創(chuàng)建物理對(duì)象(例如, 損壞一墻壁的玩家角色(player character)可導(dǎo)致墻壁碎片變成物理對(duì)象),并且玩家甚至可將其自己或其他玩家的玩家角色變成物理對(duì)象。作為具體示例,在在線多玩家游戲中,玩家角色可毀壞一墻壁并隨后拾起一塊水泥并將其推向門,使得門在接觸時(shí)旋轉(zhuǎn)打開。一組非玩家角色隨后可攻擊該玩家角色。玩家角色可回?fù)?,向非玩家角色投擲另一塊水泥,從而將非玩家角色拋向許多方向。一個(gè)非玩家角色可能撞上桌子,從而把它撞得穿過屋子。在此場(chǎng)景中,水泥塊是從墻壁生成的動(dòng)態(tài)創(chuàng)建的物理對(duì)象。非玩家角色在被拋過空中時(shí)變成物理對(duì)象,并且桌子也是物理對(duì)象。協(xié)同且自然發(fā)生的效果可能是由這些物理對(duì)象的交互而引起的,其中效果不是預(yù)定的,而是由物理對(duì)象的屬性本身的交互而引起的。作為示例玩家角色A將玩家角色B凍在一塊冰中。玩家角色C利用電為該冰塊充電。玩家角色A隨后拾起該冰塊,被電擊,然后該冰塊被毀壞,從而釋放了玩家角色B。
為了完成這些協(xié)同且自然發(fā)生的效果,物理對(duì)象與基本參數(shù)相關(guān)聯(lián),例如大小、形狀、密度、狀況(例如是運(yùn)動(dòng)的還是不動(dòng)的、被損壞的或者被毀壞的)、以及游戲效果(例如施加到物理對(duì)象的游戲機(jī)械特性)。物理對(duì)象可被“武器化”,在此情況下它們可用于攻擊敵方玩家角色。音頻和視覺效果,例如表面損壞、微粒和聲音,可進(jìn)一步伴隨著物理對(duì)象。游戲環(huán)境在其對(duì)物理對(duì)象的使用程度方面可有所不同,從而在其隨后的可破壞性方面可有所不同。諸如標(biāo)志性建筑物之類的一些對(duì)象可能具有“硬幾何性”,并且這種對(duì)象是不可動(dòng)的并且不會(huì)破損的,但其也可表現(xiàn)出暫時(shí)的表面損壞。其他具有“軟幾何性”的對(duì)象如果被碰撞則可移動(dòng),并且甚至可被完全毀壞。這些類型的對(duì)象可隨著時(shí)間而自修復(fù)。在玩家的指導(dǎo)下產(chǎn)生的副本(instance)可能是更可破壞的,因?yàn)槠涫且鈭D作為用于給定的一個(gè)或一組玩家的私密并且獨(dú)特的環(huán)境的。在這些情況下,副本可重置并且所有物理對(duì)象可被恢復(fù)到其原始狀況,以供下一玩家重新體驗(yàn)。許多變化是可能的。例如,物理交互的類型對(duì)于不同游戲可以是不同的;一些可能需要很高水平的真實(shí)感,而其他的可能更多的是刻畫卡通真實(shí)感。在一個(gè)方面中,本發(fā)明針對(duì)一種計(jì)算機(jī)可讀介質(zhì),其包括用于使得電子設(shè)備中的處理器執(zhí)行在仿真中管理虛擬3維對(duì)象的方法的指令。該方法包括以下步驟將仿真中的虛擬3維對(duì)象的子集定義為物理對(duì)象;為物理對(duì)象中的第一物理對(duì)象定義至少第一基本參數(shù)和第一狀態(tài),第一基本參數(shù)由第一值和第一類型表征;為物理對(duì)象中的第二物理對(duì)象定義至少第二基本參數(shù)和第二狀態(tài),第二基本參數(shù)由第二值和第二類型表征,其中第一類型不同于第二類型;定義第一物理對(duì)象和第二物理對(duì)象之間的至少一個(gè)交互,交互的結(jié)果至少部分取決于第一參數(shù)和第二參數(shù)以及第一狀態(tài)和第二狀態(tài);以及向渲染器發(fā)送信號(hào)并且渲染對(duì)交互的結(jié)果的指示。本發(fā)明的實(shí)現(xiàn)方式可包括以下各項(xiàng)中的一個(gè)或多個(gè)。定義至少一個(gè)交互可由在第一對(duì)象與第二對(duì)象之間檢測(cè)到碰撞的發(fā)生而引起。定義至少一個(gè)交互可由在第一對(duì)象或第二對(duì)象與由玩家角色或非玩家角色指揮的拋射體之間檢測(cè)到碰撞的發(fā)生而引起。至少一個(gè)狀態(tài)可從由以下各項(xiàng)構(gòu)成的組中選擇運(yùn)動(dòng)的、不動(dòng)的、被損壞的、被毀壞的或附著的。仿真可以是多玩家在線游戲。第一物理對(duì)象或第二物理對(duì)象中的至少一個(gè)可以是玩家角色或非玩家角色。該方法還可包括將第一物理對(duì)象或第二物理對(duì)象中的至少一個(gè)定義為具有軟幾何性,其中如果具有軟幾何性的物理對(duì)象的狀態(tài)是被損壞的,則該方法還包括利用至少兩個(gè)物理對(duì)象或一物理對(duì)象和一非物理對(duì)象來替換所述物理對(duì)象。該方法還可包括將第一物理對(duì)象或第二物理對(duì)象中的至少一個(gè)定義為具有硬幾何性,其中如果具有硬幾何性的物理對(duì)象的狀態(tài)是被損壞的,則該方法還包括在具有硬幾何性的物理對(duì)象上渲染損壞效果。第一類型和第二類型可從由以下各項(xiàng)構(gòu)成的組中選擇重量、大小、形狀、密度和傳導(dǎo)性。交互的結(jié)果可按對(duì)象規(guī)則集合或查找表來確定。該方法還可包括從先前未被定義為物理對(duì)象的虛擬3維對(duì)象之一定義物理對(duì)象。所定義的物理對(duì)象可以是玩家角色。所定義的物理對(duì)象可具有被定義為武器的狀態(tài)。定義至少一個(gè)交互可包括定義至少一個(gè)規(guī)則集合,規(guī)則集合與具有共同類型的基本參數(shù)的物理對(duì)象有關(guān)。該方法還包括可為物理對(duì)象中的至少一個(gè)定義至少一個(gè)游戲效果,其中如果觸發(fā)發(fā)生,則游戲效果發(fā)生。該方法還可包括為物理對(duì)象中的至少一個(gè)定義至少一個(gè)音頻或視覺效果,其中如果觸發(fā)發(fā)生,則音頻或視覺效果被渲染。在另一方面中,本發(fā)明針對(duì)一種計(jì)算機(jī)可讀介質(zhì),其包括用于使得電子設(shè)備中的處理器執(zhí)行在仿真中管理虛擬3維對(duì)象的方法的指令。該方法包括將仿真中的虛擬3維對(duì)象的子集定義為物理對(duì)象;為物理對(duì)象中的第一物理對(duì)象定義至少第一基本參數(shù)和第一狀態(tài),第一基本參數(shù)由第一值和第一類型表征;定義至少一個(gè)觸發(fā),其中在觸發(fā)發(fā)生時(shí),第一物理對(duì)象被從第一狀態(tài)轉(zhuǎn)變到第二狀態(tài),轉(zhuǎn)變的結(jié)果至少部分取決于第一參數(shù)和第一狀態(tài);以及向渲染器發(fā)送信號(hào)并且渲染對(duì)轉(zhuǎn)變的結(jié)果的指示。本發(fā)明的實(shí)現(xiàn)方式可包括以下各項(xiàng)中的一個(gè)或多個(gè)。觸發(fā)可從由以下各項(xiàng)構(gòu)成的組中選擇玩家角色或非玩家角色接觸第一物理對(duì)象、玩家角色或非玩家角色損壞第一物理對(duì)象、玩家角色或非玩家角色拾起第一物理對(duì)象、玩家角色或非玩家角色投擲第一物理對(duì)象、或者預(yù)定的劇本事件。定義至少一個(gè)觸發(fā)可包括定義可由玩家角色、非玩家角色或虛擬對(duì)象引起的至少一個(gè)觸發(fā),并且還可包括針對(duì)觸發(fā)事件定義至少一個(gè)限定器 (qualifier),其中定義至少一個(gè)限定器包括定義允許哪些玩家角色、非玩家角色或虛擬對(duì)象引起轉(zhuǎn)變或者何時(shí)允許發(fā)生轉(zhuǎn)變。仿真可以是ΜΜ0。在另一方面中,本發(fā)明針對(duì)一種計(jì)算機(jī)可讀介質(zhì),其包括用于使得電子設(shè)備中的處理器執(zhí)行在仿真中管理虛擬3維對(duì)象的方法的指令。該方法包括將仿真中的至少一個(gè)虛擬3維對(duì)象定義為非物理對(duì)象;定義至少一個(gè)觸發(fā),其中在觸發(fā)發(fā)生時(shí),將至少一個(gè)虛擬 3維對(duì)象轉(zhuǎn)變到物理對(duì)象;以及向渲染器發(fā)送信號(hào)并且渲染對(duì)轉(zhuǎn)變的結(jié)果的指示。本發(fā)明的實(shí)現(xiàn)方式可包括以下各項(xiàng)中的一個(gè)或多個(gè)。觸發(fā)可從由以下各項(xiàng)構(gòu)成的組中選擇玩家角色或非玩家角色接觸虛擬3維對(duì)象、玩家角色或非玩家角色損壞虛擬3 維對(duì)象、玩家角色或非玩家角色拾起虛擬3維對(duì)象、玩家角色或非玩家角色投擲虛擬3維對(duì)象、或者預(yù)定的劇本事件。定義至少一個(gè)觸發(fā)可包括定義可由玩家角色、非玩家角色或虛擬對(duì)象引起的至少一個(gè)觸發(fā),并且還可包括針對(duì)觸發(fā)定義至少一個(gè)限定器,其中定義至少一個(gè)限定器包括定義允許哪些玩家角色、非玩家角色或虛擬對(duì)象引起轉(zhuǎn)變或者何時(shí)允許發(fā)生轉(zhuǎn)變。在另一方面中,本發(fā)明針對(duì)一種計(jì)算機(jī)可讀介質(zhì),其包括用于在仿真中管理虛擬3 維對(duì)象的系統(tǒng),該介質(zhì)包括以下模塊數(shù)據(jù)庫模塊,用于存儲(chǔ)關(guān)于多個(gè)虛擬對(duì)象的數(shù)據(jù),該多個(gè)虛擬對(duì)象包括物理對(duì)象,這些對(duì)象一部分是由狀態(tài)定義的;以及物理引擎模塊,包括觸發(fā)定義模塊,用于定義對(duì)象從第一狀態(tài)向第二狀態(tài)的轉(zhuǎn)變。本發(fā)明的實(shí)現(xiàn)方式可包括以下各項(xiàng)中的一個(gè)或多個(gè)。第一狀態(tài)可以是非物理對(duì)象,第二狀態(tài)可以是物理對(duì)象。在另一方面中,本發(fā)明針對(duì)一種計(jì)算機(jī)可讀介質(zhì),其包括用于在仿真中管理虛擬 3維對(duì)象的系統(tǒng)。該介質(zhì)包括以下模塊數(shù)據(jù)庫模塊,用于存儲(chǔ)關(guān)于多個(gè)虛擬對(duì)象的數(shù)據(jù), 多個(gè)虛擬對(duì)象包括物理對(duì)象,這些物理對(duì)象一部分是由狀態(tài)定義的;以及物理引擎模塊,包括交互定義模塊,用于定義物理對(duì)象之間或者物理對(duì)象與非物理對(duì)象之間的交互;以及對(duì)象規(guī)則集合,用于定義物理對(duì)象之間或物理對(duì)象與非物理對(duì)象之間的交互的結(jié)果。本發(fā)明的實(shí)現(xiàn)方式可包括對(duì)象規(guī)則集合可以是查找表。上述各種定義步驟可以在特定對(duì)象的開發(fā)期間執(zhí)行,以及在玩游戲期間或?qū)τ谒说挠螒虬l(fā)起期間執(zhí)行。本發(fā)明的優(yōu)點(diǎn)可包括以下各項(xiàng)中的一個(gè)或多個(gè)。物理對(duì)象不只是預(yù)定的,而是對(duì)象可以在玩游戲期間轉(zhuǎn)變成物理對(duì)象。規(guī)則定義什么對(duì)象是物理對(duì)象,以及轉(zhuǎn)變?nèi)绾伟l(fā)生。 規(guī)則還定義物理對(duì)象彼此如何交互。由此得到的過游戲過程可以是協(xié)同且自然發(fā)生的,并且可以通向不可預(yù)料的結(jié)果。


圖1示出了諸如多玩家游戲之類的仿真的示例性環(huán)境,并且還示出了物理對(duì)象可如何被產(chǎn)生并以自然發(fā)生方式與其他物理對(duì)象交互。圖2示出了可用于實(shí)現(xiàn)諸如多玩家游戲之類的仿真的系統(tǒng)的邏輯圖,其中包括客戶端-服務(wù)器體系結(jié)構(gòu)。圖3是諸如物理對(duì)象之類的虛擬對(duì)象的部分?jǐn)?shù)據(jù)結(jié)構(gòu)。圖4是用于實(shí)現(xiàn)物理對(duì)象交互的一種方法的流程圖。圖5是用于實(shí)現(xiàn)物理對(duì)象交互的另一種方法的流程圖。圖6是用于從非物理對(duì)象創(chuàng)建物理對(duì)象的方法的流程圖。
具體實(shí)施例方式參考圖1,示出了諸如多玩家游戲之類的仿真的示例性環(huán)境。環(huán)境可以各種各樣的,例如可以是奇幻仿真、科幻仿真、太空仿真、真實(shí)世界仿真、城市仿真、末日仿真、超級(jí)英雄仿真、離線游戲,等等。圖1的示例性仿真示出了若干個(gè)角色32、33、34和35,并且他們被示為穿過游戲環(huán)境20內(nèi)的各種街道31和37。在圖1中,角色32、33和35想要刻畫的是由玩家控制的玩家角色(圖中的“PC”)。他們與其他玩家的玩家角色以及與計(jì)算機(jī)控制的角色或者說非玩家角色(圖中的“NPC”)相交互。角色34想要刻畫的是由仿真或游戲引擎控制的非玩家角色。即,非玩家角色是由仿真在服務(wù)器級(jí)或通過客戶端軟件控制的,并且其以用于該非玩家角色的軟件指令和數(shù)據(jù)集合所要求的方式來做出舉動(dòng)。玩家可通過點(diǎn)擊或以其他方式激活非玩家角色或與之相關(guān)聯(lián)的圖標(biāo)來與非玩家角色34交互。還示出了若干個(gè)城市特征,例如銀行22、市政廳M、便利店沈以及私人住宅28。 這些特征將根據(jù)可應(yīng)用的游戲環(huán)境而有所不同。城市特征與預(yù)定類型的幾何性相關(guān)聯(lián),并且這些幾何性部分定義了城市特征在其與物理對(duì)象交互時(shí)將如何反應(yīng)。某些城市特征本身可以是物理對(duì)象。在圖1中,銀行22和市政廳對(duì)各自具有“硬”幾何性,從而一般是不可移動(dòng)且不會(huì)破損的,因?yàn)檫@種虛擬對(duì)象,例如標(biāo)志性建筑物,是玩家交互所必需的并且需要存在以便連續(xù)地玩游戲。硬幾何性結(jié)構(gòu)和區(qū)域具有恒定的位置,并且其一般不會(huì)由于碰撞或損壞而改變位置。然而,在玩家角色、非玩家角色或其他虛擬對(duì)象嘗試損壞這種硬幾何性特征時(shí),其可能表現(xiàn)出暫時(shí)的表面損壞,但是一般仍代表環(huán)境中的永久固定物。作為具體示例,惡徒玩家角色32可能嘗試毀壞銀行22以便搶劫它。玩家角色32可攻擊銀行22,導(dǎo)致其墻壁有裂縫和傷痕;然而,銀行22不會(huì)被毀壞。在此示例中,銀行22具有硬幾何性,無論向它施加何種損壞,它都將保持在相同位置并且具有相同的結(jié)構(gòu)。另一方面,便利店沈和私人住宅觀各自具有軟幾何性,這在一種實(shí)現(xiàn)方式中意味著它們?nèi)绻粨p壞或碰撞則可移動(dòng),或者甚至能夠被完全毀壞,因?yàn)閷?duì)這些特征的破壞或損壞可以不過度地破壞玩游戲的情況下實(shí)現(xiàn)。其損壞或破壞甚至可導(dǎo)致從其構(gòu)成部件創(chuàng)建物理對(duì)象。在一種實(shí)現(xiàn)方式中,當(dāng)軟幾何性對(duì)象被毀壞時(shí),它創(chuàng)建不同類型的殘骸以便表達(dá)該損壞。殘骸可以是暫時(shí)存在的微粒,以及可能持續(xù)的物理對(duì)象。在上述示例中,惡徒玩家角色32可進(jìn)入銀行22并且定位到出納員的柜臺(tái)后面沿著墻壁的保險(xiǎn)庫。惡徒玩家角色32可以朝著柜臺(tái)射擊,從而導(dǎo)致形成孔洞并且留下碎石。在此示例,即使銀行22具有硬幾何性,柜臺(tái)也是軟幾何體,其在被損壞后會(huì)破損并且產(chǎn)生例如木頭塊形式的物理對(duì)象。當(dāng)然,關(guān)于哪些特征具有軟幾何性以及哪些具有硬幾何性的選擇是完全任意的并且取決于開發(fā)者的要求。在一些實(shí)現(xiàn)方式中,希望使具有一定變化的所有對(duì)象具有相同類型的幾何性。這樣,通過玩游戲的舉動(dòng),玩家可以獲知對(duì)象如何被損壞以及哪些對(duì)象是可破損的。圖1還示出了各種可能的物理對(duì)象,具體地是車輛36、公車38和墻壁42。墻壁 42具有軟幾何性,從而能夠被損壞或毀壞。圖1圖示了這個(gè)方面,示出了在箭頭47的大體方向上的一次沖擊波或其他破壞力之后的毀壞形態(tài)的墻壁,具有不可分的成分42’、43和 45。墻壁42在破壞之前可能是一物理對(duì)象,而在檢測(cè)到碰撞后,墻壁可能轉(zhuǎn)化成了一物理對(duì)象。類似地,成分42’、43和45中的一個(gè)或全部可被標(biāo)記或分類為物理對(duì)象,但它們不一定要標(biāo)記或分類為物理對(duì)象。例如,墻壁成分42’可被分類為非物理對(duì)象,但成分43和45 可被分類為物理對(duì)象。墻壁成分43和45也可被武器化,即被分類或標(biāo)記為可對(duì)另一玩家角色或非玩家角色造成損壞的武器。箭頭47還可代表如下方向玩家角色35可在該方向上投擲成分43和45中的一者或兩者以便打擊非玩家角色34。車輛36和公車38也可以是物理對(duì)象,并且圖1以非常示意性的方式示出了玩家角色32如何可在由箭頭49指示的方向上投擲車輛36,從而使得車輛36打擊銀行22并且停止在由車輛36’指示的損壞或毀壞的形態(tài)中。沖擊可以導(dǎo)致銀行22的暫時(shí)表面損壞,但此損壞可迅速愈合并且可能不會(huì)影響這種硬幾何性結(jié)構(gòu)的操作。在一些情形中,物品和環(huán)境的破壞將是常見的;因此,對(duì)這些交互的處理成為了仿真和用戶體驗(yàn)的重要部分。例如,具有超級(jí)惡徒或巨大怪物角色的玩家可能希望創(chuàng)建大量的碎石和車輛碎片。下面聯(lián)系圖3-5來論述物理對(duì)象的交互的這些和其他方面。圖2示出了可用于實(shí)現(xiàn)諸如多玩家游戲之類的仿真的系統(tǒng)30的邏輯圖。系統(tǒng)30 包括MMO或仿真客戶端計(jì)算設(shè)備71以及MMO或仿真服務(wù)器64,它們通過網(wǎng)絡(luò)48通信??蛻舳擞?jì)算設(shè)備71包括一個(gè)或多個(gè)處理器44,處理器44經(jīng)由網(wǎng)絡(luò)卡46或經(jīng)由具備網(wǎng)絡(luò)能力的處理器(未示出)與網(wǎng)絡(luò)48通信。客戶端計(jì)算設(shè)備71運(yùn)行有客戶端軟件,該軟件使能與網(wǎng)絡(luò)48和服務(wù)器64通信??蛻舳擞?jì)算設(shè)備71包括至少一個(gè)輸入設(shè)備67,輸入設(shè)備67可包括鍵盤、鼠標(biāo)、游戲控制器、觸感控制器、觸摸屏或任何其他可向計(jì)算機(jī)提供輸入的設(shè)備??蛻舳擞?jì)算設(shè)備71 還包括計(jì)算機(jī)可讀介質(zhì)69,例如硬盤驅(qū)動(dòng)器、閃存、固態(tài)驅(qū)動(dòng)器等等,其存儲(chǔ)用于處理器44 的指令65,包括用于仿真(例如ΜΜ0)的客戶端操作的指令。計(jì)算機(jī)可讀介質(zhì)69還可存儲(chǔ)媒體文件,其中包括圖形文件和電影文件。這些媒體文件也可在需要時(shí)從服務(wù)器64流傳輸。在一些實(shí)現(xiàn)方式中,某些媒體文件可被下載到客戶端,尤其是那些經(jīng)常被使用的,而其他的則可被保留在服務(wù)器處供以后流傳輸,以免使客戶端系統(tǒng)混亂。某些媒體文件也可被緩存在客戶端系統(tǒng)處,例如與玩家角色的當(dāng)前游戲現(xiàn)場(chǎng)有關(guān)的那些媒體文件??蛻舳擞?jì)算設(shè)備71還包括聲音渲染器64,例如聲卡,利用該聲音渲染器64,與游戲聲音有關(guān)的信號(hào)可被形成為適用于在聲音設(shè)備68 (例如計(jì)算機(jī)揚(yáng)聲器)上播放的形式。另外,客戶端計(jì)算設(shè)備71還包括視頻渲染器66,例如一個(gè)或多個(gè)GPU或視頻卡或兩者兼有, 利用該視頻渲染器66,與游戲視頻有關(guān)的信號(hào)可被形成為適用于在視頻設(shè)備72 (例如計(jì)算機(jī)顯示器)上播放的形式。視頻渲染器66還可包括例如集成的圖形處理軟件。仿真服務(wù)器64控制游戲,并且可以是一游戲服務(wù)器,該游戲服務(wù)器具有處理器63 并且運(yùn)行游戲引擎和其他組件,其中包括用戶界面、輸入/輸出組件等等。服務(wù)器64還包括諸如物理引擎60和虛擬對(duì)象58的數(shù)據(jù)庫之類的模塊,虛擬對(duì)象58的一個(gè)子集57是物理對(duì)象。這些組件或模塊中的某些可在計(jì)算機(jī)可讀介質(zhì)62上實(shí)現(xiàn),計(jì)算機(jī)可讀介質(zhì)62包括用于執(zhí)行這些和其他處理的指令。計(jì)算機(jī)可讀介質(zhì)62還可包括媒體文件(包括電影和其他圖形文件),用于下載或流傳輸?shù)娇蛻舳擞?jì)算設(shè)備71。物理引擎60可進(jìn)一步包括若干個(gè)模塊或組件,其中每一個(gè)可存儲(chǔ)在相同或不同的計(jì)算機(jī)可讀介質(zhì)62上。物理引擎的一些部分可包括可從加州舊金山的Havok公司獲得的物理仿真器解決方案。首先,觸發(fā)定義模塊55可用于確定和定義在何種情況下對(duì)象狀態(tài)被允許變化,例如從是非物理對(duì)象變成是物理對(duì)象。限定器定義模塊56可用作觸發(fā)定義模塊55的一部分,用于確定和限制允許什么虛擬對(duì)象(例如什么玩家角色或非玩家角色)改變物理對(duì)象或非物理對(duì)象的狀態(tài),以及何時(shí)允許這種狀態(tài)發(fā)生。觸發(fā)可用于改變物理對(duì)象或非物理對(duì)象的狀態(tài),并且還可用于將非物理對(duì)象改變成物理對(duì)象或者反之。交互定義裝置59可用于確定和定義何時(shí)兩個(gè)或更多個(gè)對(duì)象(例如兩個(gè)物理對(duì)象、 兩個(gè)非物理對(duì)象或者物理對(duì)象和非物理對(duì)象)已交互了并從而需要計(jì)算來確定結(jié)果。具有一個(gè)或多個(gè)對(duì)象規(guī)則集合的模塊61可用于確定和/或定義如何以及何時(shí)非物理對(duì)象轉(zhuǎn)變以變成物理對(duì)象以及反之,以及確定和/或定義交互的對(duì)象(例如物理對(duì)象相互之間、物理對(duì)象與非物理對(duì)象以及物理對(duì)象與環(huán)境)的結(jié)果。在確定交互的結(jié)果時(shí)使用的一個(gè)這種示例性規(guī)則可以是在碰撞中動(dòng)量守恒。查找表M也可被用作對(duì)象規(guī)則集合模塊61的一部分以定義任意數(shù)目的其他結(jié)果,并且示例性的查找表由以下的表I例示。例如,如果一閃電球被投擲向玩家角色,則閃電球武器的特性可在該表中被定義成使得玩家角色將由于電擊而遭損壞。該查找表還可定義和確定玩家角色的衣服和皮膚也可經(jīng)歷某種灼熱損壞。在下文中更詳細(xì)論述這些模塊的功能。取決于仿真的類型,可以使用不同的規(guī)則集合。雖然對(duì)于真正的車輛仿真可能需要非常逼真的物理模型,但是對(duì)于反映卡通風(fēng)格現(xiàn)實(shí)的游戲,更有活力和“有趣”的模型可能更好。然而,通過定義對(duì)象如何成為物理對(duì)象以及這些對(duì)象隨后如何與其他對(duì)象以及游戲的玩家交互,游戲?qū)ο蟮慕换プ兊渺`活并且增強(qiáng)了玩家的滿意度。圖3是物理對(duì)象40的部分?jǐn)?shù)據(jù)結(jié)構(gòu)。非物理對(duì)象可具有類似的數(shù)據(jù)結(jié)構(gòu)。在仿真的環(huán)境中對(duì)象交互的方式是基于所顯示的若干因素的,包括其基本參數(shù)、條件和應(yīng)用到其的游戲效果、以及其他因素,例如其是否被用作武器,即其是否已被“武器化”?;緟?shù)用于控制物理對(duì)象以使得其外觀和行為就像玩家所預(yù)期的那樣。作為當(dāng)遭受類似的力時(shí)不同的物理對(duì)象如何響應(yīng)的示例,如果一超級(jí)英雄玩家角色正在追著街頭黑幫穿過一倉庫,則這些角色可能沖撞許多裝運(yùn)箱,從而將它們撞到旁邊。較小的對(duì)象,例如油漆桶,可能被更猛烈地踢開,而更小的對(duì)象,例如瓶子,可能在沖擊下粉碎。這些對(duì)象在其基本參數(shù)上有所不同,從而在沖擊后具有不同的結(jié)果。雖然不是需要定義所有的物理屬性,但是為物理對(duì)象40定義了具有重要影響的某些基本參數(shù)74,為了清晰在圖3中只示出其中一個(gè)。一般來說,每個(gè)基本參數(shù)74將具有值76和類型78。例如,玩家角色的一個(gè)基本參數(shù)74可以是玩家角色重90kg或者溫度為 37°C?;緟?shù)可能是很多的;其他典型的參數(shù)包括大小、形狀、密度和傳導(dǎo)性。某些參數(shù)可能是給定區(qū)域中的所有對(duì)象共有的,例如重力的效果。雖然在一些實(shí)現(xiàn)方式中,甚至是重力的效果也可被配置成在不同物理對(duì)象之間有所不同。條件是對(duì)物理對(duì)象的約束,由此其只能以指定的方式做出舉動(dòng)和反應(yīng)。這些可覆蓋很寬范圍的功能,并且可被劃分成狀態(tài)和觸發(fā)。關(guān)于第一個(gè),每個(gè)物理對(duì)象40可具有相關(guān)聯(lián)的狀態(tài)82。狀態(tài)指的是物理對(duì)象如何對(duì)外界刺激做出舉動(dòng)或反應(yīng),例如物理對(duì)象40是否是運(yùn)動(dòng)的、不動(dòng)的、武器化的、遭損壞的、遭毀壞的、附著于另一對(duì)象,等等。有了這里的教導(dǎo),本領(lǐng)域的普通技術(shù)人員將會(huì)了解這些示例的許多變化。作為具體示例,玩家角色可嘗試推動(dòng)一只桶,而該桶很容易移動(dòng)。玩家角色可嘗試推動(dòng)另一只桶,但該另一只桶不移動(dòng),并且調(diào)查表明其被粘在了地板上。在此示例中,一只桶的狀態(tài)被設(shè)定成運(yùn)動(dòng)的,而另一只桶的狀態(tài)被設(shè)定成不動(dòng)的。關(guān)于第二類條件,每個(gè)物理對(duì)象40還可與多種觸發(fā)83相關(guān)聯(lián)。觸發(fā)是允許對(duì)象狀態(tài)變化的情況,例如“在接觸時(shí)”、“在損壞時(shí)”、“在拾起時(shí)”、“在投擲時(shí)”、“在發(fā)生劇本事件時(shí)”。觸發(fā)83可與限定器85相關(guān)聯(lián),限定器85表示允許誰或什么改變對(duì)象的狀態(tài),以及何時(shí)允許這種改變發(fā)生。在上述的不動(dòng)的桶的示例中,玩家角色可能嘗試擊打該桶,該桶于是可隨意地破損并且自由地移動(dòng)。在此情況下,向桶施加損壞的舉動(dòng)是將桶的狀態(tài)改變成運(yùn)動(dòng)的觸發(fā)。在另一具體示例中,一超級(jí)英雄可追逐一罪犯到向下延伸幾層的倉庫的大型開放部分的邊緣。該罪犯可跳到下面一小段距離處的懸掛的平臺(tái),超級(jí)英雄可跟隨。超級(jí)英雄對(duì)平臺(tái)的沖擊力可能導(dǎo)致平臺(tái)顫動(dòng)、搖擺和傾斜,從而導(dǎo)致平臺(tái)上的幾只桶滾下。支持平臺(tái)的鏈條中的一些隨后可破損,導(dǎo)致超級(jí)英雄和罪犯跌落到倉庫的地板,并且可能由于降落在地板上的一堆箱子上而中斷跌落。在此示例中,當(dāng)玩家角色降落在平臺(tái)上時(shí)平臺(tái)運(yùn)動(dòng)的方式是其如何被例如四條鏈條懸掛的結(jié)果。桶根據(jù)其物理對(duì)象數(shù)據(jù)結(jié)構(gòu)40中的條件而滾動(dòng)。當(dāng)在平臺(tái)上達(dá)到壓力或重量閾值時(shí),觸發(fā)懸掛平臺(tái)的鏈條松開;這可被視為在一段時(shí)間中施加的損壞。倉庫地板上的箱子在沖擊時(shí)(例如當(dāng)遭受來自跌落的損壞時(shí))被觸發(fā)成立即破損。在一些情況下,箱子所遭受的損壞的量不是總計(jì)的,而可以按玩家角色和非玩家角色跌落的距離以及他們的重量來估計(jì)。例如,損壞可以以線性(或其他)方式增加,直到達(dá)到閾值距離和/或重量為止,在此之后箱子將被分類為完全毀壞的,并且也將被渲染成這樣。當(dāng)然,取決于環(huán)境的類型,其一般將在一段之后重新產(chǎn)生。每個(gè)物理對(duì)象40還可與游戲效果84相關(guān)聯(lián),其中游戲效果84與觸發(fā)相聯(lián)系。游戲效果是天生的或被施加到對(duì)象的機(jī)械特性,并且定義了對(duì)象如何對(duì)外界的刺激做出反應(yīng)。例如,爆炸桶在被推動(dòng)時(shí)將表現(xiàn)得像任何正常的桶那樣,但是當(dāng)被損壞時(shí)可能爆炸,并且在此情況下爆炸是該桶對(duì)象的觸發(fā)的游戲效果。為了向物理對(duì)象賦予天生的游戲效果, 可以從游戲效果數(shù)據(jù)庫中將一游戲效果鏈接到物理對(duì)象,以作為其數(shù)據(jù)結(jié)構(gòu)40中的其屬性之一。一些對(duì)象可被施加以永久的游戲效果。例如,“巖漿”石可以永遠(yuǎn)是過熱的并且在被接觸時(shí)總會(huì)灼熱。持續(xù)的熱量是與該對(duì)象相關(guān)聯(lián)的游戲效果。也可由玩家向通常不與游
11戲效果相關(guān)聯(lián)的對(duì)象施加游戲效果。在具體示例中,在跌落到地面上之后,罪犯可跳起來并開始奔跑。超級(jí)英雄可以將一電球充好電并向罪犯前方的一堆桶發(fā)射它。沖擊可導(dǎo)致桶傾倒并阻擋罪犯的路徑。帶電的桶于是可隨著電荷而發(fā)出劈啪聲,以磁性吸引其他對(duì)象。如果罪犯嘗試推開一只桶,則它們將由于小的閃電弧而受到損壞。在此示例中,玩家使用了其玩家角色的電能力來向先前沒有電能力的物理對(duì)象施加游戲效果。此游戲效果進(jìn)而損壞那些接觸該物理對(duì)象的,并且還導(dǎo)致該對(duì)象以吸引其他以類似材料構(gòu)成的對(duì)象的方式(即磁性方式)來做出舉動(dòng)。每個(gè)物理對(duì)象40還可與音頻和/或視覺效果86 (稱為“A/V效果”)相關(guān)聯(lián),該A/ V效果與觸發(fā)相聯(lián)系。A/V效果86 —般包括被渲染來供用戶觀看或聽取的關(guān)于對(duì)象或與對(duì)象相關(guān)聯(lián)的游戲效果的效果。因此,一些A/V效果與由交互導(dǎo)致的游戲效果相聯(lián)系,但即使在沒有交互的情況下在物理對(duì)象中也可存在一些A/V效果。A/V效果可包括以下非限制性示例中的一個(gè)或多個(gè)表面損壞,其一般是出現(xiàn)在對(duì)象的表面上的暫時(shí)損壞;微粒,其是在損壞之后的小塊殘骸;聲音,其是來自損壞的音頻反饋;劣化,其中對(duì)象可能由于損壞而崩潰;以及對(duì)象創(chuàng)建,其中可能由于損壞而創(chuàng)建新的對(duì)象。A/V效果可基于對(duì)象的狀態(tài)而進(jìn)一步變化。作為另一具體示例,玩家角色可撞碎并打開一卡車并去除其引擎塊。玩家角色可朝著經(jīng)過的車輛投擲該引擎塊,導(dǎo)致該車輛的車篷由于沖擊而跨塌。引擎塊現(xiàn)在被嚴(yán)重刮擦,并且開始劈啪作響并閃光。玩家角色可以再次拾起該引擎塊,將其投擲向其他玩家角色或非玩家角色。在與地面相撞后,引擎塊可破裂。在此示例中,引擎塊使用一系列聲音和微粒來表達(dá)其狀況。當(dāng)車輛被打擊時(shí),其車篷和引擎顯現(xiàn)出表面損壞和劣化。引擎塊在亂擦?xí)r也顯現(xiàn)出表面損壞,并且由于損壞而進(jìn)一步顯現(xiàn)出微粒(例如閃光)和聲音(例如劈啪聲)。當(dāng)引擎塊最終被毀壞時(shí),可通過引擎塊的外觀的大變化以及可被創(chuàng)建來仿真其破裂的新對(duì)象來表達(dá)該破壞。通過所有這些變化,物理對(duì)象模型可被更新以反映和渲染對(duì)象所經(jīng)歷的視覺變化。作為另一示例,惡徒玩家角色可嘗試搶劫銀行,但發(fā)現(xiàn)其保險(xiǎn)庫是密封的。該玩家角色反復(fù)地打擊保險(xiǎn)庫門,從而導(dǎo)致許多的凹痕,但沒有開啟它。該玩家角色隨后可向懸得較低的房梁發(fā)射能量沖擊波,從而導(dǎo)致大塊水泥脫落下來并墜落在地面上。該沖擊使銀行地板裂開并且揚(yáng)起了大量灰塵。房梁被縮減成了例如鋼筋,只有少量的受到壓力的水泥剩余。在此示例中,保險(xiǎn)庫門在被打擊時(shí)劣化,而房梁在遭受能量沖擊波時(shí)劣化成鋼筋。水泥塊是由于沖擊波而創(chuàng)建的對(duì)象,它們?cè)谥憰r(shí)產(chǎn)生聲音。地板由于沖擊而受到表面損壞裂開,而灰塵是微粒效果。物理對(duì)象可被分類為以下類別中的一種或多種。在任何給定的仿真中,不需要表示所有類型,并且物理對(duì)象可屬于不止一種類型。第一類物理對(duì)象是持續(xù)道具,其是保持在環(huán)境中直到重啟為止的對(duì)象;這些對(duì)象可包括特定的目的、障礙、目標(biāo)或探索所需要的特定的關(guān)鍵玩游戲元素。另一類是FX道具,其是在遭受損壞時(shí)可能毀壞的對(duì)象。另一類是武器化的道具,其是玩家角色可拾起并用作武器的對(duì)象。另一類是游戲效果道具,其是可與游戲機(jī)械系統(tǒng)相關(guān)聯(lián)的對(duì)象。另一類是動(dòng)態(tài)道具,其是作為游戲中事件的結(jié)果而實(shí)時(shí)創(chuàng)建的對(duì)象,與由開發(fā)者放置的道具相反。動(dòng)態(tài)道具可包括作為由玩家角色導(dǎo)致的損壞的結(jié)果而創(chuàng)建的物理對(duì)象。
對(duì)于武器化的道具,當(dāng)物理對(duì)象以這種方式被使用時(shí),則它們獲得依武器而定的功能并且以受控制的方式來做出行為。一些基本參數(shù)和條件仍可應(yīng)用到武器化的物理對(duì)象。其中包括武器的耐久性、游戲效果和其他屬性。在另一具體示例中,罪犯可以在滑向若干個(gè)桶時(shí)拾起一段鋼筋,然后開始用它攻擊超級(jí)英雄玩家角色。玩家角色可通過拾起一個(gè)箱子并將其用作對(duì)抗罪犯的武器來做出響應(yīng)。鋼筋在其打擊超級(jí)英雄時(shí)可最終變形,并且最終可能變得不可使用。作為響應(yīng),超級(jí)英雄可向罪犯投擲箱子,從而使箱子破損并且使得罪犯失去知覺。在此示例中,超級(jí)英雄和非玩家角色罪犯都使用物理對(duì)象作為武器。敵方的非玩家角色罪犯將他的用作棍棒,而超級(jí)英雄玩家角色則將他的用作拋射體??赏ㄟ^使用隨著時(shí)間的損壞的計(jì)算來將鋼筋的變形實(shí)現(xiàn)為游戲效果和A/V效果??赏ㄟ^向特定對(duì)象賦予“生命力”來實(shí)現(xiàn)箱子的粉碎。一旦對(duì)象具有零生命力,其就被認(rèn)為是已毀壞的,并被相應(yīng)地渲染。在許多情況下,在其地點(diǎn)中將產(chǎn)生新的物理對(duì)象,例如動(dòng)態(tài)道具。在一些情況下,這種動(dòng)態(tài)道具在被產(chǎn)生后可以只存在幾秒,但是其他情況可能要求這種對(duì)象保持在環(huán)境中并且就像任何其他物理對(duì)象那樣做出舉動(dòng)和被使用。在另一具體示例中,超級(jí)英雄玩家角色可使用燈柱來損壞經(jīng)過的車輛。車輛和燈柱都受到損壞,并且燈柱在其頂端附近折斷。貫穿桿子的導(dǎo)線仍將頂部連接著。當(dāng)玩家角色再次擺動(dòng)燈柱時(shí),頂部隨機(jī)地四處揮打,但其仍是有效的武器。在此示例中,燈柱代表仍顯現(xiàn)出物理學(xué)的影響的武器化的物理對(duì)象。即使基部由玩家控制,頂部也變得松散并且會(huì)做出響應(yīng)。物理引擎在一些實(shí)現(xiàn)方式中可以將該運(yùn)動(dòng)仿真為自轉(zhuǎn)和公轉(zhuǎn)(如果其被擺動(dòng)的話),并且在頂部上還疊加有另一個(gè)公轉(zhuǎn),即松散的頂部。物理對(duì)象也可由游戲事件產(chǎn)生。例如,游戲事件可觸發(fā)環(huán)境破壞,并且環(huán)境破壞可觸發(fā)游戲事件。在另一具體示例中,玩家角色正在追逐惡徒穿過城市下水道。玩家角色進(jìn)入一個(gè)看起來是死路的黑暗分室。在玩家角色可以折回其腳步之前,發(fā)生了爆炸并且門上的天花板崩塌了,從而阻擋了其路徑。玩家角色注意到在一面后墻上的小的帶柵條的窗戶。 玩家角色向柵條發(fā)射集中熱力線,但是在這么做時(shí)觸發(fā)了隱藏的武器的激活。在此示例中, 當(dāng)玩家嘗試離開屋子時(shí)的天花板崩塌代表由事件引起的環(huán)境破壞。當(dāng)玩家角色攻擊帶柵條的窗戶的軟幾何體時(shí),攻擊激活隱藏的武器;在此情況下,激活代表由環(huán)境破壞引起的事件。其他環(huán)境因素或非玩家角色或玩家角色能力也可影響諸如MMO之類的仿真中的物理對(duì)象。例如,可提供火山爆發(fā),并且其可生成或噴發(fā)巖石和熔巖??赡馨l(fā)生地震,并且其可能驅(qū)逐玩家角色和非玩家角色,以及創(chuàng)建包括物理對(duì)象在內(nèi)的各種對(duì)象??商峁┛梢苿?dòng)的奇點(diǎn),其將玩家角色和對(duì)象牽拉向其自身,并且在一些實(shí)現(xiàn)方式中可進(jìn)一步導(dǎo)致玩家角色或非玩家角色的遠(yuǎn)距傳輸?shù)陌l(fā)生??梢韵蛲婕医巧峁饽夷芰蛐Ч渲型婕医巧S后被氣囊所圍繞,從而使得將玩家角色與物理對(duì)象和損壞蔽屏開來,但是也使得玩家角色彈跳而且不能有效地作戰(zhàn)。玩家角色或非玩家角色可具有隔空取物的能力,從而其無需接觸對(duì)象就能夠移動(dòng)它們。對(duì)象的子集可具有“接地”狀態(tài),在此狀態(tài)中它們變得極為沉重,到了不能被移動(dòng)或武器化的程度。在此狀態(tài)中,空運(yùn)的對(duì)象可能墜落到地面,而武器化的對(duì)象可能變得太沉重以至于不能攜帶??梢蕴峁┲亓蚍粗亓υ?;這些源可能是可移動(dòng)的,其隨后吸引或排斥附近的對(duì)象以及玩家角色或非玩家角色。還可提供“回彈”力,利用這種力,物理對(duì)象被從玩家角色發(fā)射出去。
在另一具體示例中,玩家角色走到街道上并且攻擊正在接近的車輛,從而導(dǎo)致其翻倒。玩家角色隨后拾起車輛并將其投擲向標(biāo)志性的非玩家角色的大型銅雕像。車輛從雕像彈開,降落在一花圃上并毀壞該花圃。玩家角色嘗試再次拾起該車輛,但是其正在著火并且太燙以至于無法接觸。取而代之,玩家角色攻擊雕像附近的噴泉,直到大塊的大理石從噴泉上脫落下來為止。玩家角色隨后拾起大理石塊并將其投擲向雕像,從而損壞了雕像。在此示例中,車輛最初被分類為一類非玩家角色,但是在被投擲時(shí)其變成了武器化的道具,然后在其著火時(shí)變成了游戲效果道具。花圃可以是一個(gè)或多個(gè)FX道具。雕像是持續(xù)道具并且無法被毀壞,但是可能忍受小量的損壞,然后愈合,或者也可能被驅(qū)逐開。噴泉是軟幾何體,并且其大理石塊是可被武器化的動(dòng)態(tài)道具。圖4是用于實(shí)現(xiàn)物理對(duì)象交互的一種方法50的流程圖。在第一步驟中,將虛擬對(duì)象的一子集定義為物理對(duì)象(步驟94)。在下一步驟中,為每個(gè)物理對(duì)象定義至少一個(gè)基本參數(shù)和狀態(tài)(步驟96),基本參數(shù)具有值和類型。步驟94和96 —般可在創(chuàng)建物理對(duì)象時(shí)執(zhí)行,創(chuàng)建物理對(duì)象時(shí)可以是游戲最初加載時(shí)、在此之后的任何時(shí)間或者在開發(fā)時(shí)。下一步驟是確定具有不同基本參數(shù)類型的任何兩個(gè)或更多個(gè)對(duì)象的交互的結(jié)果、 以及交互的結(jié)果(步驟98)。這個(gè)步驟可以通過若干種方式來實(shí)現(xiàn)。首先,某些交互將具有預(yù)定的結(jié)果。例如,一類交互是由碰撞檢測(cè)所確定的對(duì)象(可能是物理對(duì)象和/或非物理對(duì)象)之間的碰撞,其具有由物理引擎規(guī)定的結(jié)果(步驟10幻。這里要注意碰撞可以是對(duì)象的任何接觸。另一類交互是對(duì)象(例如物理對(duì)象或非物理對(duì)象)與拋射體之間的碰撞 (步驟104)。這類交互可以是玩家角色或非玩家角色例如通過格斗或遠(yuǎn)程武器、通過神奇的咒語、通過激光或其他電磁力等等攻擊物理對(duì)象或非物理對(duì)象時(shí)典型的交互。上述碰撞示例是常見的。然而,系統(tǒng)可以提供甚至更多類型的交互。一般地,交互是由對(duì)象規(guī)則集合確定的,其中可包括對(duì)查找表的使用(步驟106)。查找表提供了考慮到可能發(fā)生的許多類型的交互以及隨之可能發(fā)生的協(xié)同效果的一種方式。這種表在以下被例示為表I,其應(yīng)當(dāng)被理解為只是示例性的,因此與這種效果的可能數(shù)目相比是非常有限的。以上描述總地涉及對(duì)象交互,其中對(duì)象具有不同類型的基本參數(shù)。在一些情況下, 將為具有相同類型的基本參數(shù)的物理對(duì)象定義交互。例如,兩個(gè)物理對(duì)象可各自具有相關(guān)聯(lián)的重量基本參數(shù)。如果兩者被聯(lián)合起來,例如通過被撞擊在一起或者通過磁效果被聯(lián)合起來,則結(jié)果可以是重量為個(gè)體重量之和的單個(gè)物理對(duì)象。作為對(duì)交互的指示,可以向GPU或視頻卡或聲卡或者其組合發(fā)送信號(hào)(步驟108), 并且該信號(hào)隨后可使得渲染對(duì)交互的指示(步驟112)。渲染可采取若干種形式。如果物理對(duì)象或非物理對(duì)象被分類或以其他方式分類為具有硬幾何性,則可以渲染損壞效果(步驟114),例如可隨著時(shí)間的過去而愈合的淺表或表面損壞效果。如果對(duì)象被分類為具有軟幾何性,則可以執(zhí)行計(jì)算來確定對(duì)象被損壞到什么程度(步驟116)。例如,小量的損壞可導(dǎo)致諸如刮擦之類的表面損壞,而大量的損壞可導(dǎo)致對(duì)象破裂,例如破裂成較小的對(duì)象(這些對(duì)象進(jìn)而可以是物理對(duì)象或非物理對(duì)象)、破裂成微粒、或者破裂成這兩者。一種實(shí)現(xiàn)該計(jì)算的方式是向?qū)ο筚x予生命力,并且作為損壞增加,生命力數(shù)字減小。一旦對(duì)象處于零生命力,就認(rèn)為其已被毀壞。也可以使用特別精密的計(jì)算,其中包括對(duì)物理對(duì)象的材料屬性(例如其結(jié)構(gòu)的粒度、重量、體積等等)以及碰撞的對(duì)象(例如拋射體)的軌跡和其他特性的考慮。
方法50的下一步驟可被包括作為渲染對(duì)交互的指示的步驟(步驟11 的一部分,其包括渲染游戲效果(118)和渲染A/V效果(步驟122)。圖5是用于實(shí)現(xiàn)物理對(duì)象交互的另一種方法70的流程圖。在方法70中,使物理對(duì)象經(jīng)歷從第一狀態(tài)到第二狀態(tài)的轉(zhuǎn)變。某些步驟與圖4的方法相同。在第一步驟中,將虛擬對(duì)象的一子集定義為物理對(duì)象(步驟94)。在下一步驟中, 為每個(gè)物理對(duì)象定義至少一個(gè)基本參數(shù)和狀態(tài)(步驟126),基本參數(shù)具有值和類型。然后可定義觸發(fā)(步驟128),該觸發(fā)使得物理對(duì)象從一個(gè)狀態(tài)轉(zhuǎn)變到另一狀態(tài)。然后可為觸發(fā)定義限定器(步驟13 ,限定器在上文中定義,例如,誰或者什么可導(dǎo)致該觸發(fā)使?fàn)顟B(tài)轉(zhuǎn)變。步驟124、126、1 和132 —般可在創(chuàng)建物理對(duì)象時(shí)執(zhí)行,創(chuàng)建物理對(duì)象時(shí)可以是游戲最初加載時(shí)、在此之后的任何時(shí)間或者在開發(fā)時(shí)。在發(fā)生觸發(fā)事件時(shí),隨后使物理對(duì)象從第一狀態(tài)轉(zhuǎn)變到第二狀態(tài)(步驟134)。作為對(duì)該轉(zhuǎn)變的指示,可以向GPU或視頻卡或聲卡或者其組合發(fā)送信號(hào)(步驟136),并且該信號(hào)隨后可使得渲染該轉(zhuǎn)變(步驟138)。與圖4中一樣,渲染可采取若干種形式。如果物理對(duì)象具有硬幾何性,則可以渲染損壞效果(步驟14幻。如果物理對(duì)象具有軟幾何性,則可以執(zhí)行計(jì)算來確定物理對(duì)象被損壞到什么程度(步驟144)。方法70的下一步驟可被包括作為渲染對(duì)轉(zhuǎn)變的指示的步驟(步驟138)的一部分,其包括渲染游戲效果(146)和渲染A/V效果(步驟148)。如果在交互中涉及兩個(gè)或更多個(gè)對(duì)象,例如物理對(duì)象,則可以為每個(gè)物理對(duì)象執(zhí)行上述方法70,并且還可使用方法50來定義轉(zhuǎn)變和交互的結(jié)果。這些方法還可用于確定游戲事件對(duì)物理對(duì)象的效果、由玩家角色和非玩家角色導(dǎo)致的損壞、以及由非物理對(duì)象對(duì)物理對(duì)象導(dǎo)致的損壞或者由物理對(duì)象對(duì)非物理對(duì)象導(dǎo)致的損壞。參考圖6,示出了用于從非物理對(duì)象創(chuàng)建物理對(duì)象的方法80的流程圖。該方法的第一步驟是定義至少一個(gè)虛擬對(duì)象為非物理對(duì)象(步驟15 。一般地,這種對(duì)象被建模為3 維對(duì)象,但該方法和系統(tǒng)并不限于此。下一步驟是定義一觸發(fā),在該觸發(fā)發(fā)生時(shí)非物理對(duì)象將轉(zhuǎn)變到物理對(duì)象(步驟154),并且可進(jìn)一步為該觸發(fā)定義限定器。觸發(fā)和限定器一般可與以上針對(duì)將物理對(duì)象從第一狀態(tài)轉(zhuǎn)變到第二狀態(tài)描述的那些相同,只不過在此情況下, 非物理對(duì)象在轉(zhuǎn)變成物理對(duì)象。與以上所述的相應(yīng)步驟一樣,步驟152和巧4 一般可在創(chuàng)建物理對(duì)象時(shí)執(zhí)行,創(chuàng)建物理對(duì)象時(shí)可以是游戲最初加載時(shí)、在此之后的任何時(shí)間或者在開發(fā)時(shí)。在觸發(fā)發(fā)生時(shí),非物理對(duì)象隨后轉(zhuǎn)變成物理對(duì)象(步驟156)。以下在表II中記載了特定觸發(fā)和轉(zhuǎn)變,它們應(yīng)當(dāng)被理解為只是示例性,因此與這種觸發(fā)和轉(zhuǎn)變的可能數(shù)目相比是非常有限的。如上所述,作為對(duì)轉(zhuǎn)變的指示,可以向GPU或視頻卡或聲卡或其組合發(fā)送信號(hào)(步驟158),并且信號(hào)隨后可使得渲染轉(zhuǎn)變(步驟16 。渲染可以通過上述方式中的任何一種來執(zhí)行。在物理對(duì)象被損壞或毀壞的情況下,系統(tǒng)和方法還提供了處理修復(fù)的方式。具體地,修復(fù)例程可用于幫助環(huán)境在交互后重置自身。一般地,大多數(shù)對(duì)象將隨著時(shí)間過去而修復(fù)。然而,存在某些例外。例如,在一副本中,所有對(duì)象都可在該副本被重加載時(shí)自動(dòng)重置。在一些實(shí)現(xiàn)方式中,被標(biāo)記為“技師”的非玩家角色可修改損壞的對(duì)象。這些對(duì)象隨后返回到其未損壞的狀態(tài)并且不重置。 在具體示例中,惡行玩家角色可搶劫銀行,損壞其外部和內(nèi)部,然后逃離。玩家角色可注意到銀行的內(nèi)部和外部完全愈合了,從而沒有損壞。在此示例中,銀行的外部是開放游戲環(huán)境世界的一部分,因此當(dāng)玩家角色在內(nèi)部時(shí)其破壞被緩慢地修改。銀行內(nèi)部被認(rèn)為是一副本,因此當(dāng)玩家角色離開時(shí),銀行的內(nèi)部?jī)?nèi)容立即重置。游戲環(huán)境內(nèi)的不同類型的區(qū)域可不同地遭受損壞。這可部分取決于該區(qū)域的私密或公共程度如何。例如,城市可代表游戲的大的、開放世界部分。由于可能希望這種區(qū)域就幾何性而言保持相對(duì)穩(wěn)定,所以它們可能是最不可破壞的環(huán)境。這種區(qū)域可主要包括硬幾何性對(duì)象和結(jié)構(gòu)。也可存在特定的軟幾何性對(duì)象,以及一些預(yù)定的物理對(duì)象。所有這些對(duì)象和結(jié)構(gòu)都具有與之相關(guān)聯(lián)的不同量的A/V效果。在具體示例中,惡徒玩家角色可拾起一經(jīng)過的車輛并將其扔向一店面,從而導(dǎo)致店面的遮陽篷落下并且其窗戶粉碎且崩潰。該玩家角色可再次拾起該車輛并且將其投擲向一公寓建筑的側(cè)面,從而導(dǎo)致一些水泥鑄造物斷裂并破碎。車輛降落在人行道上,留下裂縫。在此示例中,車輛和遮陽篷是物理對(duì)象。店面具有軟幾何性并因此變形,并且進(jìn)一步產(chǎn)生玻璃微粒效果。水泥鑄造物具有軟幾何性,而其所附著到的公寓建筑上具有硬幾何性。水泥鑄造物生成水泥碎塊,這些水泥碎塊是物理對(duì)象,而當(dāng)車輛降落時(shí),作為硬幾何體的人行道受到表面損壞。副本是根據(jù)需要為一個(gè)或一群玩家創(chuàng)建的區(qū)域的私密版本。由于其是私密的,與開放的公開游戲環(huán)境中相比可以提供更多的軟幾何體,但硬幾何體仍可構(gòu)成這些區(qū)域的大部分。這些硬幾何體區(qū)域與軟幾何體區(qū)域的比率由每個(gè)副本的設(shè)計(jì)來規(guī)定。副本還可具有大量的物理對(duì)象,并且在其內(nèi)的許多對(duì)象上可存在A/V效果。在具體示例中,玩家角色超級(jí)英雄可能正在禮堂中與惡徒戰(zhàn)斗。惡徒可攻擊玩家角色超級(jí)英雄,將其投擲穿過屋子。玩家角色可毀壞若干行座位以及支撐柱,然后降落在后墻上,在沖擊時(shí)使其裂開。在此示例中, 座位是物理對(duì)象并且柱子是軟幾何體;兩者都在沖擊時(shí)破損。后墻是硬幾何體,并且其裂開是暗示損壞的A/V效果。其中損壞效果可能與開放世界游戲環(huán)境不同的另一個(gè)區(qū)域是競(jìng)技場(chǎng),這是大的基于地形的多玩家區(qū)域。由于這些區(qū)域被設(shè)計(jì)成讓玩家利用所有其能力和技能,所以在競(jìng)技場(chǎng)中提供的破壞可能是巨大的。物理對(duì)象可以更大,并且更多的軟幾何體可被構(gòu)建到地形中和建筑物中。在具體示例中,玩家角色超級(jí)英雄可接近一敵方非玩家角色碉堡以便毀壞它。在玩家角色可以進(jìn)入攻擊范圍之前,敵方坦克可從懸崖后開出。玩家角色疾跑向最近的懸崖壁并且擊打它以敲下一些大的巨石。玩家角色隨后舉起巨石并投擲它。巨石降落在領(lǐng)頭的坦克上,從而將其壓碎并且在地面上留下巨大的裂縫。玩家角色隨后跑向碉堡并攻擊它,凍住一大的屋頂炮塔并且用能量沖擊波來粉碎它。敵人隨后從碉堡的正面入口發(fā)出力量。玩家角色打擊這些力量并且將火力集中于門上。小塊的碎石開始松動(dòng)并落下。在一段時(shí)間后,門的門拱崩塌在入口前。在此示例中,懸崖壁具有軟幾何性并且位于硬幾何性地形上方。作為物理對(duì)象的巨石是在軟幾何性懸崖壁被損壞時(shí)生成的。巨臺(tái)的沖擊壓碎坦克, 坦克也是物理對(duì)象,并且利用A/V效果,地面看起來裂開了。碉堡的建筑主要是軟幾何體, 并且許多弱點(diǎn),例如炮塔、門等等被配置為完全可破壞并且在破壞時(shí)生成碎石,這些碎石中的一些或全部可以是物理對(duì)象。已經(jīng)描述了用于創(chuàng)建和處理物理對(duì)象的系統(tǒng)和方法。這些物理對(duì)象交互和隨后玩游戲的組合效果看起來是自然發(fā)生的而不是規(guī)定的。系統(tǒng)和方法創(chuàng)建元素,這些元素基于玩家如何使用它們而以令人驚訝的方式交互。玩家能夠創(chuàng)建物理對(duì)象、將其自身和其他玩家變成物理對(duì)象以及通過這些物理對(duì)象和力量以超乎簡(jiǎn)單的預(yù)定交互的方式交互來創(chuàng)建自然的、協(xié)同的效果。其他變化和實(shí)現(xiàn)方式也是可能的。因此,本發(fā)明的范圍并不僅限于這里布置的具體示例。表 I可能的協(xié)同游戲/對(duì)象和A/V效果的查找表(部分)
權(quán)利要求
1.一種計(jì)算機(jī)可讀介質(zhì),包括用于使得電子設(shè)備中的處理器執(zhí)行在仿真中管理虛擬3 維對(duì)象的方法的指令,所述方法包括a.將仿真中的虛擬3維對(duì)象的子集定義為物理對(duì)象;b.為所述物理對(duì)象中的第一物理對(duì)象定義至少第一基本參數(shù)和第一狀態(tài),所述第一基本參數(shù)由第一值和第一類型表征;c.為所述物理對(duì)象中的第二物理對(duì)象定義至少第二基本參數(shù)和第二狀態(tài),所述第二基本參數(shù)由第二值和第二類型表征,其中所述第一類型不同于所述第二類型;d.定義所述第一物理對(duì)象和所述第二物理對(duì)象之間的至少一個(gè)交互,所述交互的結(jié)果至少部分取決于所述第一參數(shù)和第二參數(shù)以及第一狀態(tài)和第二狀態(tài);e.向渲染器發(fā)送信號(hào)并且渲染對(duì)所述交互的結(jié)果的指示。
2.如權(quán)利要求1所述的介質(zhì),其中,定義至少一個(gè)交互是由在所述第一對(duì)象與第二對(duì)象之間檢測(cè)到碰撞的發(fā)生而引起的。
3.如權(quán)利要求1所述的介質(zhì),其中,所述定義至少一個(gè)交互是由在所述第一對(duì)象或第二對(duì)象與由玩家角色或非玩家角色控制的拋射體之間檢測(cè)到碰撞的發(fā)生而引起的。
4.如權(quán)利要求1所述的介質(zhì),其中,所述至少一個(gè)狀態(tài)是從由以下各項(xiàng)構(gòu)成的組中選擇的運(yùn)動(dòng)的、不動(dòng)的、被損壞的、被毀壞的或附著的。
5.如權(quán)利要求1所述的介質(zhì),其中,所述仿真是多玩家在線游戲。
6.如權(quán)利要求1所述的介質(zhì),其中,所述第一物理對(duì)象或第二物理對(duì)象中的至少一個(gè)是玩家角色或非玩家角色。
7.如權(quán)利要求4所述的介質(zhì),還包括將所述第一物理對(duì)象或第二物理對(duì)象中的至少一個(gè)定義為具有軟幾何性,其中如果具有軟幾何性的物理對(duì)象的狀態(tài)是被損壞的,則還包括利用至少兩個(gè)物理對(duì)象或一物理對(duì)象和一非物理對(duì)象來替換所述物理對(duì)象。
8.如權(quán)利要求4所述的介質(zhì),還包括將所述第一物理對(duì)象或第二物理對(duì)象中的至少一個(gè)定義為具有硬幾何性,其中如果具有硬幾何性的物理對(duì)象的狀態(tài)是被損壞的,則還包括在具有硬幾何性的物理對(duì)象上渲染損壞效果。
9.如權(quán)利要求1所述的介質(zhì),其中,所述第一類型和第二類型是從由以下各項(xiàng)構(gòu)成的組中選擇的重量、大小、形狀、密度和傳導(dǎo)性。
10.如權(quán)利要求1所述的介質(zhì),其中,所述交互的結(jié)果是按對(duì)象規(guī)則集合或查找表的。
11.如權(quán)利要求1所述的介質(zhì),還包括從先前未被定義為物理對(duì)象的虛擬3維對(duì)象之一定義物理對(duì)象。
12.如權(quán)利要求11所述的介質(zhì),其中,所定義的物理對(duì)象是玩家角色。
13.如權(quán)利要求11所述的介質(zhì),其中,所定義的物理對(duì)象具有被定義為武器的狀態(tài)。
14.如權(quán)利要求1所述的介質(zhì),其中,所述定義至少一個(gè)交互包括定義至少一個(gè)規(guī)則集合,所述規(guī)則集合與具有共同類型的基本參數(shù)的物理對(duì)象有關(guān)。
15.如權(quán)利要求1所述的介質(zhì),還包括為所述物理對(duì)象中的至少一個(gè)定義至少一個(gè)游戲效果,其中如果觸發(fā)發(fā)生,則所述游戲效果發(fā)生。
16.如權(quán)利要求1所述的介質(zhì),還包括為所述物理對(duì)象中的至少一個(gè)定義至少一個(gè)音頻或視覺效果,其中如果觸發(fā)發(fā)生,則所述音頻或視覺效果被渲染。
17.一種計(jì)算機(jī)可讀介質(zhì),包括用于使得電子設(shè)備中的處理器執(zhí)行在仿真中管理虛擬3維對(duì)象的方法的指令,所述方法包括a.將仿真中的虛擬3維對(duì)象的子集定義為物理對(duì)象;b.為所述物理對(duì)象中的第一物理對(duì)象定義至少第一基本參數(shù)和第一狀態(tài),所述第一基本參數(shù)由第一值和第一類型表征;c.定義至少一個(gè)觸發(fā),其中在所述觸發(fā)發(fā)生時(shí),將所述物理對(duì)象中的第一物理對(duì)象從所述第一狀態(tài)轉(zhuǎn)變到第二狀態(tài),所述轉(zhuǎn)變的結(jié)果至少部分取決于所述第一參數(shù)和所述第一狀態(tài);以及d.向渲染器發(fā)送信號(hào)并且渲染對(duì)所述轉(zhuǎn)變的結(jié)果的指示。
18.如權(quán)利要求17所述的介質(zhì),其中,所述觸發(fā)是從由以下各項(xiàng)構(gòu)成的組中選擇的玩家角色或非玩家角色接觸所述第一物理對(duì)象、玩家角色或非玩家角色損壞所述第一物理對(duì)象、玩家角色或非玩家角色拾起所述第一物理對(duì)象、玩家角色或非玩家角色投擲所述第一物理對(duì)象、或者預(yù)定的劇本事件。
19.如權(quán)利要求18所述的介質(zhì),其中,定義至少一個(gè)觸發(fā)包括定義可由玩家角色、非玩家角色或虛擬對(duì)象引起的至少一個(gè)觸發(fā),并且還包括針對(duì)觸發(fā)事件定義至少一個(gè)限定器, 其中所述定義至少一個(gè)限定器包括定義允許哪些玩家角色、非玩家角色或虛擬對(duì)象引起轉(zhuǎn)變或者何時(shí)允許發(fā)生轉(zhuǎn)變。
20.如權(quán)利要求17所述的介質(zhì),其中,所述仿真是ΜΜ0。
21.一種計(jì)算機(jī)可讀介質(zhì),包括用于使得電子設(shè)備中的處理器執(zhí)行在仿真中管理虛擬 3維對(duì)象的方法的指令,所述方法包括a.將仿真中的至少一個(gè)虛擬3維對(duì)象定義為非物理對(duì)象;b.定義至少一個(gè)觸發(fā),其中在所述觸發(fā)發(fā)生時(shí),將所述至少一個(gè)虛擬3維對(duì)象轉(zhuǎn)變到物理對(duì)象;d.向渲染器發(fā)送信號(hào)并且渲染對(duì)所述轉(zhuǎn)變的結(jié)果的指示。
22.如權(quán)利要求21所述的介質(zhì),其中,所述觸發(fā)是從由以下各項(xiàng)構(gòu)成的組中選擇的玩家角色或非玩家角色接觸所述虛擬3維對(duì)象、玩家角色或非玩家角色損壞所述虛擬3維對(duì)象、玩家角色或非玩家角色拾起所述虛擬3維對(duì)象、玩家角色或非玩家角色投擲所述虛擬3 維對(duì)象、或者預(yù)定的劇本事件。
23.如權(quán)利要求21所述的介質(zhì),其中,定義至少一個(gè)觸發(fā)包括定義可由玩家角色、非玩家角色或虛擬對(duì)象引起的至少一個(gè)觸發(fā),并且還包括針對(duì)所述觸發(fā)定義至少一個(gè)限定器, 其中所述定義至少一個(gè)限定器包括定義允許哪些玩家角色、非玩家角色或虛擬對(duì)象引起轉(zhuǎn)變或者何時(shí)允許發(fā)生轉(zhuǎn)變。
24.如權(quán)利要求21所述的介質(zhì),其中,所述仿真是ΜΜ0。
25.一種計(jì)算機(jī)可讀介質(zhì),包括用于在仿真中管理虛擬3維對(duì)象的系統(tǒng),所述介質(zhì)包括以下模塊a.數(shù)據(jù)庫模塊,用于存儲(chǔ)關(guān)于多個(gè)虛擬對(duì)象的數(shù)據(jù),所述多個(gè)虛擬對(duì)象包括物理對(duì)象, 這些對(duì)象一部分是由狀態(tài)定義的;以及b.物理引擎模塊,包括觸發(fā)定義模塊,用于定義對(duì)象從第一狀態(tài)向第二狀態(tài)的轉(zhuǎn)變。
26.如權(quán)利要求25所述的介質(zhì),其中,所述第一狀態(tài)是非物理對(duì)象,所述第二狀態(tài)是物理對(duì)象。
27.一種計(jì)算機(jī)可讀介質(zhì),包括用于在仿真中管理虛擬3維對(duì)象的系統(tǒng),所述介質(zhì)包括以下模塊 a.數(shù)據(jù)庫模塊,用于存儲(chǔ)關(guān)于多個(gè)虛擬對(duì)象的數(shù)據(jù),所述多個(gè)虛擬對(duì)象包括物理對(duì)象, 這些物理對(duì)象一部分是由狀態(tài)定義的;以及b.物理引擎模塊,包括i.交互定義模塊,用于定義物理對(duì)象之間或者物理對(duì)象與非物理對(duì)象之間的交互;以及 .對(duì)象規(guī)則集合,用于定義物理對(duì)象之間或物理對(duì)象與非物理對(duì)象之間的交互的結(jié): O
28.如權(quán)利要求27所述的介質(zhì),其中,所述對(duì)象規(guī)則集合是查找表。
全文摘要
提供了用于實(shí)現(xiàn)一種技術(shù)的系統(tǒng)和方法,該技術(shù)用于管理計(jì)算機(jī)仿真中的物理交互,例如在線計(jì)算機(jī)游戲中的對(duì)象的交互。仿真中的對(duì)象是或者能夠變成物理對(duì)象,物理對(duì)象隨后根據(jù)操作中的物理仿真器的規(guī)則來做出行為。對(duì)于物品如何變成物理對(duì)象以及什么規(guī)則用于管理物理對(duì)象,不同的實(shí)現(xiàn)方式可使用不同的規(guī)則。由于物理對(duì)象交互是基于其物理屬性來確定的而不是遵守預(yù)定的交互,所以由此得到的交互是自然發(fā)生的而不是按照劇本的。
文檔編號(hào)G06T13/20GK102160086SQ200980137235
公開日2011年8月17日 申請(qǐng)日期2009年7月22日 優(yōu)先權(quán)日2008年7月22日
發(fā)明者德魯·鮑爾斯, 杰恩斯·安德森 申請(qǐng)人:索尼在線娛樂有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南昌市| 镇赉县| 呼玛县| 郁南县| 乌什县| 曲麻莱县| 滁州市| 茂名市| 鹤庆县| 阜阳市| 高清| 六安市| 东乌珠穆沁旗| 磐石市| 孝昌县| 青田县| 新巴尔虎左旗| 集安市| 肥城市| 乌恰县| 贵德县| 繁峙县| 泰和县| 开远市| 红原县| 许昌市| 纳雍县| 平顶山市| 浪卡子县| 花垣县| 太仓市| 旬阳县| 汤原县| 达日县| 佛教| 治县。| 逊克县| 林芝县| 大埔县| 朝阳县| 新兴县|