用于改善分布式交互模擬中的對象的呈現(xiàn)的裝置和方法
【專利摘要】提供用于在多個(gè)計(jì)算設(shè)備上實(shí)質(zhì)上同時(shí)呈現(xiàn)分布式模擬的系統(tǒng)和方法。第一計(jì)算設(shè)備控制所述模擬中的對象。第二計(jì)算設(shè)備產(chǎn)生與視覺狀態(tài)相關(guān)的所述對象的視覺表示。所述第二計(jì)算設(shè)備產(chǎn)生預(yù)測狀態(tài)并從所述第一計(jì)算設(shè)備接收包括新狀態(tài)的更新。所述預(yù)測狀態(tài)的部分被設(shè)置為等于所述新狀態(tài)的部分,且確定所述預(yù)測和視覺狀態(tài)之間的差異。當(dāng)所述差異大于第一閾值時(shí),可修改所述預(yù)測狀態(tài)的至少一個(gè)速度。當(dāng)所述差異大于第二閾值時(shí),至少部分基于所述預(yù)測狀態(tài)來修改所述視覺狀態(tài)。至少部分基于所述視覺狀態(tài)來渲染所述對象的新的視覺表示,且顯示所述新的視覺表示。
【專利說明】用于改善分布式交互模擬中的對象的呈現(xiàn)的裝置和方法
[0001]相關(guān)申請的交叉引用
[0002]本申請請求2011年5月3日提交的美國臨時(shí)申請N0.61/482,162的權(quán)益,所述申請以引用的方式全文并入本文。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明一般針對分布式交互模擬,如在多個(gè)操作員站/玩家站的對面呈現(xiàn)連貫的虛擬世界的軍事模擬器和多玩家計(jì)算機(jī)游戲中使用的那些分布式交互模擬。
【背景技術(shù)】
[0004]分布式交互模擬是當(dāng)今視頻游戲的流行形式,但起源于諸如20世紀(jì)80年代和20世紀(jì)90年代的SMNET的軍事模擬。在分布式交互模擬中,在多個(gè)計(jì)算機(jī)站之間創(chuàng)建并共享虛擬世界,每個(gè)計(jì)算機(jī)站支持具有控制器的至少一個(gè)用戶和至少一個(gè)顯示器。
[0005]在一些模擬中,站共享向例如每個(gè)已知網(wǎng)絡(luò)時(shí)間協(xié)議(“NTP”)提供公共時(shí)基的分布式時(shí)鐘。然而,這不是必需的。分布式模擬一般(但不一定)定期前進(jìn)(例如,每秒更新30次),且一般(但是不一定)在每個(gè)站以同樣的速度前進(jìn)(例如,其它站可每秒運(yùn)行更新60 次)。
[0006]所述站也共享環(huán)境模型,包括空域和地形。地形可為靜態(tài)的,包括地貌、建筑物(可包括內(nèi)部)和水體。或者,地形可為非靜態(tài)的:例如,一些或所有建筑物可被破壞,地貌可“傷痕累累”(例如,具有輪胎軌道、火山口或燒傷的痕跡)等。在這個(gè)環(huán)境中,放置包括例如車輛、人、動物的模擬動態(tài)對象。這些動態(tài)對象的動畫給了模擬生命的外觀。
[0007]在此類模擬中,每個(gè)站負(fù)有管理一個(gè)或多個(gè)模擬對象的主要責(zé)任。對于站管理的每個(gè)對象,為每個(gè)本地時(shí)間增量計(jì)算詳細(xì)模型以確定它的行為。例如,全地形車(“ATV”)的詳細(xì)模型可接受來自操作員(通常是管理站本地的操作員)的方向盤和踏板輸入。ATV的詳細(xì)模型可進(jìn)行計(jì)算以模擬自動變速器、ATV的懸架系統(tǒng)與地形之間的相互作用、輪胎和地形表面之間的牽引、也許還有油耗、發(fā)動機(jī)過熱或其它細(xì)節(jié)和模擬故障。通常,雖然對于足夠現(xiàn)實(shí)很關(guān)鍵,但是在交換效率中,在這個(gè)細(xì)節(jié)水平上建模只需由管理站計(jì)算,其中詳細(xì)模型的結(jié)果向分布式交互模擬中的其它站公布。
[0008]注意,ATV的操作員可為人類玩家,或者在另一人類玩家不可用或不需要的情況下,操作員可為模擬盟友或敵人的人工智能程序(“Al”)。當(dāng)使用時(shí),Al只是詳細(xì)模型的另一有效組件;管理站維持狀態(tài)并執(zhí)行ATV驅(qū)動Al所需的增量模擬,但是遠(yuǎn)程站只接收結(jié)果O
[0009]在一些情況下,模擬的對象可能是復(fù)雜的并需要運(yùn)動學(xué)模型的復(fù)雜動畫(如與人類、動物或外星人)進(jìn)行鉸接,但是其它對象可相對簡單(例如,木箱或拋射體),在這種情況下,可使用簡單的彈道模型。
[0010]然而,共享來自管理站的詳細(xì)建模的結(jié)果(也稱為更新)存在問題。例如,需要花費(fèi)時(shí)間來把更新分配到不控制對象的遠(yuǎn)程站;且由于這個(gè)等待時(shí)間,模型的更新總是有些“舊”的信息。在所有站正確設(shè)置分布式模擬時(shí)鐘的模擬中,任何更新將在過去某一模擬時(shí)間進(jìn)行時(shí)間戳,但是一般是近期。然而,剛性計(jì)時(shí)系統(tǒng)可把共振引入模型,從而產(chǎn)生視覺假象。另外,維持準(zhǔn)確的時(shí)鐘有時(shí)是不必要的復(fù)雜性的來源且偶爾是錯(cuò)誤的來源。另外,通過不可靠的網(wǎng)絡(luò),更新可被丟失或延遲且到達(dá)時(shí)具有不規(guī)則等待時(shí)間。另外,帶寬限制和模擬中對象的數(shù)量可限制可為每個(gè)對象發(fā)送的更新的數(shù)量,使得更新不像管理站計(jì)算詳細(xì)模擬般頻繁地被提供到遠(yuǎn)程站。
[0011]在每個(gè)站,顯示器向玩家呈現(xiàn)虛擬世界。對于遠(yuǎn)程管理的對象,顯示器通常比更新到達(dá)更頻繁地刷新,而只像更新到達(dá)一樣頻繁地改變遠(yuǎn)程管理對象的顯示將使遠(yuǎn)程管理對象顯得生澀和不真實(shí)。為了緩和這種情況,對象更新與對象更新對應(yīng)的時(shí)間相關(guān)且更新的接受者可推斷在更新后的時(shí)間如何顯示對象。
[0012]為了實(shí)現(xiàn)這個(gè)目標(biāo),更新必須代表對象在特定時(shí)間的狀態(tài)。例如,狀態(tài)可包括對象的位置和方向(一般(但不一定)包括6個(gè)坐標(biāo)軸:X、Y、Z、滾動、俯仰和偏轉(zhuǎn))和具有不同值的其它屬性(例如,前燈是否打開、車輛的發(fā)動機(jī)是否冒煙、未爆炸的手榴彈將爆炸的時(shí)間)。特定時(shí)間對應(yīng)于當(dāng)前狀態(tài)的時(shí)間。
[0013]對象的狀態(tài)究竟包括什么取決于對象的性質(zhì)。對于復(fù)雜鉸接式對象,例如動物,狀態(tài)可包括對象的骨骼關(guān)節(jié)或總結(jié)此類關(guān)節(jié)的動畫循環(huán)的索引。
[0014]在一些情況下,對象可具有多個(gè)操作模式,例如,當(dāng)“動物”對象是活著的時(shí)候,它可由動畫循環(huán)驅(qū)動,但當(dāng)如在狩獵模擬中動物死亡時(shí),鉸接式身體的操作模式變?yōu)榉潘傻倪\(yùn)動學(xué)模型。例如,身體變得癱軟,但是骨骼施加的限制仍然在控制之中。對于具有多個(gè)控制模式的那些對象,狀態(tài)還可包括識別正使用哪個(gè)控制模式。
[0015]在這里,“狀態(tài)”可包括許多屬性,而不僅僅是物理位置、方向(旋轉(zhuǎn))。諸如動畫循環(huán)索引、步行循環(huán)索引等的索引中的一些可能有益于推斷預(yù)測。然而,只瑣細(xì)地推斷諸如車輛的前燈是否打開或是否鳴喇叭的一些屬性。例如,一旦燈打開,它們將保持打開直到更新稱它們關(guān)閉。
[0016]狀態(tài)也可包括用于以提高的精度推斷后續(xù)狀態(tài)的信息,例如線性或旋轉(zhuǎn)軸的速度和線性或旋轉(zhuǎn)軸的加速度。雖然可例如通過把過去的兩個(gè)更新的位置差除以過去的兩個(gè)更新的時(shí)間差來得到速度以進(jìn)行推斷而無需此類提示,但是提供明確的速度或加速度可改善結(jié)果。
[0017]在這里,“狀態(tài)”可包括狀態(tài)信息和/或相對于狀態(tài)獲得的一個(gè)或多個(gè)計(jì)算結(jié)果。
[0018]對于在站管理的對象的模擬的每個(gè)迭代,如果提供了對象中各種自由度的任一自由度,那么新的狀態(tài)源自操作員輸入和詳細(xì)模型執(zhí)行,包括速度和/或加速度值。
[0019]然而,對象的狀態(tài)以低于每迭代一次的頻率從管理站發(fā)送到其它站中的每個(gè)站。例如,如果管理站將每秒30次地更新對象模型,那么如果對象不重要、較遠(yuǎn)、格外一致或只慢慢改變,或者如果有許多對象要更新且/或通信帶寬高度受限,則更新就只可每秒5次或甚至更低頻率(例如,每秒2次)地發(fā)送到其它站。
[0020]基于從管理站接收到的更新,推斷技術(shù)提供關(guān)于遠(yuǎn)程管理對象的狀態(tài)的最佳可用信息和用于預(yù)測它的運(yùn)動(至少在不久的將來)的最佳可用信息。仍然,當(dāng)推斷狀態(tài)基本上超過或達(dá)不到后續(xù)更新中描述的狀態(tài)時(shí),可發(fā)生表觀運(yùn)動中的刺耳的不連續(xù)性。通常這是因?yàn)椴僮鲉T進(jìn)行來自較早更新的推斷并不預(yù)期的突然轉(zhuǎn)向、卡住剎車、躲閃或急轉(zhuǎn)彎以避免碰撞等。
[0021]按模擬的說法,提供對象當(dāng)前狀態(tài)的最佳估計(jì)是“預(yù)測器”的工作,并且“校正器”的工作是以盡可能美觀的方式來隱藏推斷狀態(tài)的明顯不連續(xù)性。
[0022]不幸的是,適用于當(dāng)前的預(yù)測器-校正器系統(tǒng)缺乏用于各種各樣的對象類型的美觀的、看似逼真的行為,或者缺乏用于相同對象類型的但是在各種各樣的條件下的美觀的、看似逼真的行為。結(jié)果是遠(yuǎn)程管理對象的不可預(yù)知的生澀運(yùn)動或行為。對于瞄準(zhǔn)并射擊對象是主要目標(biāo)的模擬,這可使瞄準(zhǔn)變得困難并令人沮喪。類似地,在駕駛或飛行模擬中,這可使跟隨遠(yuǎn)程管理對象變得困難并令人沮喪。因此,需要更好的方式來在分布式交互模擬中呈現(xiàn)遠(yuǎn)程管理對象的移動。本申請?zhí)峁┤绺鶕?jù)以下詳細(xì)描述和附圖將明顯的這個(gè)和其它優(yōu)勢。
【發(fā)明內(nèi)容】
[0023]實(shí)施方案包括用于在多個(gè)計(jì)算設(shè)備上實(shí)質(zhì)上同時(shí)呈現(xiàn)分布式模擬的方法。多個(gè)計(jì)算設(shè)備包括執(zhí)行所述分布式模擬的第一部分的第一計(jì)算設(shè)備。第一部分控制對象。多個(gè)計(jì)算設(shè)備包括執(zhí)行分布式模擬的第二部分的第二計(jì)算設(shè)備。第二部分產(chǎn)生可在第一顯示設(shè)備上顯示的所述對象的第一視覺表示。第二計(jì)算設(shè)備包括與所述對象和所述第一視覺表示相關(guān)的視覺狀態(tài)。視覺狀態(tài)包括至少一個(gè)參數(shù)值。第二計(jì)算設(shè)備從所述第一計(jì)算設(shè)備接收到包括與所述對象的第二視覺表示相關(guān)的先前狀態(tài)的先前更新。第二計(jì)算設(shè)備至少部分基于所述先前狀態(tài)來產(chǎn)生所述對象的預(yù)測狀態(tài)。預(yù)測狀態(tài)包括至少一個(gè)速度和至少一個(gè)參數(shù)值。第二計(jì)算設(shè)備從所述第一計(jì)算設(shè)備接收包括與所述對象的第三視覺表示相關(guān)的新狀態(tài)的更新。新狀態(tài)包括至少一個(gè)參數(shù)值。第二計(jì)算設(shè)備把所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值設(shè)置為等于所述新狀態(tài)的所述至少一個(gè)參數(shù)值,并確定所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值和所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值之間的差異。當(dāng)所述差異大于第一閾值時(shí),所述第二計(jì)算設(shè)備修改所述預(yù)測狀態(tài)的所述至少一個(gè)速度。當(dāng)所述差異大于第二閾值時(shí),所述第二計(jì)算設(shè)備至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的至少一個(gè)參數(shù)值。所述第二計(jì)算設(shè)備至少部分基于所述視覺狀態(tài)渲染所述對象的第四視覺表示并在所述第一顯示設(shè)備上顯示所述對象的所述第四視覺表示。
[0024]所述對象的所述第三視覺表示可由所述第一計(jì)算設(shè)備在第二顯示設(shè)備上顯示,且實(shí)質(zhì)上與所述第一計(jì)算設(shè)備在所述第二顯示設(shè)備上顯示所述對象的所述第三視覺表示同時(shí),所述對象的所述第四視覺表示可由所述第二計(jì)算設(shè)備在所述第一顯示設(shè)備上顯示。
[0025]在一些實(shí)施方案中,所述預(yù)測狀態(tài)是第一預(yù)測狀態(tài),且所述差異是第一差異。在此類實(shí)施方案中,第二計(jì)算設(shè)備可至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)速度來產(chǎn)生第二預(yù)測狀態(tài)(包括至少一個(gè)參數(shù)值)。當(dāng)所述第二差異大于所述第二閾值時(shí),所述第二計(jì)算設(shè)備可至少部分基于所述第二預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值。在此類實(shí)施方案中,所述第二計(jì)算設(shè)備至少部分基于所述視覺狀態(tài)來渲染所述對象的第五視覺表示,并在所述第一顯示設(shè)備上顯示所述對象的所述第五視覺表
/Jn ο
[0026]所述第二計(jì)算設(shè)備可從所述第二計(jì)算設(shè)備可訪問的存儲設(shè)備獲得所述第一閾值。所述對象可具有類型,且所述第一閾值可被存儲在所述存儲設(shè)備上存儲的表中。在此類實(shí)施方案中,所述第一閾值與所述對象在所述表中的所述類型相關(guān)。在一些實(shí)施方案中,所述新狀態(tài)的所述至少一個(gè)參數(shù)值包括至少一個(gè)速度,且修改所述預(yù)測狀態(tài)的所述至少一個(gè)速度包括:獲得與所述對象的所述類型相關(guān)的凹凸值和根據(jù)所述凹凸值、所述差異和所述新狀態(tài)的所述至少一個(gè)速度來計(jì)算所述預(yù)測狀態(tài)的所述至少一個(gè)速度。
[0027]在一些實(shí)施方案中,所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值包括至少一個(gè)速度,且所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值包括至少一個(gè)速度。在此類實(shí)施方案中,確定所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值和所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值之間的所述差異可包括:確定所述預(yù)測狀態(tài)的所述至少一個(gè)速度和所述視覺狀態(tài)的所述至少一個(gè)速度之間的差異。當(dāng)所述新狀態(tài)的所述至少一個(gè)參數(shù)值包括至少一個(gè)速度時(shí),所述預(yù)測狀態(tài)的所述至少一個(gè)速度可被設(shè)置為等于所述新狀態(tài)的所述至少一個(gè)速度。
[0028]在一些實(shí)施方案中,當(dāng)所述差異大于所述第二閾值時(shí)至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值包括:確定所述差異是否大于第三閾值,所述第三閾值大于所述第二閾值。當(dāng)確定所述差異大于所述第三閾值時(shí),所述第二計(jì)算設(shè)備可把所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值設(shè)置為等于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值。當(dāng)所述差異小于所述第三閾值時(shí),所述第二計(jì)算設(shè)備可確定混合狀態(tài)。混合狀態(tài)可至少部分基于所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值和所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值。所述混合狀態(tài)可包括至少一個(gè)參數(shù)值,且所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值可被設(shè)置為等于所述混合狀態(tài)的所述至少一個(gè)參數(shù)值。
[0029]在一些實(shí)施方案中,所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值包括位置信息和方向信息中的至少一個(gè),且所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值包括位置信息和方向信息中的至少一個(gè)。在此類實(shí)施方案中,確定所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值和所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值之間的所述差異可包括:確定所述預(yù)測狀態(tài)的位置信息和方向信息中的所述至少一個(gè)和所述視覺狀態(tài)的位置信息和方向信息中的所述至少一個(gè)之間的差異。當(dāng)所述新狀態(tài)的所述至少一個(gè)參數(shù)值包括位置信息和方向信息中的至少一個(gè)時(shí),所述預(yù)測狀態(tài)的位置信息和方向信息中的至少一個(gè)可被設(shè)置為等于所述新狀態(tài)的位置信息和方向信息中的至少一個(gè)。
[0030]當(dāng)所述差異大于所述第二閾值時(shí)至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值可包括:確定所述差異是否大于第三閾值,其中所述第三閾值大于所述第二閾值。當(dāng)確定所述差異大于所述第三閾值時(shí),所述視覺狀態(tài)的位置信息和方向信息中的所述至少一個(gè)可被設(shè)置為等于所述預(yù)測狀態(tài)的位置信息和方向信息中的所述至少一個(gè)。
[0031]所述對象可具有類型,且所述第三閾值可被存儲在表中且與所述表中的所述對象類型相關(guān)。所述第二計(jì)算設(shè)備可從所述表獲得所述第三閾值。
[0032]當(dāng)所述差異大于所述第二閾值時(shí)至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值可包括:當(dāng)所述差異小于所述第三閾值時(shí),確定混合狀態(tài)。所述混合狀態(tài)可至少部分基于所述視覺狀態(tài)的位置信息和方向信息中的所述至少一個(gè)和所述預(yù)測狀態(tài)的位置信息和方向信息中的所述至少一個(gè)。在此類實(shí)施方案中,所述混合狀態(tài)包括位置信息和方向信息中的至少一個(gè)。在確定所述混合狀態(tài)之后,所述視覺狀態(tài)的位置信息和方向信息中的所述至少一個(gè)可被設(shè)置為等于所述混合狀態(tài)的位置信息和方向信息中的所述至少一個(gè)。
[0033]在所述對象具有類型的實(shí)施方案中,所述混合狀態(tài)可至少部分基于與所述對象的所述類型相關(guān)的一個(gè)或多個(gè)參數(shù)值來確定。所述第二和第三閾值可被存儲在表中且與所述表中的所述對象類型相關(guān)。在此類實(shí)施方案中,所述第二計(jì)算設(shè)備可從所述表獲得所述第
二和第三閾值。
[0034]所述新狀態(tài)的所述至少一個(gè)參數(shù)值可包括所述對象的控制模式,且所述第二計(jì)算設(shè)備可至少部分基于所述對象的所述控制模式來從多個(gè)第一和第二閾值選擇所述第二和第三閾值中的至少一個(gè)。所述選擇也可至少部分基于所述對象的所述類型。
[0035]當(dāng)所述差異大于所述第二閾值時(shí)至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值可包括:確定局部碰撞狀態(tài)和基于所述局部碰撞狀態(tài)來修改所述視覺狀態(tài)。如果所述分布式模擬包括地形,那么所述第二計(jì)算設(shè)備可重復(fù)確定所述局部碰撞狀態(tài)和基于所述局部碰撞狀態(tài)來修改所述視覺狀態(tài),直到所述對象實(shí)質(zhì)上不滲透所述地形。
[0036]在所述第一計(jì)算設(shè)備上執(zhí)行的所述分布式模擬的所述部分可控制所述多個(gè)對象的部分并把與所述多個(gè)對象的所述部分的至少一個(gè)對象有關(guān)的更新發(fā)送到所述第二計(jì)算設(shè)備。在此類實(shí)施方案中,所述第二計(jì)算設(shè)備從所述第一計(jì)算設(shè)備接收包括與所述第一計(jì)算設(shè)備控制的所述多個(gè)對象的所述部分的第一對象有關(guān)的狀態(tài)信息的先前更新。所述第二計(jì)算設(shè)備至少部分基于與所述第一對象有關(guān)的所述狀態(tài)信息來產(chǎn)生并顯示所述第一對象的第一視覺表示。所述第二計(jì)算設(shè)備包括與所述第一對象和所述第一視覺表示相關(guān)的視覺狀態(tài)信息。所述第二計(jì)算設(shè)備從所述第一計(jì)算設(shè)備接收包括狀態(tài)信息的新更新,所述新更新在所述先前更新之后已經(jīng)被接收到。所述第二計(jì)算設(shè)備至少部分基于所述先前更新的所述狀態(tài)信息來確定所述第一對象的預(yù)測狀態(tài)信息。所述預(yù)測狀態(tài)信息包括至少一個(gè)速度值。所述第二計(jì)算設(shè)備確定所述新更新的所述狀態(tài)信息是否與所述第一對象有關(guān)。當(dāng)所述新更新的所述狀態(tài)信息與所述第一對象有關(guān)時(shí),所述第二計(jì)算設(shè)備把所述預(yù)測狀態(tài)信息的至少一部分設(shè)置為等于所述新更新的所述狀態(tài)信息的至少一部分。所述第二計(jì)算設(shè)備確定所述視覺狀態(tài)信息和所述預(yù)測狀態(tài)信息之間的差異。當(dāng)所述差異大于第一閾值時(shí),所述第二計(jì)算設(shè)備修改所述預(yù)測狀態(tài)信息的所述至少一個(gè)速度值,且當(dāng)所述差異大于第二閾值時(shí),所述第二計(jì)算設(shè)備至少部分基于所述預(yù)測狀態(tài)信息來修改所述視覺狀態(tài)信息。所述第二計(jì)算設(shè)備至少部分基于所述視覺狀態(tài)信息來渲染所述對象的第二視覺表示,并在所述顯示設(shè)備上顯示所述對象的所述第二視覺表示。
[0037]在一些實(shí)施方案中,所述預(yù)測狀態(tài)信息是第一預(yù)測狀態(tài)信息,且所述差異是第一差異。在此類實(shí)施方案中,所述第二計(jì)算設(shè)備至少部分基于所述第一預(yù)測狀態(tài)信息的所述至少一個(gè)速度來產(chǎn)生第二預(yù)測狀態(tài)信息,且確定所述視覺狀態(tài)信息和所述第二預(yù)測狀態(tài)信息之間的第二差異。當(dāng)所述第二差異大于所述第二閾值時(shí),所述第二計(jì)算設(shè)備至少部分基于所述第二預(yù)測狀態(tài)信息來修改所述視覺狀態(tài)信息。所述第二計(jì)算設(shè)備至少部分基于所述視覺狀態(tài)信息來渲染所述對象的第三視覺表示,并在所述顯示設(shè)備上顯示所述對象的所述第三視覺表示。
[0038]在一些實(shí)施方案中,在所述第二計(jì)算設(shè)備上執(zhí)行的所述分布式模擬的所述部分控制所述多個(gè)對象的第二部分。在此類實(shí)施方案中,所述第二計(jì)算設(shè)備把與所述多個(gè)對象的所述第二部分的至少一個(gè)對象有關(guān)的更新發(fā)送到所述第一計(jì)算設(shè)備。所述第二計(jì)算設(shè)備可通過用戶接口設(shè)備接收用戶輸入,所述用戶輸入改變所述多個(gè)對象的所述第二部分的選定對象的狀態(tài)。所述第二計(jì)算設(shè)備可創(chuàng)建包括與所述選定對象有關(guān)的狀態(tài)信息的更新,并把與所述選定對象有關(guān)的所述更新發(fā)送到所述第一計(jì)算設(shè)備。在一些實(shí)施方案中,服務(wù)器通過所述網(wǎng)絡(luò)連接到所述多個(gè)計(jì)算設(shè)備。在此類實(shí)施方案中,所述第二計(jì)算設(shè)備可把與所述多個(gè)對象的所述第二部分的至少一個(gè)對象有關(guān)的更新發(fā)送到所述服務(wù)器,從而轉(zhuǎn)發(fā)到所述多個(gè)計(jì)算設(shè)備中的其它計(jì)算設(shè)備。
[0039]一些實(shí)施方案包括一種所述第二計(jì)算設(shè)備從所述第一計(jì)算設(shè)備接收先前更新的方法。所述先前更新包括與所述第一計(jì)算設(shè)備控制的所述多個(gè)對象的所述部分的第一對象有關(guān)的狀態(tài)信息。所述第二計(jì)算設(shè)備至少部分基于與所述第一對象有關(guān)的所述狀態(tài)信息來產(chǎn)生并顯示所述第一對象的第一視覺表示。視覺狀態(tài)信息與所述第一對象和所述第一視覺表示相關(guān)。所述第二計(jì)算設(shè)備在所述先前更新之后接收來自所述第一計(jì)算設(shè)備的新更新。所述新更新包括狀態(tài)信息。所述第二計(jì)算設(shè)備至少部分基于所述先前更新的所述狀態(tài)信息來確定所述第一對象的預(yù)測狀態(tài)信息。所述第二計(jì)算設(shè)備確定所述新更新的所述狀態(tài)信息是否與所述第一對象有關(guān),且當(dāng)所述新更新的所述狀態(tài)信息與所述第一對象有關(guān)時(shí),所述第二計(jì)算設(shè)備把所述預(yù)測狀態(tài)信息的至少一部分設(shè)置為等于所述新更新的所述狀態(tài)信息的至少一部分。所述第二計(jì)算設(shè)備確定所述視覺狀態(tài)信息和所述預(yù)測狀態(tài)信息之間的差異。當(dāng)所述差異大于第一閾值時(shí),所述第二計(jì)算設(shè)備把所述視覺狀態(tài)信息的至少一部分設(shè)置為等于所述預(yù)測狀態(tài)信息的至少一部分。當(dāng)所述差異小于所述第一閾值且大于第二閾值時(shí),所述第二計(jì)算設(shè)備至少部分基于所述視覺狀態(tài)信息和所述預(yù)測狀態(tài)信息來確定混合狀態(tài)信息,并把所述視覺狀態(tài)信息的至少一部分設(shè)置為等于所述混合狀態(tài)信息的至少一部分。所述第一閾值大于所述第二閾值。所述第二計(jì)算設(shè)備至少部分基于所述視覺狀態(tài)信息來渲染所述第一對象的第二視覺表示;并在所述顯示設(shè)備上顯示所述第一對象的所述第二視覺表示。
[0040]一些實(shí)施方案包括一種用于多個(gè)計(jì)算設(shè)備的方法,所述多個(gè)計(jì)算設(shè)備通過網(wǎng)絡(luò)彼此連接且每個(gè)執(zhí)行包括多個(gè)對象的分布式模擬的部分。所述部分在所述多個(gè)計(jì)算設(shè)備中的第一個(gè)上執(zhí)行,所述第一個(gè)計(jì)算設(shè)備控制所述多個(gè)對象的第一部分并把與所述多個(gè)對象的所述第一部分的至少一個(gè)對象有關(guān)的更新發(fā)送到所述多個(gè)計(jì)算設(shè)備中的第二個(gè)。所述部分在所述第二計(jì)算設(shè)備上執(zhí)行,所述第二計(jì)算設(shè)備控制所述多個(gè)對象的第二部分且把與所述多個(gè)對象的所述第二部分的至少一個(gè)對象有關(guān)的更新發(fā)送到所述第一計(jì)算設(shè)備。所述第二計(jì)算設(shè)備渲染所述多個(gè)對象的所述第一部分的第一對象的第一視覺表示和所述多個(gè)對象的所述第二部分的第二對象的第一視覺表示。所述第一對象的所述第一視覺表示與視覺狀態(tài)信息相關(guān)。所述第二計(jì)算設(shè)備通過用戶輸入設(shè)備接收改變所述第二對象的所述第一視覺表示的輸入以及偶爾從所述第一計(jì)算設(shè)備接收所述第二計(jì)算設(shè)備可用以修改所述第一對象的所述第一視覺表示的更新。從所述第一計(jì)算設(shè)備接收到的每個(gè)所述更新包括與所述第一對象有關(guān)的狀態(tài)信息。隨著所述第二對象的所述第一視覺表示改變,所述第二計(jì)算設(shè)備偶爾通過所述網(wǎng)絡(luò)把更新發(fā)送到所述第一計(jì)算設(shè)備。所述更新包括所述第一計(jì)算設(shè)備可用以修改所述第二對象的第二視覺表示的與所述第二對象有關(guān)的狀態(tài)信息。所述第二計(jì)算設(shè)備偶爾產(chǎn)生用于所述第一對象的包括至少一個(gè)速度的預(yù)測狀態(tài)信息。在所述第二計(jì)算設(shè)備上接收到每個(gè)所述更新之后,所述第二計(jì)算設(shè)備把所述預(yù)測狀態(tài)信息設(shè)置為等于所述更新的所述狀態(tài)信息。所述第二計(jì)算設(shè)備確定所述預(yù)測狀態(tài)信息和與所述第一對象的所述第一視覺表示相關(guān)的所述視覺狀態(tài)信息之間的差異。當(dāng)所述差異大于第一閾值時(shí),所述第二計(jì)算設(shè)備通過改變所述至少一個(gè)速度來更新所述預(yù)測狀態(tài)信息。當(dāng)所述差異大于第二閾值時(shí),所述第二計(jì)算設(shè)備至少部分基于所述預(yù)測狀態(tài)信息來修改與所述第一對象的第一視覺表示相關(guān)的所述視覺狀態(tài)信息。所述第二計(jì)算設(shè)備至少部分基于所述視覺狀態(tài)信息來重新渲染所述第二對象的所述第一視覺表示。
[0041]所述第一對象可具有類型,且所述第一和第二閾值可被存儲在表中且與所述對象在所述表中的所述類型相關(guān)。在此類實(shí)施方案中,所述第二計(jì)算設(shè)備可在所述表中查閱所述第一和第二閾值。
[0042]當(dāng)所述差異大于所述第二閾值時(shí)至少部分基于所述預(yù)測狀態(tài)信息來修改與所述第一對象的所述第一視覺表示相關(guān)的所述視覺狀態(tài)信息可包括:當(dāng)所述差異大于第三閾值時(shí),把所述視覺狀態(tài)信息設(shè)置為等于所述預(yù)測狀態(tài)信息。另一方面,當(dāng)所述差異小于所述第三閾值且大于所述第二閾值時(shí),所述第二計(jì)算設(shè)備可至少部分基于所述視覺狀態(tài)信息和所述預(yù)測狀態(tài)信息來確定混合狀態(tài)信息,并把所述視覺狀態(tài)信息設(shè)置為等于所述混合狀態(tài)信息。在此類實(shí)施方案中,所述第三閾值大于所述第二閾值。
[0043]實(shí)施方案包括存儲當(dāng)被一個(gè)或多個(gè)處理器執(zhí)行時(shí)執(zhí)行一個(gè)或多個(gè)上述方法的計(jì)算機(jī)可執(zhí)行指令的一種或多種計(jì)算機(jī)可讀介質(zhì)。例如,存儲當(dāng)被一個(gè)或多個(gè)處理器執(zhí)行時(shí)執(zhí)行用于執(zhí)行分布式模擬的第一部分的第一計(jì)算設(shè)備的方法的計(jì)算機(jī)可執(zhí)行指令的一種或多種計(jì)算機(jī)可讀介質(zhì),所述第一部分控制對象。所述方法包括:執(zhí)行所述分布式模擬的第二部分,所述第二部分產(chǎn)生可在第一顯示設(shè)備上顯示的所述對象的第一視覺表示。視覺狀態(tài)與所述對象和所述第一視覺表示相關(guān)。所述視覺狀態(tài)可包括至少一個(gè)參數(shù)值。所述方法還可包括至少部分基于從所述第一計(jì)算設(shè)備接收到的先前更新中包括的先前狀態(tài)來產(chǎn)生所述對象的預(yù)測狀態(tài)。所述先前狀態(tài)可與所述對象的第二視覺表示相關(guān)。所述預(yù)測狀態(tài)包括至少一個(gè)速度和至少一個(gè)參數(shù)值。所述方法還可包括從所述第一計(jì)算設(shè)備接收更新。所述更新可包括與所述對象的第三視覺表示相關(guān)的新狀態(tài)。所述新狀態(tài)可包括至少一個(gè)參數(shù)值。所述方法還可包括把所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值設(shè)置為等于所述新狀態(tài)的所述至少一個(gè)參數(shù)值和確定所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值和所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值之間的差異。當(dāng)所述差異大于第一閾值時(shí),修改所述預(yù)測狀態(tài)的所述至少一個(gè)速度。當(dāng)所述差異大于第二閾值時(shí),至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的至少一個(gè)參數(shù)值。所述方法還可包括至少部分基于所述視覺狀態(tài)來渲染所述對象的第四視覺表示,并在所述第一顯示設(shè)備上顯示所述對象的所述第四視覺表
/Jn ο
[0044]所述預(yù)測狀態(tài)可為第一預(yù)測狀態(tài),且所述差異可為第一差異。在此類實(shí)施方案中,方法還可包括至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)速度來產(chǎn)生第二預(yù)測狀態(tài)。所述第二預(yù)測狀態(tài)包括至少一個(gè)參數(shù)值。當(dāng)所述第二差異大于第二閾值時(shí),至少部分基于所述第二預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值。所述方法還可包括至少部分基于所述視覺狀態(tài)來渲染所述對象的第五視覺表示,并在所述第一顯示設(shè)備上顯示所述對象的所述第五視覺表示。[0045]當(dāng)所述差異大于所述第二閾值時(shí)至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值可包括:確定所述差異是否大于第三閾值。所述第三閾值大于所述第二閾值。當(dāng)確定所述差異大于所述第三閾值時(shí),把所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值設(shè)置為等于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值。另一方面,當(dāng)確定所述差異小于所述第三閾值時(shí),至少部分基于所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值和所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來確定混合狀態(tài)。所述混合狀態(tài)包括至少一個(gè)參數(shù)值。所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值被設(shè)置為等于所述混合狀態(tài)的所述至少一個(gè)參數(shù)值。
[0046]實(shí)施方案包括一種實(shí)施包括多個(gè)對象的分布式模擬的系統(tǒng)。所述系統(tǒng)包括通過網(wǎng)絡(luò)彼此連接的多個(gè)計(jì)算設(shè)備,每個(gè)計(jì)算設(shè)備被配置以執(zhí)行所述分布式模擬的部分。所述多個(gè)計(jì)算設(shè)備的第一計(jì)算設(shè)備執(zhí)行所述分布式模擬的第一部分,所述分布式模擬的第一部分控制所述多個(gè)對象的部分并把與所述多個(gè)對象的所述部分中至少一個(gè)對象有關(guān)的更新發(fā)送到所述多個(gè)計(jì)算設(shè)備中的第二個(gè)。所述第二計(jì)算設(shè)備可被配置以從所述第一計(jì)算設(shè)備接收包括與所述第一計(jì)算設(shè)備控制的所述多個(gè)對象的所述部分的第一對象有關(guān)的狀態(tài)信息的先前更新。所述第二計(jì)算設(shè)備還可被配置以至少部分基于與所述第一對象有關(guān)的所述狀態(tài)信息來產(chǎn)生所述第一對象的第一視覺表示,并在顯示設(shè)備上顯示所述第一視覺表示。所述第二計(jì)算設(shè)備具有與所述第一對象和所述第一視覺表示相關(guān)的視覺狀態(tài)信息。所述第二計(jì)算設(shè)備還可被配置以從所述第一計(jì)算設(shè)備接收包括狀態(tài)信息的新更新,所述新更新在所述先前更新之后已經(jīng)被接收到。所述第二計(jì)算設(shè)備還可被配置以至少部分基于所述先前更新的所述狀態(tài)信息來確定所述第一對象的預(yù)測狀態(tài)信息,所述預(yù)測狀態(tài)信息包括至少一個(gè)速度值。所述第二計(jì)算設(shè)備還可被配置以確定所述新更新的所述狀態(tài)信息是否與所述第一對象有關(guān),且當(dāng)所述新更新的所述狀態(tài)信息與所述第一對象有關(guān)時(shí),把所述預(yù)測狀態(tài)信息的至少一部分設(shè)置為等于所述新更新的所述狀態(tài)信息的至少一部分。所述第二計(jì)算設(shè)備還可被配置以確定所述視覺狀態(tài)信息和所述預(yù)測狀態(tài)信息之間的差異。當(dāng)所述差異大于第一閾值時(shí),所述第二計(jì)算設(shè)備可修改所述預(yù)測狀態(tài)信息的所述至少一個(gè)速度值。當(dāng)所述差異大于第二閾值時(shí),所述第二計(jì)算設(shè)備可至少部分基于所述預(yù)測狀態(tài)信息來修改所述視覺狀態(tài)信息。所述第二計(jì)算設(shè)備至少部分基于所述視覺狀態(tài)信息來渲染所述對象的第二視覺表示,并在所述顯示設(shè)備上顯示所述對象的所述第二視覺表示。
[0047]在所述預(yù)測狀態(tài)信息是第一預(yù)測狀態(tài)信息的實(shí)施方案中,所述差異是第一差異,所述第二計(jì)算設(shè)備還可被配置以至少部分基于所述第一預(yù)測狀態(tài)信息的所述至少一個(gè)速度來產(chǎn)生第二預(yù)測狀態(tài)信息,并確定所述視覺狀態(tài)信息和所述第二預(yù)測狀態(tài)信息之間的第二差異。當(dāng)所述第二差異大于所述第二閾值時(shí),所述第二計(jì)算設(shè)備可至少部分基于所述第二預(yù)測狀態(tài)信息來修改所述視覺狀態(tài)信息。所述第二計(jì)算設(shè)備至少部分基于所述視覺狀態(tài)信息來渲染所述對象的第三視覺表示,并在所述顯示設(shè)備上顯示所述對象的所述第三視覺表不。
[0048]在所述第二計(jì)算設(shè)備上執(zhí)行的所述分布式模擬的所述部分可控制所述多個(gè)對象的第二部分。在此類實(shí)施方案中,所述第二計(jì)算設(shè)備還可被配置以把與所述多個(gè)對象的所述第二部分的至少一個(gè)對象有關(guān)的更新發(fā)送到所述第一計(jì)算設(shè)備。所述第二計(jì)算設(shè)備可被配置以通過用戶接口設(shè)備接收用戶輸入(所述用戶輸入改變所述多個(gè)對象的所述第二部分的選定對象的狀態(tài))、創(chuàng)建包括與所述選定對象有關(guān)的狀態(tài)信息的更新并把與所述選定對象有關(guān)的更新發(fā)送到所述第一計(jì)算設(shè)備。所述系統(tǒng)可包括通過所述網(wǎng)絡(luò)連接到所述多個(gè)計(jì)算設(shè)備的服務(wù)器。所述第二計(jì)算設(shè)備可被配置以把與所述多個(gè)對象的所述第二部分的至少一個(gè)對象有關(guān)的更新發(fā)送到所述服務(wù)器,從而轉(zhuǎn)發(fā)到所述多個(gè)計(jì)算設(shè)備中的其它計(jì)算設(shè)備。
【專利附圖】
【附圖說明】
[0049]本發(fā)明的方面將在結(jié)合附圖考慮了下文詳細(xì)描述之后變得明顯,在整個(gè)附圖中,相同的參考數(shù)字代表相同的部分,以及在附圖中:
[0050]圖1是用于分布式交互模擬的系統(tǒng)的方塊圖;
[0051]圖2是示出在圖1的系統(tǒng)的兩個(gè)站之間共享的分布式交互模擬的本地表示的圖;
[0052]圖3是圖1的系統(tǒng)的控制臺的部分的方塊圖,示出了預(yù)測器-內(nèi)插器模塊和它們的互連;
[0053]圖4是可由圖1的系統(tǒng)的至少一部分執(zhí)行的遠(yuǎn)程管理對象狀態(tài)內(nèi)插過程的流程圖;
[0054]圖5A是適于管理在不同的模式和條件下操作的第一示范性類型(稱為全地形車類型)的示范性動態(tài)對象的標(biāo)準(zhǔn)和參數(shù)的表;
[0055]圖5B是適于管理在不同的模式和條件下操作的第二示范性類型(稱為飛行類型)的示范性動態(tài)對象的標(biāo)準(zhǔn)和參數(shù)的表;以及
[0056]圖6是可實(shí)施圖1的系統(tǒng)的游戲控制臺中一個(gè)或多個(gè)的硬件環(huán)境和操作環(huán)境的圖。
【具體實(shí)施方式】
[0057]當(dāng)描述分布式模擬時(shí),在本文中以舉例的方式且為了便于討論而使用計(jì)算機(jī)游戲的上下文。然而,本文描述的系統(tǒng)和方法的適用性不限于用于計(jì)算機(jī)游戲且可用于其它類型的分布式模擬。另外,對于所討論的實(shí)施方案,不假設(shè)分布式時(shí)鐘。相反,基于具有典型等待時(shí)間的持續(xù)更新流的高質(zhì)量預(yù)測可用以產(chǎn)生分布式交互模擬的連貫呈現(xiàn)。如果等待時(shí)間在很短的時(shí)間間隔差別很大,那么此類假設(shè)的結(jié)果可降級,但是仍然可提供大體一致且令人滿意的共享模擬。雖然本文描述的系統(tǒng)和方法可相對于在所有站具有相同幀速率和更新率的分布式模擬進(jìn)行操作,但是這不是假定也不是必需的。因此,在所討論的實(shí)施方案中,在每個(gè)站的分布式模擬的每個(gè)連續(xù)增量不對應(yīng)于“現(xiàn)在”以外的特定的時(shí)間或時(shí)間戳,且即使由于上文在發(fā)明背景部分討論的等待時(shí)間和限制,同時(shí)發(fā)生在現(xiàn)實(shí)世界中的更新也將會在短暫等待時(shí)間之后在所有參與站發(fā)生,一個(gè)站管理的對象所產(chǎn)生的更新的影響可能不能在一些其它站看到直到一些迭代之后。
[0058]通過非限定概述,接受關(guān)于分布式交互模擬的對象的遠(yuǎn)程控制、基于物理的模型的更新。在關(guān)于對象的預(yù)定條件下,確定、縮放脈沖或“速度凹凸(bump)”并把脈沖或“速度凹凸”添加到更新以形成對模擬對象的正確位置的當(dāng)前預(yù)測?;谖锢淼哪M的每個(gè)后續(xù)迭代提供新的預(yù)測狀態(tài),直到接收到新的更新。維持單獨(dú)的視覺模型以緩和預(yù)測或更新狀態(tài)中的可見的不連續(xù)性。然而,視覺模型朝向當(dāng)前預(yù)測不斷收斂,其中視覺模型的新狀態(tài)從之前的狀態(tài)、它與當(dāng)前預(yù)測的差異和關(guān)于代表的對象的某些預(yù)定標(biāo)準(zhǔn)和參數(shù)來確定。也與視覺模型相關(guān)聯(lián)的是檢測與其它對象尤其是拋射體的互動的碰撞系統(tǒng)??偟膩碚f,這些特征提供(例如,當(dāng)追趕或瞄準(zhǔn)模擬車輛時(shí))看上去比現(xiàn)有分布式交互模擬更真實(shí)和更正確的更美觀的視覺呈現(xiàn)。
[0059]參看圖1,分布式交互模擬系統(tǒng)100包括指定為用戶(未示出)本地的站的本地站110,和多個(gè)遠(yuǎn)程站140,所有所述站都可通過網(wǎng)絡(luò)120(例如,因特網(wǎng))與服務(wù)器130通信。在示出的實(shí)施方案中,遠(yuǎn)程站140包括遠(yuǎn)程站140AU40B和140C。然而,這不是必需的且遠(yuǎn)程站140可包括任何數(shù)量的遠(yuǎn)程站。如下文所闡釋,站110、140A、140B和140C可選擇性地彼此通信。
[0060]使用分布式游戲系統(tǒng)的實(shí)例,服務(wù)器130是游戲網(wǎng)絡(luò)服務(wù)器,從而允許在每個(gè)連接站的用戶彼此發(fā)現(xiàn)并安排和參加游戲。
[0061]站110、140A、140B、140C中的每個(gè)站包括可分別實(shí)施為游戲控制臺111、142、144、146的計(jì)算設(shè)備。以非限制性實(shí)例的方式,游戲控制臺111、142、144、146可各自實(shí)施為由華盛頓州雷蒙德的微軟公司制造的Xbox360。另外,站110、140A、140B、140C中的每個(gè)站分別包括控制器113、143、145、147。雖然站110、140A、140B、140C中的每個(gè)站也包括顯示器,但是圖1中只示出了本地站110的顯示器112。本地站110的控制臺111通過連接121與服務(wù)器130通信。遠(yuǎn)程站140的控制臺142、144、146分別通過連接122、123、124與服務(wù)器130通信。
[0062]在一些實(shí)施方案中,控制臺111可分別通過通信信道152、153、154直接與控制臺142、144、146中的每一個(gè)通信,而控制臺111、142、144、146在諸如計(jì)算機(jī)游戲的分布式交互模擬中連接在一起。在其它實(shí)施方案中,服務(wù)器130處理站110、140A、140B、140C之間的通信。此類實(shí)施方案也可適合具有許多站的非常大的模擬,因?yàn)樯蟼鲙捦ǔ1认螺d帶寬更有限,而從本地站110到遠(yuǎn)程站140中每個(gè)站的通信量與從遠(yuǎn)程站140到本地站110的通信量大致相同。通過允許服務(wù)器130從本地控制臺111有效地“播放”更新到遠(yuǎn)程控制臺142、144、146中每一個(gè),從控制臺111緩解相當(dāng)大的傳輸負(fù)擔(dān)。然而,為簡化進(jìn)一步討論的目的,我們將集中于兩個(gè)控制臺111和142且只考慮它們之間的通信而不管是否由服務(wù)器130調(diào)解。然而,如本領(lǐng)域那些普通技術(shù)人員所理解,控制臺111、142、144、146中的任何對之間的通信可用類似方式來操作。
[0063]因此,在圖2中,示出分布式交互模擬的一些內(nèi)部運(yùn)作??刂婆_111和142中的每一個(gè)把分布式模擬的對應(yīng)的本地表示保持為數(shù)據(jù)??刂婆_111上保持的本地表示示出為本地模擬200??刂婆_142上保持的本地表示示出為本地模擬250。分布式模擬包括靜態(tài)對象和動態(tài)對象。本地模擬200、250中的每一個(gè)包括分布式模擬的靜態(tài)和動態(tài)對象中每一個(gè)的單獨(dú)的對象。例如,本地模擬200包括對應(yīng)于本地模擬250中靜態(tài)對象251的靜態(tài)對象201。類似地,本地模擬200包括分別對應(yīng)于本地模擬250中靜態(tài)對象252、253、254的動態(tài)對象 202、203、204。
[0064]控制臺111、142、144、146中的每一個(gè)負(fù)責(zé)控制特定對象。例如,控制臺111處的玩家可使用控制器113來向本地模型控制模塊220提供輸入,從而控制動態(tài)對象202 (例如,模擬車輛)。在這個(gè)實(shí)例中,本地模型控制模塊220也控制動態(tài)對象204,動態(tài)對象204例如可為地雷、拋射體、爆炸、盒子或其它動態(tài)對象。通常包括地形和一般建筑物的靜態(tài)對象201是靜態(tài)的且不受控制器113控制。偶爾(例如,定期),本地模型控制模塊220 (例如,通過信道152)把更新152A發(fā)送到遠(yuǎn)程控制臺142中的遠(yuǎn)程模型控制模塊280。遠(yuǎn)程模型控制模塊280負(fù)責(zé)控制本地模擬250中的動態(tài)對象252和254,動態(tài)對象252和254與本地模擬200中的動態(tài)對象202和204相同。
[0065]對于控制器111負(fù)責(zé)的動態(tài)對象(例如,動態(tài)對象202和204)的至少一部分中的每一個(gè),每個(gè)更新152A可包括動態(tài)對象的識別、動態(tài)對象的類型信息和所識別的動態(tài)對象的狀態(tài)信息,所述狀態(tài)信息可包括動態(tài)對象的操作模式(例如,“受控制”或“未受控制”)的指示。在一些實(shí)施方案中,所述信息可被包括在一個(gè)或多個(gè)更新中。
[0066]相反,本地模型控制模塊270接收來自游戲控制器143的輸入以管理動態(tài)對象253 (例如,另一車輛)。從本地模型控制模塊270發(fā)送到遠(yuǎn)程模型控制模塊230的更新152B用以控制本地模擬200中動態(tài)對象的至少一部分。在這個(gè)實(shí)例中,更新152B控制對象203,借此,控制臺142的對象253 (例如,用戶“駕駛”的車輛)作為對象203出現(xiàn)在具有控制臺111的站110上。
[0067]對于控制器142負(fù)責(zé)的動態(tài)對象(例如,動態(tài)對象253)的至少一部分中的每一個(gè),每個(gè)更新152B可包括動態(tài)對象的識別、動態(tài)對象的類型信息和所識別的動態(tài)對象的狀態(tài)信息,所述狀態(tài)信息可包括動態(tài)對象的操作模式(例如,“受控制”或“未受控制”)的指示。在一些實(shí)施方案中,所述信息可被包括在一個(gè)或多個(gè)更新中。
[0068]本地模擬250中的靜態(tài)對象251對應(yīng)于本地模擬200中的對象201。
[0069]圖3示出當(dāng)遠(yuǎn)程模型控制模塊230在預(yù)測器模塊310上接收來自控制臺142的更新152B時(shí)控制臺111的遠(yuǎn)程模型控制模塊230的內(nèi)部運(yùn)作300。
[0070]預(yù)測器模塊310獲得最近接收到的更新152B并把它與規(guī)則表321中對應(yīng)更新152B中代表的對象(例如,動態(tài)對象203)的預(yù)定值作比較。為了便于說明,最近接收到的更新代表動態(tài)對象203。如果在本地視覺狀態(tài)323和最近的遠(yuǎn)程模擬更新之間存在足夠的差異,那么從所述差異和規(guī)則表321中關(guān)于動態(tài)對象203的進(jìn)一步的信息來確定脈沖或“凹凸”,且所述脈沖或“凹凸”被應(yīng)用到動態(tài)對象203的物理模型。這有效地增大了用以推斷動態(tài)對象203在后續(xù)迭代中的未來狀態(tài)的某些速度矢量。這在下文結(jié)合圖4、圖5A和圖5B更詳細(xì)地描述。預(yù)測器模塊310為動態(tài)對象203運(yùn)行詳細(xì)的物理模型,從而允許在本地模擬200的后續(xù)迭代中更好地進(jìn)行預(yù)測。被應(yīng)用到本地物理表示的凹凸有點(diǎn)類似于圖像處理中的“銳化”,其中不連續(xù)性增強(qiáng)了一定量。在這個(gè)情況下,凹凸被作為脈沖注入物理模型,且它的效果將只在本地模擬200的后續(xù)迭代中看得見。當(dāng)新的更新152B到達(dá)時(shí),本地模擬200的下一迭代使用如在新的更新中表示的遠(yuǎn)程管理動態(tài)對象253的狀態(tài),且可添加速度凹凸以產(chǎn)生新的預(yù)測狀態(tài)311。在本地模擬200的后續(xù)迭代中,詳細(xì)物理模擬從當(dāng)前預(yù)測狀態(tài)311進(jìn)行推斷以獲得新的預(yù)測狀態(tài)311。
[0071]然而,如果本地預(yù)測狀態(tài)311直接用以驅(qū)動顯示器112,那么每次新的遠(yuǎn)程模擬更新152B到達(dá)時(shí)本地預(yù)測狀態(tài)311的流暢動作中可能有不連續(xù)性,因?yàn)樾碌倪h(yuǎn)程模擬更新152B可能包括之前的更新152B沒有預(yù)料到的信息。
[0072]為了解決這個(gè)問題,內(nèi)插器模塊320試圖使用規(guī)則表321來以美觀的方式把本地視覺狀態(tài)323移向當(dāng)前本地預(yù)測狀態(tài)311。本地視覺狀態(tài)323的之前的值被用作基礎(chǔ),使得通常當(dāng)新的更新152B不連續(xù)地影響本地預(yù)測狀態(tài)311時(shí),由用于顯示器112的渲染模塊350產(chǎn)生的對象的圖像示出美觀的動作,其中通常帶有被偽裝的不連續(xù)性。因此,視覺狀態(tài)323隨時(shí)間推移不斷收斂成當(dāng)前預(yù)測狀態(tài)311。
[0073]內(nèi)插器模塊320也維持局部碰撞狀態(tài)322。然而,不是渲染對象供玩家查看,而是對象的碰撞量隨視覺模型邏輯移動。這改善了使用拋射武器模擬瞄準(zhǔn)和車輛碰撞的真實(shí)性。世界上對象的“硬度”是適當(dāng)?shù)那覍?yīng)于對象的位置。例如,對象可在看到它的地方被射擊(如由拋射體碰撞檢測模塊340所檢測),或者在復(fù)雜的內(nèi)插器模塊310中,看上去撞到障礙物的車輛損壞所述障礙物(或者被障礙物損壞)且可從所述障礙物反彈,從而影響本地視覺狀態(tài)323。
[0074]對象運(yùn)動的外觀可由凹凸改善,所述凹凸被預(yù)測器模塊310根據(jù)規(guī)則表321中用于對象的標(biāo)準(zhǔn)和參數(shù)注入物理模型,并且標(biāo)準(zhǔn)和參數(shù)也被包括在這里供內(nèi)插器模塊320使用,下文結(jié)合圖4、圖5A和圖5B進(jìn)行了進(jìn)一步的詳細(xì)描述。
[0075]圖4示出了可由遠(yuǎn)程模型控制模塊230 (參看圖2和3)執(zhí)行的過程400。在方塊401,開始本地模擬200的迭代,其中動態(tài)對象203由本地模型控制模塊270遠(yuǎn)程管理。
[0076]接下來,在決定方塊402,關(guān)于是否已經(jīng)從本地模型控制模塊270接收到用于動態(tài)對象203的新的更新152B進(jìn)行確定。如果在決定方塊402的決定是“是”,那么已接收到用于動態(tài)對象203的新的更新152B,且在方塊403,預(yù)測狀態(tài)311被設(shè)置為等于更新中提供的狀態(tài)。然后,遠(yuǎn)程模型控制模塊230進(jìn)行到方塊405。否則,如果在決定方塊402的決定是“否”,那么沒有接收到新的更新152B,且在方塊404,為動態(tài)對象203運(yùn)行詳細(xì)的物理模型以提供用于預(yù)測狀態(tài)311的新值。然后,遠(yuǎn)程模型控制模塊230進(jìn)行到方塊405。
[0077]在方塊405,計(jì)算新的預(yù)測狀態(tài)311和當(dāng)前視覺狀態(tài)323之間的差異。
[0078]在過程400的之前的迭代中,可能已經(jīng)設(shè)置了本地視覺狀態(tài)323,但是如果未初始化,那么可用預(yù)測狀態(tài)311的當(dāng)前值來設(shè)置本地視覺狀態(tài)323。即使沒有這樣做,那么過程400也將有意地迅速收斂到用于視覺狀態(tài)323的適當(dāng)值。
[0079]然后,遠(yuǎn)程模型控制模塊230進(jìn)行到?jīng)Q定方塊406。當(dāng)在方塊402上已經(jīng)有新的更新152B且在方塊405上計(jì)算出的差異超過用于指示動態(tài)對象203的當(dāng)前操作模式的一個(gè)或多個(gè)值時(shí),在決定方塊406上的決定是“是”。當(dāng)在決定方塊406上的決定是“是”時(shí),在方塊407,脈沖或“速度凹凸”(或“凹凸”)被應(yīng)用到預(yù)測狀態(tài)。這并不移動動態(tài)對象203的預(yù)測“物理”表示,但改變表示的速度以在方塊404在物理模型的未來迭代中產(chǎn)生不同結(jié)果。然后,遠(yuǎn)程模型控制模塊230進(jìn)行到?jīng)Q定方塊408。
[0080]當(dāng)在決定方塊406的決定是“否”時(shí),遠(yuǎn)程模型控制模塊230進(jìn)行到?jīng)Q定方塊408。
[0081]不管在方塊407是否應(yīng)用凹凸,在決定方塊408,過程繼續(xù),其中關(guān)于差異是否大于關(guān)于動態(tài)對象203和它相關(guān)本地預(yù)測狀態(tài)311的規(guī)則表321的部分中的預(yù)定“大”值進(jìn)行檢查。圖5A和圖5B以及以下相關(guān)討論中提供了在決定方塊408執(zhí)行的檢查的更詳細(xì)描述。如果在決定方塊408確定差異“大”,那么在決定方塊408的決定是“是”,且過程在方塊409繼續(xù)。另一方面,如果在決定方塊408的決定是“否”,那么過程在決定方塊410繼續(xù)。
[0082]在方塊409,用于視覺狀態(tài)323的新值被確定為預(yù)測狀態(tài)311的當(dāng)前值,且對象的呈現(xiàn)將“偏轉(zhuǎn)”(例如,立即跳轉(zhuǎn))到新的位置。然后,在方塊412,把這個(gè)新確定的值應(yīng)用到視覺狀態(tài)323。
[0083]在一些實(shí)施方案中,在方塊412,當(dāng)對象模型適應(yīng)新的狀態(tài)時(shí),進(jìn)一步修改更新的視覺狀態(tài),例如,可通過地形跟蹤過程來調(diào)整車輛的車輪,以保持車輪明顯與地面接觸,或者當(dāng)車輛“躍起”(即,當(dāng)新的視覺狀態(tài)定義的位置和方向把車輪放置得足夠高于地形)時(shí)使車輪似乎從暫停適當(dāng)?shù)貟炱稹?br>
[0084]至少在分層根上,與新確定的視覺狀態(tài)323基本一致的是局部碰撞狀態(tài)322。SP,技術(shù)人員定義來檢測對障礙物或拋射體的影響的碰撞量與技術(shù)人員提供來渲染對象的視覺模型具有基本上期望的關(guān)系。通常,碰撞量相對于渲染模塊350提供的視覺模型大大簡化,以例如在拋射體碰撞檢測模塊340中使對象對地形、對象對對象和對象對拋射體干擾的計(jì)算大幅簡化。
[0085]在一些實(shí)施方案中,局部碰撞狀態(tài)322可由內(nèi)插器模塊320使用甚至迭代地使用,以例如在方塊412調(diào)整視覺狀態(tài),從而確保對象似乎并不滲透地形。
[0086]最后,用于對視覺狀態(tài)323和碰撞狀態(tài)322進(jìn)行這些額外的調(diào)整的過程可根據(jù)對象的每個(gè)種類或類型而不同,且實(shí)質(zhì)上是美學(xué)建模決定。
[0087]在對視覺狀態(tài)323進(jìn)行調(diào)整結(jié)束之后,在方塊413,關(guān)于動態(tài)對象203的過程400結(jié)束。
[0088]然而,如果在決定方塊408,檢查發(fā)現(xiàn)差異不“大”(即,在決定方塊408的決定是“否”),那么在決定方塊410,進(jìn)行檢查以確定差異是否大于預(yù)定“小”值,其中適當(dāng)“小”值是由動態(tài)對象203的預(yù)測狀態(tài)311選自規(guī)則表321。再者,圖5A和圖5B以及下文相關(guān)討論中提供了在決定方塊408上執(zhí)行的檢查的更詳細(xì)描述。如果差異大于“小”值,那么在決定方塊410的決定是“是”,且在方塊411,用于視覺狀態(tài)323的新值被確定為當(dāng)前視覺狀態(tài)323和當(dāng)前預(yù)測狀態(tài)的“混合”(或加權(quán)平均),其中關(guān)于動態(tài)對象203的預(yù)測狀態(tài)的加權(quán)和其它限制來自規(guī)則表321,規(guī)則表321中具有不同值來用于比較并操縱視覺狀態(tài)323的位置和旋轉(zhuǎn)部分。然后,在方塊412應(yīng)用用于視覺狀態(tài)323的新值。
[0089]但是,如果差異不超過在決定方塊410檢查的“小”值,那么在決定方塊410的決定是“否”,并且不進(jìn)行修改且視覺狀態(tài)323在這個(gè)迭代中保持不變。在決定方塊410執(zhí)行的關(guān)于小差異的測試或檢查視覺上促使對象“停住”。在這個(gè)情況下,在方塊413,用于關(guān)于動態(tài)對象203的這個(gè)迭代的過程400結(jié)束。
[0090]在不同實(shí)施方案中,或者甚至只是對于不同類型(或種類)的對象,或者對于同一對象但是在不同模式下,在決定方塊406、408和410執(zhí)行的關(guān)于在方塊405確定的差異的量值的測試或檢查可使用集體測量,或可只分析如規(guī)則表321中所反映的差異的某些部分。例如,位置的線性測量難以與旋轉(zhuǎn)(方向)的測量作比較。因此,狀態(tài)的位置和旋轉(zhuǎn)部分常分開比較,且在一些實(shí)施方案中,如果任一部分超過每個(gè)部分的對應(yīng)預(yù)定值,那么確定整個(gè)差異已超過。在一些實(shí)施方案中,或?qū)τ谝恍ο螅恢玫钠渌糠挚杀徽J(rèn)為很重要且在規(guī)則表321中被給定特定的值。例如,對于跳躍的兩足動物(例如,人、外星人等),他們的地面軌跡可能需要對差異的更嚴(yán)格限制,地面軌跡即他們在χ-y平面上的位置而不是他們相對于χ-y平面的高度。對于諸如可跳躍的兩足動物的對象,單獨(dú)的預(yù)定值可更嚴(yán)格地從差異中投影在x-y平面上的所述部分觸發(fā),其中具有用于差異的整體位置部分的整體較寬松(即,較大)的預(yù)定值(即,在xyz平面上)。
[0091]圖5A和圖5B各自提供規(guī)則表321的不范性部分。圖5A包括用于第一動態(tài)對象類型(稱為模擬全地形車(“ATV”)類型對象500)的示范性標(biāo)準(zhǔn)和參數(shù)。圖5B包括用于第二動態(tài)對象類型(稱為飛行類型對象530)的示范性標(biāo)準(zhǔn)和參數(shù)。圖5A和圖5B中提供的標(biāo)準(zhǔn)和參數(shù)例如是實(shí)施且不意欲為限制性的。另外,規(guī)則表321可包括用于不同和/或另外的動態(tài)對象類型的部分。規(guī)則表321可被實(shí)施為單個(gè)表或多個(gè)表。
[0092]參看圖5A,在一些實(shí)施方案中,規(guī)則表321的部分510被指定用于模擬全地形車(“ATV”)類型對象500對象,且包括對應(yīng)于在決定方塊406、408和410執(zhí)行的測試或檢查的若干預(yù)定值和用于在方塊411修改視覺狀態(tài)323 (例如,混合)和在方塊407修改預(yù)測狀態(tài)311的參數(shù),所有的預(yù)定值和參數(shù)都適于供遠(yuǎn)程模型控制模塊230在過程400中處理例如動態(tài)對象203的ATV類型對象時(shí)使用。
[0093]在決定方塊408中使用用于ATV類型對象500的標(biāo)準(zhǔn)511 (例如,用于動態(tài)對象203)。在決定方塊408關(guān)于來自方塊402的差異是否大于“大”值的確定被分成三個(gè)比較。第一比較是差異的xyz部分的量值是否大于3個(gè)世界單位(“WU”)的值(在這個(gè)示范性實(shí)施中,用類似于米或英尺但在模擬中為方便表示而選擇的“世界單位”進(jìn)行線性測量,在這些模擬實(shí)例中,一個(gè)WU對應(yīng)于現(xiàn)實(shí)世界中大約2.5m)。第二比較是差異的xy部分的量值是否大于100WU的值。注意,如果xy部分大于100WU,那么當(dāng)然來自第一比較的xyz部分大于三。這個(gè)比較可充當(dāng)用于禁止對ATV類型對象500進(jìn)行xy比較的程序員的速記。如果xy差異可用于這個(gè)類型的對象,那么用于xy差異的值將需要小于用于xyz差異的值。第三比較是差異的角部分是否大于180度。如果這三個(gè)比較中任何比較發(fā)現(xiàn)差異的對應(yīng)部分超過標(biāo)準(zhǔn)511中規(guī)定的值,那么在決定方塊408的確定是差異超過“大”值(或者在決定方塊408的決定是“是”)且在方塊409偏轉(zhuǎn)將隨之而來。
[0094]規(guī)則表321的部分510的列521和522提供不同預(yù)定值和參數(shù),供類型ATV的對象(例如,ATV類型對象500)被控制與未被控制的情況下使用。列521提供當(dāng)類型ATV的對象被控制時(shí)使用的預(yù)定值和參數(shù),且列522提供當(dāng)類型ATV的對象未被控制時(shí)使用的預(yù)定值和參數(shù)。在這個(gè)實(shí)施方案中,當(dāng)玩家的輸入(例如,來自游戲控制器143)影響本地模型控制模塊(例如,本地模型控制模塊270)時(shí),或者如之前所討論,如果Al或其它操作員過程影響模型,那么對象“被控制”。在“被控制”或“未被控制”很重要的情況下,遠(yuǎn)程模擬更新(諸如更新152B)將指示操作模式。
[0095]在決定方塊410執(zhí)行的測試或檢查中使用用于ATV類型對象500的標(biāo)準(zhǔn)512 (例如,對于動態(tài)對象203)。在決定方塊410關(guān)于來自方塊402的差異是否大于“小”值的確定被分成兩個(gè)比較,其中用于比較的值來自列521或522,這取決于最近的遠(yuǎn)程模擬更新152B中指示的操作模式。第一比較是差異的xyz部分或旋轉(zhuǎn)(方向)部分的量值是否分別大于值0.5WU或45度。在這個(gè)實(shí)例中,動態(tài)對象203 “被控制”或“未被控制”并不重要,因?yàn)樵诹?21和522中的值相同。注意,為了有效,值(0.5WU、45度)必須各自比標(biāo)準(zhǔn)511中對應(yīng)的值(3WU、180度)小。第二比較是當(dāng)對象的預(yù)測狀態(tài)311移動得足夠緩慢(例如,小于
0.lWU/s和8度/s)時(shí)對差異使用更嚴(yán)格公差(例如,當(dāng)處于“被控制”模式時(shí),0.03WU、4度,或者當(dāng)處于“未被控制”模式時(shí),0.03WU或6度)的混合比較。因此,如果差異太大,那么決定方塊410觸發(fā)在方塊411的混合,但是所述比較可取決于速度。移動得更加緩慢的對象可要求較小的差異。
[0096]如果在方塊411需要混合,那么用來自部分513的關(guān)于動態(tài)對象203的參數(shù)和限制執(zhí)行混合?;旌习褋碜苑綁K405的差異的小部分添加到視覺狀態(tài)323以在方塊412獲得新的視覺狀態(tài),但是所述小部分應(yīng)該是什么可具有足夠美觀的效果且可需要在不同情況下進(jìn)行調(diào)整。在這個(gè)實(shí)施方案中,對于ATV類型對象500,界定速度上限閾值和下限閾值(速度上限閾值和下限閾值可根據(jù)操作模式而不同,但在這個(gè)實(shí)例中并不這樣)。對于等于或低于速度下限閾值的速度,添加到視覺狀態(tài)323的關(guān)于差異的位置和旋轉(zhuǎn)部分的所述小部分被給出作為標(biāo)記為“下限閾值處的差異的小部分”的條目。類似地,對于等于或高于速度上限閾值的速度,所述小部分取自標(biāo)記為“上限閾值處的差異的小部分”的條目。對于速度上限閾值和下限閾值之間的速度,所述小部分可根據(jù)上限和下限閾值小部分內(nèi)插。例如,對于預(yù)測具有速度5WU/s和旋轉(zhuǎn)O度/s的處于“被控制”模式的動態(tài)對象203,用于位置的混合的差異的所述小部分可使用以下公式來計(jì)算:
[0097](預(yù)測速度-速度下限閾值)/(速度上限閾值-速度下限閾值)*(上限閾值處的小部分-下限閾值處的小部分)+ (下限閾值處的小部分)。
[0098]使用以上公式,在以上實(shí)例中,用于位置的混合的差異的小部分是0.4:
[0099](5-0) / (10-0) * (0.03-0.05) + (0.05) = 5/10* (-0.02) + (0.05) = 0.04。
[0100]當(dāng)混合旋轉(zhuǎn)時(shí)用于待應(yīng)用的小部分的類似計(jì)算可使用指示旋轉(zhuǎn)的值,但是在這個(gè)情況下,因?yàn)樾D(zhuǎn)速度等于或低于速度下限閾值(O),所以直接使用給定為0.04的下限閾值處的差異的小部分。
[0101]對混合的最后的限制定義為對預(yù)測狀態(tài)311的最小接近速率。其中,如果預(yù)測狀態(tài)311的速度等于或低于下限閾值,那么需要當(dāng)前視覺狀態(tài)323朝向預(yù)測狀態(tài)311的特定最小收斂速度。為當(dāng)預(yù)測狀態(tài)的速度等于或大于上限閾值時(shí)提供對應(yīng)的值,并且再次,對于在上限和下限閾值之間的速度,可用類似于上述方式的方式內(nèi)插部分513中給定的所需最小收斂速度參數(shù)。
[0102]一旦已經(jīng)確定適當(dāng)?shù)男〔糠郑鼈兊揭曈X狀態(tài)323的位置和旋轉(zhuǎn)的應(yīng)用借助于笛卡爾內(nèi)插法用于位置部分以及借助于球形線性內(nèi)插法(也稱為為“Slerp”)用于旋轉(zhuǎn)部分。Slerp實(shí)施可以使用四元數(shù)表示用于旋轉(zhuǎn),但這不是嚴(yán)格要求的。
[0103]在決定方塊406中使用用于ATV類型對象500的標(biāo)準(zhǔn)514 (例如,對于動態(tài)對象203)。在決定方塊406關(guān)于是否在方塊402已經(jīng)使用新的更新和來自方塊405的差異是否“足夠”以保證凹凸的確定是混合比較,其中用于比較的值來自列521或522,這取決于最近的遠(yuǎn)程模擬更新152B中指示的操作模式。在這個(gè)實(shí)施方案中,正如上述的混合比較,執(zhí)行測試來看對象的預(yù)測狀態(tài)311是否移動得比閾值快(在部分514,標(biāo)記為“如果速度>”)或者差異(標(biāo)記為“或者xyz位置或旋轉(zhuǎn)差異”)是否足夠大。如果在決定方塊406的任何比較發(fā)現(xiàn)將要超過的對應(yīng)參數(shù),那么決定方塊406確定差異的確“足夠”且在方塊407執(zhí)行凹凸。
[0104]在部分515中給定用于凹凸的參數(shù)。在這個(gè)實(shí)施方案中,凹凸是差異乘以比例因子(標(biāo)記為“凹凸由差異X”),所述比例因子有效地具有秒的倒數(shù)的單位,因?yàn)榘纪沟闹凳窃诜綁K407添加到預(yù)測狀態(tài)311的速度。一旦用于凹凸的值以這種方式來確定,它就還受制于部分515的參數(shù)內(nèi)標(biāo)記為“但不小于”和“不大于”的限制,從而允許設(shè)計(jì)者限制凹凸的效果。一般說來,如果允許凹凸大,那么凹凸的效果可能視覺上不合適。然而,當(dāng)凹凸本來就小或者以其它方式被限制時(shí),結(jié)果是實(shí)質(zhì)改善了遠(yuǎn)程模型控制模塊230控制的對象的美觀行為。[0105]通過進(jìn)一步舉例,圖5B示出規(guī)則表321中對應(yīng)于飛行類型對象530 (圖2示出的本地模擬200和250中未示出的對象類型)的部分540。返回到圖5B,在部分540中,列551和552各自包括分別對應(yīng)于與圖5A的列521和522中包括的列相同控制模式的列。標(biāo)準(zhǔn)541,542和544分別以與標(biāo)準(zhǔn)511,512和514相同的方式來使用。部分543和545中的參數(shù)分別以與部分513和515中的參數(shù)相同的方式來使用。規(guī)則表321中提供的標(biāo)準(zhǔn)和參數(shù)的差異可例如由設(shè)計(jì)者憑經(jīng)驗(yàn)設(shè)置。標(biāo)準(zhǔn)中的每一個(gè)確定哪些條件將使過程400的某些元素應(yīng)用,且每個(gè)參數(shù)可影響視覺結(jié)果。
[0106]計(jì)算設(shè)備
[0107]圖6是游戲控制臺111、142、144、146中一個(gè)或多個(gè)的實(shí)施可結(jié)合硬件和操作環(huán)境實(shí)踐的圖。圖6的描述旨在提供可實(shí)踐實(shí)施的合適的計(jì)算機(jī)硬件和合適的計(jì)算環(huán)境的簡短的一般的描述。雖然不是必需的,但是實(shí)施是在由處理器執(zhí)行的諸如程序模塊的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述的。通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)嵤┨囟ǔ橄髷?shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。
[0108]此外,本領(lǐng)域那些技術(shù)人員將了解,實(shí)施可使用其它計(jì)算機(jī)系統(tǒng)配置來實(shí)踐,包括手持設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程的消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)等。實(shí)施也可在分布式計(jì)算環(huán)境中實(shí)踐,其中任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備執(zhí)行。在分布式計(jì)算環(huán)境中,程序模塊可位于本地和遠(yuǎn)程存儲器存儲設(shè)備中。
[0109]圖6的示范性硬件和操作環(huán)境包括呈計(jì)算設(shè)備12形式的通用計(jì)算設(shè)備。計(jì)算設(shè)備12可為常規(guī)游戲控制臺、移動電話、平板計(jì)算機(jī)、常規(guī)計(jì)算機(jī)、分布式計(jì)算機(jī)或任何其它類型的計(jì)算機(jī)。游戲控制臺111、142、144、146可各自與計(jì)算設(shè)備12基本上相同。然而,這并不是必需的。
[0110]計(jì)算設(shè)備12包括系統(tǒng)存儲器22、處理單元21和把包括系統(tǒng)存儲器22的各種系統(tǒng)組件操作性地耦接到處理單元21的系統(tǒng)總線23。可能只有一個(gè)或者可能有超過一個(gè)的處理單元21,使得計(jì)算設(shè)備12的處理器包括單一中央處理單元(“CPU”),或通常被稱為并行處理環(huán)境的多個(gè)處理單元。當(dāng)使用多個(gè)處理單元時(shí),處理單元可能是異構(gòu)的。以非限制性實(shí)例的方式,所述異構(gòu)處理環(huán)境可包括常規(guī)CPU、常規(guī)圖形處理單元(“GPU”)、浮點(diǎn)單元(“FPU”)、它們的組合等。
[0111]系統(tǒng)總線23可為若干類型的總線結(jié)構(gòu)中的任何總線結(jié)構(gòu),包括存儲器總線或存儲器控制器、外圍總線和使用各種總線結(jié)構(gòu)中的任一的本地總線。系統(tǒng)存儲器22也可簡單地稱為存儲器,且包括只讀存儲器(ROM) 24和隨機(jī)存取存儲器(RAM) 25。包括諸如在啟動期間幫助在計(jì)算設(shè)備12中的元件之間傳遞信息的基本例程的基本輸入/輸出系統(tǒng)(BIOS) 26存儲在ROM 24中。計(jì)算設(shè)備12還包括用于從硬盤(未示出)讀取或?qū)懭胨鲇脖P的硬盤驅(qū)動器27、用于從移動磁盤29讀取或?qū)懭胨鲆苿哟疟P的磁盤驅(qū)動器28和用于從諸如CDROM、DVD或其它光學(xué)媒體的移動光盤31讀取或?qū)懭胨鲆苿庸獗P的光盤驅(qū)動器30。
[0112]硬盤驅(qū)動器27、磁盤驅(qū)動器28和光盤驅(qū)動器30分別由硬盤驅(qū)動器接口 32、磁盤驅(qū)動器接口 33和光盤驅(qū)動器接口 34連接到系統(tǒng)總線23。所述驅(qū)動器和它們相關(guān)的計(jì)算機(jī)可讀媒體提供對計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和計(jì)算設(shè)備12的其它數(shù)據(jù)的非易失性存儲。本領(lǐng)域那些技術(shù)人員應(yīng)理解,示范性操作環(huán)境中可使用可存儲計(jì)算機(jī)可訪問的數(shù)據(jù)的任何類型的計(jì)算機(jī)可讀媒體,諸如盒式磁帶、閃存卡、固態(tài)存儲器設(shè)備(“SSD”)、USB驅(qū)動器、數(shù)字視頻盤、伯努利墨盒、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)等。如對于本領(lǐng)域那些普通技術(shù)人員明顯的,硬盤驅(qū)動器27和處理單元21可訪問的其它形式的計(jì)算機(jī)可讀媒體(例如,移動磁盤29、移動光盤31、閃存卡、SSD、USB驅(qū)動器等)可被認(rèn)為是系統(tǒng)存儲器22的組件。
[0113]若干程序模塊可存儲在硬盤驅(qū)動器27、磁盤29、光盤31、R0M24或RAM 25上,包括操作系統(tǒng)35、一個(gè)或多個(gè)應(yīng)用程序36、其它程序模塊37和程序數(shù)據(jù)38。用戶可通過諸如鍵盤40和指針設(shè)備42的輸入設(shè)備把命令和信息輸入計(jì)算設(shè)備12。參看圖1,輸入設(shè)備包括控制器113、143、145、147。輸入設(shè)備的非限制性實(shí)例包括麥克風(fēng)、操縱桿、游戲墊、衛(wèi)星天線、掃描儀、觸摸敏感設(shè)備(例如,手寫筆、觸摸屏、觸摸板等)、視頻攝像頭、深度攝像頭等。這些和其它輸入設(shè)備常通過耦接到系統(tǒng)總線23的串行接口 46連接到處理單元21,但也可通過其它接口連接,諸如并行端口、游戲端口、通用串行總線(USB)或無線接口(例如,藍(lán)牙接口)。
[0114]顯示器47或其它類型的顯示設(shè)備(例如,圖1示出的顯示器112)也可通過諸如視頻適配器48的接口連接到系統(tǒng)總線23。顯示器112可實(shí)施為電視、顯示屏、觸摸屏等。除了顯示器47以外,計(jì)算機(jī)通常包括其它外圍輸出設(shè)備(未示出),諸如揚(yáng)聲器、打印機(jī)和提供觸覺和/或其它類型的物理反饋的觸覺設(shè)備(例如,力反饋游戲控制器)。
[0115]上文所述的輸入設(shè)備可操作以接收用戶輸入和選擇。輸入和顯示設(shè)備一起可描述為提供用戶接口。
[0116]計(jì)算設(shè)備12可使用到諸如遠(yuǎn)程計(jì)算機(jī)49的一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯連接來在網(wǎng)絡(luò)環(huán)境中操作。如上文所闡述,游戲控制臺111、142、144、146中的兩個(gè)或更多個(gè)可通過網(wǎng)絡(luò)120選擇性地彼此連接。這些邏輯連接由耦接到計(jì)算設(shè)備12或計(jì)算設(shè)備12的部分的通信設(shè)備(作為本地計(jì)算機(jī))來實(shí)現(xiàn)。實(shí)施不限于特定類型的通信設(shè)備。遠(yuǎn)程計(jì)算機(jī)49可為另一計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、客戶端、存儲器存儲設(shè)備、對端設(shè)備或其它公共網(wǎng)絡(luò)節(jié)點(diǎn),且通常包括上文相對于計(jì)算設(shè)備12描述的許多或所有元件。遠(yuǎn)程計(jì)算機(jī)49可連接到存儲器存儲設(shè)備50。圖6示出的邏輯連接包括局域網(wǎng)(LAN)51和廣域網(wǎng)(WAN)52。所述網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)范圍內(nèi)的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和互聯(lián)網(wǎng)中很常見。
[0117]本領(lǐng)域那些普通技術(shù)人員將理解,LAN可通過使用電話網(wǎng)絡(luò)、有線網(wǎng)絡(luò)、蜂窩網(wǎng)絡(luò)或電源線上的載波信號的調(diào)制解調(diào)器連接到WAN。所述調(diào)制解調(diào)器可通過網(wǎng)絡(luò)接口(例如,串行接口或其它類型的接口)連接到計(jì)算設(shè)備12。另外,許多筆記本計(jì)算機(jī)可通過蜂窩數(shù)據(jù)調(diào)制解調(diào)器連接到網(wǎng)絡(luò)。
[0118]當(dāng)用于LAN-網(wǎng)絡(luò)環(huán)境中時(shí),計(jì)算設(shè)備12通過網(wǎng)絡(luò)接口或適配器53 (—種類型的通信設(shè)備)連接到局域網(wǎng)51。當(dāng)用于WAN-網(wǎng)絡(luò)環(huán)境中時(shí),計(jì)算設(shè)備12通常包括調(diào)制解調(diào)器54( —種類型的通信設(shè)備)或用于通過諸如因特網(wǎng)的廣域網(wǎng)52建立通信的任何其它類型的通信設(shè)備??赡苁莾?nèi)部或外部的調(diào)制解調(diào)器54通過串行接口 46連接到系統(tǒng)總線23。在網(wǎng)絡(luò)環(huán)境中,相對于個(gè)人計(jì)算設(shè)備12或它的部分示出的程序模塊可存儲在遠(yuǎn)程計(jì)算機(jī)49和/或遠(yuǎn)程存儲器存儲設(shè)備50中。應(yīng)理解,示出的網(wǎng)絡(luò)連接是示范性的,且可使用它的其它構(gòu)件和用于在計(jì)算機(jī)之間建立通信連接的通信設(shè)備。
[0119]本文以特定舉例的方式且通過抽象的方式提供了計(jì)算設(shè)備12和相關(guān)組件以促進(jìn)所公開概念的高層次的視圖。實(shí)際的技術(shù)設(shè)計(jì)和實(shí)施可在維持所公開概念的整體性質(zhì)的同時(shí)基于特定實(shí)施而改變。
[0120]在一些實(shí)施方案中,系統(tǒng)存儲器22存儲當(dāng)被一個(gè)或多個(gè)處理器執(zhí)行時(shí)使一個(gè)或多個(gè)處理器執(zhí)行過程400的所有或部分的計(jì)算機(jī)可執(zhí)行指令。所述指令可存儲在一個(gè)或多個(gè)非臨時(shí)性計(jì)算機(jī)可讀媒體上。
[0121]正如所有此類系統(tǒng),系統(tǒng)的特定特征、用戶接口的細(xì)節(jié)和過程的執(zhí)行可例如取決于用以實(shí)施系統(tǒng)的架構(gòu)、所選服務(wù)器的操作系統(tǒng)、所選網(wǎng)絡(luò)的帶寬和其它屬性和編寫的軟件代碼。根據(jù)本教導(dǎo),本文具體示出并描述的所述實(shí)施方案的各種另外的修改對于本領(lǐng)域那些普通技術(shù)人員將變得明顯。
[0122]上述實(shí)施方案描述了不同其它組件中包括的不同組件或與不同其它組件連接的不同組件。應(yīng)理解,所述架構(gòu)僅僅是示范性的,且實(shí)際上可實(shí)施實(shí)現(xiàn)相同的功能的許多其它架構(gòu)。在概念意義上,實(shí)現(xiàn)相同的功能的組件的任何設(shè)置被有效地“關(guān)聯(lián)”,使得實(shí)現(xiàn)所期望的功能。因此,本文中組合來實(shí)現(xiàn)特定功能的任何兩個(gè)組件可視為彼此“相關(guān)”,使得實(shí)現(xiàn)期望功能,而不管架構(gòu)或中間組件。同樣地,如此相關(guān)的任何兩個(gè)組件也可視為彼此“可操作地連接”或“可操作地耦接”以實(shí)現(xiàn)所期望的功能。
[0123]雖然已示出并描述了本發(fā)明的特定實(shí)施方案,基于本文的教導(dǎo),可在不脫離本發(fā)明和它的更廣泛方面的情況下進(jìn)行改變和修改對于本領(lǐng)域那些技術(shù)人員將變得明顯,因此,所附權(quán)利要求書將把所有所述改變和修改包括在它們的范圍中如包括在本發(fā)明的真正的精神和范圍中。此外,應(yīng)理解,本發(fā)明僅由所附權(quán)利要求書定義。本領(lǐng)域那些技術(shù)人員將理解,通常本文使用的術(shù)語,特別是所附權(quán)利要求書(例如,所附權(quán)利要求書的主體)中使用的術(shù)語,一般旨在為“開放性”術(shù)語(例如,術(shù)語“包括”應(yīng)理解為“包括但不限于”,術(shù)語“具有”應(yīng)理解為“至少具有”,術(shù)語“包括”應(yīng)理解為“包括但不限于”等)。本領(lǐng)域那些技術(shù)人員還將理解,如果計(jì)劃特定數(shù)量的引入權(quán)利要求記載,所述意圖將在權(quán)利要求中明確記載,且在缺乏所述記載的情況下,不存在所述意圖。例如,為了幫助理解,以上所附權(quán)利要求書可包括使用介紹性短語“至少一個(gè)”和“一個(gè)或多個(gè)”來引入權(quán)利要求記載。然而,所述短語的使用不應(yīng)理解為暗示不定冠詞“一個(gè)(a/an) ”引入的權(quán)利要求記載把包括所述引入的權(quán)利要求記載的任何特定權(quán)利要求限制為只包括一個(gè)所述記載的發(fā)明,即使當(dāng)相同權(quán)利要求包括介紹性的短語“一個(gè)或多個(gè)”或“至少一個(gè)”和諸如“一個(gè)(a/an) ”的不定冠詞(例如,“一個(gè)(a/an)”通常應(yīng)理解為意指“至少一個(gè)”或“一個(gè)或多個(gè)”);這同樣適用于用以引入權(quán)利要求記載的定冠詞的使用。另外,即使明確敘述了特定數(shù)量的引入的權(quán)利要求記載,本領(lǐng)域那些技術(shù)人員將認(rèn)識到,所述敘述應(yīng)通常理解為意指至少所記載的數(shù)量(例如,只記載“兩個(gè)記載”而沒有其它修改,通常意指至少兩個(gè)記載,或者兩個(gè)或更多個(gè)記載)。
[0124]因此,本發(fā)明僅由所附的權(quán)利要求書限制。
【權(quán)利要求】
1.一種用于在多個(gè)計(jì)算設(shè)備實(shí)質(zhì)上同時(shí)呈現(xiàn)分布式模擬的方法,所述多個(gè)計(jì)算設(shè)備包括執(zhí)行所述分布式模擬的第一部分的第一計(jì)算設(shè)備,所述第一部分控制對象,所述方法包括: a)在所述多個(gè)計(jì)算設(shè)備中的第二個(gè)上執(zhí)行所述分布式模擬的第二部分,所述第二部分產(chǎn)生可在第一顯示設(shè)備上顯示的所述對象的第一視覺表示,所述第二計(jì)算設(shè)備包括與所述對象和所述第一視覺表示相關(guān)的視覺狀態(tài),所述視覺狀態(tài)包括至少一個(gè)參數(shù)值,所述第二計(jì)算設(shè)備已經(jīng)從所述第一計(jì)算設(shè)備接收到包括與所述對象的第二視覺表示相關(guān)的先前狀態(tài)的先前更新; b)至少部分基于所述先前狀態(tài)在所述第二計(jì)算設(shè)備上產(chǎn)生所述對象的預(yù)測狀態(tài),所述預(yù)測狀態(tài)包括至少一個(gè)速度和至少一個(gè)參數(shù)值; c)在所述第二計(jì)算設(shè)備上從所述第一計(jì)算設(shè)備接收更新,所述更新包括與所述對象的第三視覺表示相關(guān)的新狀態(tài),所述新狀態(tài)包括至少一個(gè)參數(shù)值; d)在所述第二計(jì)算設(shè)備上把所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值設(shè)置為等于所述新狀態(tài)的所述至少一個(gè)參數(shù)值; e)所述第二計(jì)算設(shè)備確定所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值和所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值之間的差異; f)當(dāng)所述差異大于第一閾值時(shí),所述第二計(jì)算設(shè)備修改所述預(yù)測狀態(tài)的所述至少一個(gè)速度; g)當(dāng)所述差異大于第二閾值時(shí),所述第二計(jì)算設(shè)備至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的至少一個(gè)參數(shù)值; h)所述第二計(jì)算設(shè)備至少部分基于所述視覺狀態(tài)渲染所述對象的第四視覺表示;和 i)所述第二計(jì)算設(shè)備在所述第一顯示設(shè)備上顯示所述對象的所述第四視覺表示。
2.如權(quán)利要求1所述的方法,其中所述預(yù)測狀態(tài)是第一預(yù)測狀態(tài),所述差異是第一差異,且所述方法還包括: 所述第二計(jì)算設(shè)備至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)速度來產(chǎn)生第二預(yù)測狀態(tài),所述第二預(yù)測狀態(tài)包括至少一個(gè)參數(shù)值; 當(dāng)所述第二差異大于所述第二閾值時(shí),所述第二計(jì)算設(shè)備至少部分基于所述第二預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值; 所述第二計(jì)算設(shè)備至少部分基于所述視覺狀態(tài)來渲染所述對象的第五視覺表示;和 所述第二計(jì)算設(shè)備在所述第一顯示設(shè)備上顯示所述對象的所述第五視覺表示。
3.如權(quán)利要求1所述的用于所述第一計(jì)算設(shè)備在第二顯示設(shè)備上顯示所述對象的所述第三視覺表示的方法,其中實(shí)質(zhì)上與所述第一計(jì)算設(shè)備在所述第二顯示設(shè)備上顯示所述對象的所述第三視覺表示同時(shí),所述對象的所述第四視覺表示由所述第二計(jì)算設(shè)備在所述第一顯示設(shè)備上顯示。
4.如權(quán)利要求1所述的方法,其還包括: 所述第二計(jì)算設(shè)備從所述第二計(jì)算設(shè)備可訪問的存儲設(shè)備獲得所述第一閾值。
5.如權(quán)利要求4所述的方法,其中所述對象具有類型,以及 所述第一閾值被存儲在所述存儲設(shè)備上存儲的表中,所述第一閾值與所述對象在所述表中的所述類型相關(guān)。
6.如權(quán)利要求1所述的方法,其中所述對象具有類型, 所述新狀態(tài)的所述至少一個(gè)參數(shù)值包括至少一個(gè)速度,以及 所述第二計(jì)算設(shè)備修改所述預(yù)測狀態(tài)的所述至少一個(gè)速度包括:獲得與所述對象的所述類型相關(guān)的凹凸值,和根據(jù)所述凹凸值、所述差異和所述新狀態(tài)的所述至少一個(gè)速度來計(jì)算所述預(yù)測狀態(tài)的所述至少一個(gè)速度。
7.如權(quán)利要求1所述的方法,其中所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值包括至少一個(gè)速度, 所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值包括至少一個(gè)速度,以及 確定所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值和所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值之間的所述差異包括:確定所述預(yù)測狀態(tài)的所述至少一個(gè)速度和所述視覺狀態(tài)的所述至少一個(gè)速度之間的差異。
8.如權(quán)利要求7所述的方法,其中所述新狀態(tài)的所述至少一個(gè)參數(shù)值包括至少一個(gè)速度,以及 所述預(yù)測狀態(tài)的所述至少一個(gè)速度被設(shè)置為等于所述新狀態(tài)的所述至少一個(gè)速度。
9.如權(quán)利要求1所述的方法,其中所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值包括位置信息和方向信息中的至少一個(gè); 所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值包括位置信息和方向信息中的至少一個(gè);以及 確定所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值和所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值之間的所述差異包括:確定所述預(yù)測狀態(tài)的位置信息和方向信息中的所述至少一個(gè)和所述視覺狀態(tài)的位置信息和方向信息中的所述至少一個(gè)之間的差異。
10.如權(quán)利要求9所述的方法,其中所述新狀態(tài)的所述至少一個(gè)參數(shù)值包括位置信息和方向信息中的至少一個(gè),以及 所述預(yù)測狀態(tài)的位置信息和方向信息中的所述至少一個(gè)被設(shè)置為等于所述新狀態(tài)的位置信息和方向信息中的所述至少一個(gè)。
11.如權(quán)利要求9所述的方法,其中當(dāng)所述差異大于第二閾值時(shí)至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值還包括: 確定所述差異是否大于第三閾值,所述第三閾值大于所述第二閾值;和 當(dāng)確定所述差異大于所述第三閾值時(shí),把所述視覺狀態(tài)的位置信息和方向信息中的所述至少一個(gè)設(shè)置為等于所述預(yù)測狀態(tài)的位置信息和方向信息中的所述至少一個(gè)。
12.如權(quán)利要求11所述的方法,其中所述對象具有類型, 所述第三閾值被存儲在表中且與所述表中的所述對象類型相關(guān),以及 所述方法還包括所述第二計(jì)算設(shè)備從所述表獲得所述第三閾值。
13.如權(quán)利要求11所述的方法,其中當(dāng)所述差異大于所述第二閾值時(shí)至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值還包括: 當(dāng)所述差異小于所述第三閾值時(shí),所述第二計(jì)算設(shè)備確定混合狀態(tài),所述混合狀態(tài)至少部分基于所述視覺狀態(tài)的位置信息和方向信息中的所述至少一個(gè)和所述預(yù)測狀態(tài)的位置信息和方向信息中的所述至少一個(gè),所述混合狀態(tài)包括位置信息和方向信息中的至少一個(gè),以及 把所述視覺狀態(tài)的位置信息和方向信息中的所述至少一個(gè)設(shè)置為等于所述混合狀態(tài)的位置信息和方向信息中的所述至少一個(gè)。
14.如權(quán)利要求13所述的方法,其中所述對象具有類型,以及 所述混合狀態(tài)是至少部分基于與所述對象的所述類型相關(guān)的一個(gè)或多個(gè)參數(shù)值來確定的。
15.如權(quán)利要求11所述的方法,其中所述對象具有類型, 所述第二和第三閾值被存儲在表中且與所述表中的所述對象類型相關(guān),以及 所述方法還包括所述第二計(jì)算設(shè)備從所述表獲得所述第二和第三閾值。
16.如權(quán)利要求9所述的方法,其中當(dāng)所述差異大于所述第二閾值時(shí)至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值還包括: 當(dāng)所述差異小于第三閾值時(shí),所述第二計(jì)算設(shè)備確定混合狀態(tài),所述混合狀態(tài)至少部分基于所述視覺狀態(tài)的位置信息和方向信息中的所述至少一個(gè)和所述預(yù)測狀態(tài)的位置信息和方向信息中的所述至少一個(gè),所述混合狀態(tài)包括位置信息和方向信息中的至少一個(gè),以及 將所述新的視覺狀態(tài)的位置信息和方向信息中的所述至少一個(gè)設(shè)置為等于所述混合狀態(tài)的位置信息和方向信息中的所述至少一個(gè)。
17.如權(quán)利要求1所述的方法,其中當(dāng)所述差異大于所述第二閾值時(shí)至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值還包括: 確定所述差異是否大于第三閾值,所述第三閾值大于所述第二閾值;和` 當(dāng)確定所述差異大于所述第三閾值時(shí),把所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值設(shè)置為等于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值。
18.如權(quán)利要求17所述的方法,其中當(dāng)所述差異大于所述第二閾值時(shí)至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值還包括: 當(dāng)所述差異小于所述第三閾值時(shí),所述第二計(jì)算設(shè)備確定混合狀態(tài),所述混合狀態(tài)至少部分基于所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值和所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值,所述混合狀態(tài)包括至少一個(gè)參數(shù)值,和 把所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值設(shè)置為等于所述混合狀態(tài)的所述至少一個(gè)參數(shù)值。
19.如權(quán)利要求18所述的方法,其中所述新狀態(tài)的所述至少一個(gè)參數(shù)值包括所述對象的控制模式,且所述方法還包括: 至少部分基于所述對象的所述控制模式來從多個(gè)第一和第二閾值選擇所述第二和第三閾值中的至少一個(gè)。
20.如權(quán)利要求18所述的方法,其中所述對象具有類型,以及 至少部分基于所述對象的所述控制模式來從所述多個(gè)第一和第二閾值選擇所述第二和第三閾值中的所述至少一個(gè)還包括:至少部分基于所述對象的所述類型來從所述多個(gè)第一和第二閾值選擇所述第二和第三閾值中的至少一個(gè)。
21.如權(quán)利要求1所述的方法,其中當(dāng)所述差異大于所述第二閾值時(shí)至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值還包括: 在所述第二計(jì)算設(shè)備上確定局部碰撞狀態(tài);和 基于所述局部碰撞狀態(tài)來在所述第二計(jì)算設(shè)備上修改所述視覺狀態(tài)。
22.如權(quán)利要求21所述的用于包括地形的所述分布式模擬的方法,所述方法還包括: 重復(fù)確定所述局部碰撞狀態(tài)和基于所述局部碰撞狀態(tài)來修改所述視覺狀態(tài),直到所述對象實(shí)質(zhì)上不滲透所述地形。
23.一種用于多個(gè)計(jì)算設(shè)備的方法,所述多個(gè)計(jì)算設(shè)備通過網(wǎng)絡(luò)彼此連接且每個(gè)執(zhí)行包括多個(gè)對象的分布式模擬的部分,所述部分在所述多個(gè)計(jì)算設(shè)備中的第一個(gè)上執(zhí)行,所述第一個(gè)計(jì)算設(shè)備控制所述多個(gè)對象的部分并把與所述多個(gè)對象的所述部分的至少一個(gè)對象有關(guān)的更新發(fā)送到所述多個(gè)計(jì)算設(shè)備中的第二個(gè),所述方法包括: a)在所述第二計(jì)算設(shè)備上,從所述第一計(jì)算設(shè)備接收包括與所述第一計(jì)算設(shè)備控制的所述多個(gè)對象的所述部分的第一對象有關(guān)的狀態(tài)信息的先前更新; b)在所述第二計(jì)算設(shè)備上,至少部分基于與所述第一對象有關(guān)的所述狀態(tài)信息來產(chǎn)生并顯示所述第一對象的第一視覺表示,所述第二計(jì)算設(shè)備包括與所述第一對象和所述第一視覺表不相關(guān)的視覺狀態(tài)?目息; c)在所述第二計(jì)算設(shè)備上,從所述第一計(jì)算設(shè)備接收包括狀態(tài)信息的新更新,所述新更新在所述先前更新之后已經(jīng)被接收到; d)在所述第二計(jì)算設(shè)備上,至少部分基于所述先前更新的所述狀態(tài)信息來確定所述第一對象的預(yù)測狀態(tài)信息,所述預(yù)測狀態(tài)信息包括至少一個(gè)速度值; e)確定所述新更新的所述狀態(tài)信息是否與所述第一對象有關(guān); f)當(dāng)所述第二計(jì)算設(shè)備確定所述新更新的所述狀態(tài)信息與所述第一對象有關(guān)時(shí),把所述預(yù)測狀態(tài)信息的至少一部分設(shè)置為等于所述新更新的所述狀態(tài)信息的至少一部分; g)確定所述視覺狀態(tài)信息和所述預(yù)測狀態(tài)信息之間的差異; h)當(dāng)所述差異大于第一閾值時(shí),`修改所述預(yù)測狀態(tài)信息的所述至少一個(gè)速度值; i)當(dāng)所述差異大于第二閾值時(shí),至少部分基于所述預(yù)測狀態(tài)信息來修改所述視覺狀態(tài)信息; j)所述第二計(jì)算設(shè)備至少部分基于所述視覺狀態(tài)信息來渲染所述對象的第二視覺表示;和 k)所述第二計(jì)算設(shè)備在所述顯示設(shè)備上顯示所述對象的所述第二視覺表示。
24.如權(quán)利要求23所述的方法,其中所述預(yù)測狀態(tài)信息是第一預(yù)測狀態(tài)信息,所述差異是第一差異,且所述方法還包括: 所述第二計(jì)算設(shè)備至少部分基于所述第一預(yù)測狀態(tài)信息的所述至少一個(gè)速度來產(chǎn)生第二預(yù)測狀態(tài)信息; 確定所述視覺狀態(tài)信息和所述第二預(yù)測狀態(tài)信息之間的第二差異; 當(dāng)所述第二差異大于所述第二閾值時(shí),至少部分基于所述第二預(yù)測狀態(tài)信息來修改所述視覺狀態(tài)信息; 所述第二計(jì)算設(shè)備至少部分基于所述視覺狀態(tài)信息來渲染所述對象的第三視覺表示;和 所述第二計(jì)算設(shè)備在所述顯示設(shè)備上顯示所述對象的所述第三視覺表示。
25.如權(quán)利要求23所述的方法,其用于在所述第二計(jì)算設(shè)備上執(zhí)行并控制所述多個(gè)對象的第二部分的所述分布式模擬的所述部分,所述方法還包括: 把與所述多個(gè)對象的所述第二部分的至少一個(gè)對象有關(guān)的更新發(fā)送到所述第一計(jì)算設(shè)備。
26.如權(quán)利要求23所述的方法,其用于在控制所述多個(gè)對象的第二部分的所述第二計(jì)算設(shè)備上執(zhí)行的所述分布式模擬的所述部分,所述方法還包括: 通過用戶接口設(shè)備接收用戶輸入,所述用戶輸入改變所述多個(gè)對象的所述第二部分的選定對象的狀態(tài); 創(chuàng)建包括與所述選定對象有關(guān)的狀態(tài)信息的更新;和 把與所述選定對象有關(guān)的所述更新發(fā)送到所述第一計(jì)算設(shè)備。
27.如權(quán)利要求23所述的方法,其用于通過所述網(wǎng)絡(luò)連接到所述多個(gè)計(jì)算設(shè)備的服務(wù)器的,且所述分布式模擬的所述部分在控制所述多個(gè)對象的第二部分的所述第二計(jì)算設(shè)備上執(zhí)行,所述方法還包括: 把與所述多個(gè)對象的所述第二部分的至少一個(gè)對象有關(guān)的更新發(fā)送到所述服務(wù)器,從而轉(zhuǎn)發(fā)到所述多個(gè)計(jì)算設(shè)備中的其它計(jì)算設(shè)備。
28.一種用于多個(gè)計(jì)算設(shè)備的方法,每個(gè)計(jì)算設(shè)備執(zhí)行包括多個(gè)對象的分布式模擬的部分,所述部分在所述多個(gè)計(jì)算設(shè)備中的第一個(gè)上執(zhí)行,所述第一個(gè)計(jì)算設(shè)備控制所述多個(gè)對象的部分并把與所述多個(gè)對象的所述部分的至少一個(gè)對象有關(guān)的更新發(fā)送到所述多個(gè)計(jì)算設(shè)備中的至少第二個(gè),所述方法包括: a)在所述第二計(jì)算設(shè)備上,從所述第一計(jì)算設(shè)備接收包括與所述第一計(jì)算設(shè)備控制的所述多個(gè)對象的所述部分的第一對象有關(guān)的狀態(tài)信息的先前更新; b)在所述第二計(jì)算設(shè)備上,至少部分基于與所述第一對象有關(guān)的所述狀態(tài)信息來產(chǎn)生并顯示所述第一對象的第一視覺表示,所述第二計(jì)算設(shè)備包括與所述第一對象和所述第一視覺表不相關(guān)的視覺狀態(tài)?目息; c)在所述第二計(jì)算設(shè)備上,從所述第一計(jì)算設(shè)備接收包括狀態(tài)信息的新更新,所述新更新在所述先前更新之后已經(jīng)被接收到; d)在所述第二計(jì)算設(shè)備上,至少部分基于所述先前更新的所述狀態(tài)信息來確定所述第一對象的預(yù)測狀態(tài)信息; e)在所述第二計(jì)算設(shè)備上,確定所述新更新的所述狀態(tài)信息是否與所述第一對象有關(guān); f)當(dāng)所述第二計(jì)算設(shè)備確定所述新更新的所述狀態(tài)信息與所述第一對象有關(guān)時(shí),在所述第二計(jì)算設(shè)備上,把所述預(yù)測狀態(tài)信息的至少一部分設(shè)置為等于所述新更新的所述狀態(tài)信息的至少一部分; g)在所述第二計(jì)算設(shè)備上,確定所述視覺狀態(tài)信息和所述預(yù)測狀態(tài)信息之間的差異; h)當(dāng)所述差異大于第一閾值時(shí),在所述第二計(jì)算設(shè)備上,把所述視覺狀態(tài)信息的至少一部分設(shè)置為等于 所述預(yù)測狀態(tài)信息的至少一部分; i)當(dāng)所述差異小于所述第一閾值且大于第二閾值時(shí),所述第二計(jì)算設(shè)備至少部分基于所述視覺狀態(tài)信息和所述預(yù)測狀態(tài)信息來確定混合狀態(tài)信息,并把所述視覺狀態(tài)信息的至少一部分設(shè)置為等于所述混合狀態(tài)信息的至少一部分,所述第一閾值大于所述第二閾值; j)所述第二計(jì)算設(shè)備至少部分基于所述視覺狀態(tài)信息來渲染所述第一對象的第二視覺表示;和 k)在所述第二計(jì)算設(shè)備上,在所述顯示設(shè)備上顯示所述第一對象的所述第二視覺表/Jn ο
29.一種用于多個(gè)計(jì)算設(shè)備的方法,所述多個(gè)計(jì)算設(shè)備通過網(wǎng)絡(luò)彼此連接且每個(gè)執(zhí)行包括多個(gè)對象的分布式模擬的部分,所述部分在所述多個(gè)計(jì)算設(shè)備中的第一個(gè)上執(zhí)行,所述第一個(gè)計(jì)算設(shè)備控制所述多個(gè)對象的第一部分并把與所述多個(gè)對象的所述第一部分的至少一個(gè)對象有關(guān)的更新發(fā)送到所述多個(gè)計(jì)算設(shè)備中的第二個(gè),所述部分在所述第二計(jì)算設(shè)備上執(zhí)行,所述第二計(jì)算設(shè)備控制所述多個(gè)對象的第二部分并把與所述多個(gè)對象的所述第二部分的至少一個(gè)對象有關(guān)的更新發(fā)送到所述第一計(jì)算設(shè)備,所述方法包括: 在所述第二計(jì)算設(shè)備上,渲染所述多個(gè)對象的所述第一部分的第一對象的第一視覺表示和所述多個(gè)對象的所述第二部分的第二對象的第一視覺表示,所述第一對象的所述第一視覺表不與視覺狀態(tài)?目息相關(guān); 在所述第二計(jì)算設(shè)備上,通過用戶輸入設(shè)備接收改變所述第二對象的所述第一視覺表示的輸入,且偶爾從所述第一計(jì)算設(shè)備接收所述第二計(jì)算設(shè)備可用以修改所述第一對象的所述第一視覺表示的更新,從所述第一計(jì)算設(shè)備接收到的每個(gè)所述更新包括與所述第一對象有關(guān)的狀態(tài)信息; 隨著所述第二對象的所述第一視覺表示改變,在所述第二計(jì)算設(shè)備上,偶爾通過所述網(wǎng)絡(luò)把更新發(fā)送到所述第一計(jì)算設(shè)備,所述更新包括所述第一計(jì)算設(shè)備可用以修改所述第二對象的第二視覺表示的與所述第二對象有關(guān)的狀態(tài)信息; 在所述第二計(jì)算設(shè)備上, 偶爾產(chǎn)生包括至少一個(gè)速度的所述第一對象的預(yù)測狀態(tài)信息; 在所述第二計(jì)算設(shè)備上接收到每個(gè)所述更新之后,把所述預(yù)測狀態(tài)信息設(shè)置為等于所述更新的所述狀態(tài)信息; 在所述第二計(jì)算設(shè)備上,確定所述預(yù)測狀態(tài)信息和與所述第一對象的所述第一視覺表示相關(guān)的所述視覺狀態(tài)信息之間的差異; 在所述第二計(jì)算設(shè)備上,當(dāng)所述差異大于第一閾值時(shí),通過改變所述至少一個(gè)速度來更新所述預(yù)測狀態(tài)信息; 在所述第二計(jì)算設(shè)備上,當(dāng)所述差異大于第二閾值時(shí),至少部分基于所述預(yù)測狀態(tài)信息來修改與所述第一對象的所述第一視覺表示相關(guān)的所述視覺狀態(tài)信息;和 在所述第二計(jì)算設(shè)備上,至少部分基于所述視覺狀態(tài)信息來重新渲染所述第二對象的所述第一視覺表示。
30.如權(quán)利要求29所述的方法,其中所述第一對象具有類型,所述第一和第二閾值被存儲在表中且與所述對象在所述表中的所述類型相關(guān),且所述方法還包括: 在所述第二計(jì)算設(shè)備上,在所述表中查閱所述第一和第二閾值。
31.如權(quán)利要求29所述的方法,其中當(dāng)所述差異大于所述第二閾值時(shí)至少部分基于所述預(yù)測狀態(tài)信息來修改與所述第一對象的所述第一視覺表示相關(guān)的所述視覺狀態(tài)信息包括: 當(dāng)所述差異大于第三閾值時(shí),把所述視覺狀態(tài)信息設(shè)置為等于所述預(yù)測狀態(tài)信息;和當(dāng)所述差異小于所述第三閾值且大于所述第二閾值時(shí),所述第二計(jì)算設(shè)備至少部分基于所述視覺狀態(tài)信息和所述預(yù)測狀態(tài)信息來確定混合狀態(tài)信息,并把所述視覺狀態(tài)信息設(shè)置為等于所述混合狀態(tài)信息,所述第三閾值大于所述第二閾值。
32.存儲計(jì)算機(jī)可執(zhí)行指令的一種或多種計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令當(dāng)被一個(gè)或多個(gè)處理器執(zhí)行時(shí)執(zhí)行用于執(zhí)行分布式模擬的第一部分的第一計(jì)算設(shè)備的方法,所述第一部分控制對象,所述方法包括: 執(zhí)行所述分布式模擬的第二部分,所述第二部分產(chǎn)生可在第一顯示設(shè)備上顯示的所述對象的第一視覺表示,視覺狀態(tài)與所述對象和所述第一視覺表示相關(guān),所述視覺狀態(tài)包括至少一個(gè)參數(shù)值; b)至少部分基于從所述第一計(jì)算設(shè)備接收到的先前更新的先前狀態(tài)來產(chǎn)生所述對象的預(yù)測狀態(tài),所述先前狀態(tài)與所述對象的第二視覺表示相關(guān),所述預(yù)測狀態(tài)包括至少一個(gè)速度和至少一個(gè)參數(shù)值; c)從所述第一計(jì)算設(shè)備接收更新,所述更新包括與所述對象的第三視覺表示相關(guān)的新狀態(tài),所述新狀態(tài)包括至少一個(gè)參數(shù)值; d)把所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值設(shè)置為等于所述新狀態(tài)的所述至少一個(gè)參數(shù)值; e)確定所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值和所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值之間的差異; f)當(dāng)所述差異大于第一閾值時(shí),修改所述預(yù)測狀態(tài)的所述至少一個(gè)速度; g)當(dāng)所述差異大于第二閾值時(shí),至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的至少一個(gè)參數(shù)值; h)至少部分基于所述視覺狀態(tài)來渲染所述對象的第四視覺表示;和 i)在所述第一顯示設(shè)備上顯示所述對象的所述第四視覺表示。
33.如權(quán)利要求32所述的一種或多種計(jì)算機(jī)可讀介質(zhì),其中所述預(yù)測狀態(tài)是第一預(yù)測狀態(tài),所述差異是第一差異,且所述方法還包括: 至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)速度來產(chǎn)生第二預(yù)測狀態(tài),所述第二預(yù)測狀態(tài)包括至少一個(gè)參數(shù)值; 當(dāng)所述第二差異大于第二閾值時(shí),至少部分基于所述第二預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值; 至少部分基于所述視覺狀態(tài)來渲染所述對象的第五視覺表示;和 在所述第一顯示設(shè)備上顯示所述對象的所述第五視覺表示。
34.如權(quán)利要求32所述的一種或多種計(jì)算機(jī)可讀介質(zhì),其中當(dāng)所述差異大于所述第二閾值時(shí)至少部分基于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來修改所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值還包括: 確定所述差異是否大于第三閾值,所述第三閾值大于所述第二閾值;和 當(dāng)確定所述差異大于所述第三閾值時(shí),把所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值設(shè)置為等于所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值;和 當(dāng)確定所述差異小于所述第三閾值時(shí),至少部分基于所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值和所述預(yù)測狀態(tài)的所述至少一個(gè)參數(shù)值來確定混合狀態(tài),所述混合狀態(tài)包括至少一個(gè)參數(shù)值,并把所述視覺狀態(tài)的所述至少一個(gè)參數(shù)值設(shè)置為等于所述混合狀態(tài)的所述至少一個(gè)參數(shù)值。
35.一種用于實(shí)施包括多個(gè)對 象的分布式模擬的系統(tǒng),所述系統(tǒng)包括:通過網(wǎng)絡(luò)彼此連接的多個(gè)計(jì)算設(shè)備,每個(gè)計(jì)算設(shè)備被配置以執(zhí)行所述分布式模擬的部分, 執(zhí)行所述分布式模擬的第一部分的所述多個(gè)計(jì)算設(shè)備的第一計(jì)算設(shè)備,所述分布式模擬的所述第一部分控制所述多個(gè)對象的部分并把與所述多個(gè)對象的所述部分中至少一個(gè)對象有關(guān)的更新發(fā)送到所述多個(gè)計(jì)算設(shè)備中的第二個(gè),所述第二計(jì)算設(shè)備被配置以: 從所述第一計(jì)算設(shè)備接收到包括與所述第一計(jì)算設(shè)備控制的所述多個(gè)對象的所述部分的第一對象有關(guān)的狀態(tài)信息的先前更新; 至少部分基于與所述第一對象有關(guān)的所述狀態(tài)信息來產(chǎn)生所述第一對象的第一視覺表不; 在顯示設(shè)備上顯示所述第一視覺表示,所述第二計(jì)算設(shè)備包括與所述第一對象和所述第一視覺表示相關(guān)的視覺狀態(tài)信息; 從所述第一計(jì)算設(shè)備接收包括狀態(tài)信息的新更新,所述新更新在所述先前更新之后已經(jīng)被接收到; 至少部分基于所述先前更新的所述狀態(tài)信息來確定所述第一對象的預(yù)測狀態(tài)信息,所述預(yù)測狀態(tài)信息包括至少一個(gè)速度值; 確定所述新更新的所述狀態(tài)信息是否與所述第一對象有關(guān); 當(dāng)所述第二計(jì)算設(shè)備確定所述新更新的所述狀態(tài)信息與所述第一對象有關(guān)時(shí),把所述預(yù)測狀態(tài)信息的至少一部分設(shè)置為等于所述新更新的所述狀態(tài)信息的至少一部分; 確定所述視覺狀態(tài)信息和所述預(yù)測狀態(tài)信息之間的差異; 當(dāng)所述差異大于第一閾值時(shí),修改所述預(yù)測狀態(tài)信息的所述至少一個(gè)速度值; 當(dāng)所述差異大于所述第二閾值時(shí),至少部分基于所述預(yù)測狀態(tài)信息來修改所述視覺狀態(tài)息; 至少部分基于所述視覺狀態(tài)信息來渲染所述對象的第二視覺表示;和 在所述顯示設(shè)備上顯示所述對象的所述第二視覺表示。
36.如權(quán)利要求35所述的系統(tǒng),其中所述預(yù)測狀態(tài)信息是第一預(yù)測狀態(tài)信息,所述差異是第一差異,且所述第二計(jì)算設(shè)備還被配置以: 至少部分基于所述第一預(yù)測狀態(tài)信息的所述至少一個(gè)速度來產(chǎn)生第二預(yù)測狀態(tài)信息; 確定所述視覺狀態(tài)信息和所述第二預(yù)測狀態(tài)信息之間的第二差異; 當(dāng)所述第二差異大于所述第二閾值時(shí),至少部分基于所述第二預(yù)測狀態(tài)信息來修改所述視覺狀態(tài)信息; 至少部分基于所述視覺狀態(tài)信息來渲染所述對象的第三視覺表示;和 在所述顯示設(shè)備上顯示所述對象的所述第三視覺表示。
37.如權(quán)利要求35所述的系統(tǒng),其中在所述第二計(jì)算設(shè)備上執(zhí)行的所述分布式模擬的所述部分控制所述多個(gè)對象的第二部分,且所述第二計(jì)算設(shè)備還被配置以把與所述多個(gè)對象的所述第二部分的至少一個(gè)對象有關(guān)的更新發(fā)送到所述第一計(jì)算設(shè)備。
38.如權(quán)利要求35所述的系統(tǒng),其中在所述第二計(jì)算設(shè)備上執(zhí)行的所述分布式模擬的所述部分控制所述多個(gè)對象的第二部分,且所述第二計(jì)算設(shè)備還被配置以: 通過用戶接口設(shè)備接收用戶輸入,所述用戶輸入改變所述多個(gè)對象的所述第二部分的選定對象的狀態(tài); 創(chuàng)建包括與所述選定對象有關(guān)的狀態(tài)信息的更新;和 把與所述選定對象有關(guān)的所述更新發(fā)送到所述第一計(jì)算設(shè)備。
39.如權(quán)利要求35所述的系統(tǒng),其還包括: 通過所述網(wǎng)絡(luò)連接到所述多個(gè)計(jì)算設(shè)備的服務(wù)器,其中在所述第二計(jì)算設(shè)備上執(zhí)行的所述分布式模擬的所述部分控制所述多個(gè)對象的第二部分,所述第二計(jì)算設(shè)備還被配置以把與所述多個(gè)對象的所述第二部分的至少一個(gè)對象有關(guān)的更新發(fā)送到所述服務(wù)器,從而轉(zhuǎn)發(fā)到所述多個(gè)計(jì)算設(shè)備中的其`它計(jì)算設(shè)備。
【文檔編號】A63F13/843GK103732300SQ201280032186
【公開日】2014年4月16日 申請日期:2012年5月3日 優(yōu)先權(quán)日:2011年5月3日
【發(fā)明者】大衛(wèi)·斯科特·奧爾德里奇, 盧克·威爾遜·蒂明斯, 克里斯多佛·查爾斯·約翰·布徹爾 申請人:邦吉有限公司