專(zhuān)利名稱(chēng):實(shí)時(shí)協(xié)作三維資產(chǎn)管理系統(tǒng)的制作方法
實(shí)時(shí)協(xié)作三維資產(chǎn)管理系統(tǒng)
背景技術(shù):
本發(fā)明一般涉及三維資產(chǎn)的管理。三維資產(chǎn)的示例包括視頻游戲和計(jì)算機(jī)生成圖 像的要素。一般而言,結(jié)合視頻游戲和計(jì)算機(jī)生成圖像,內(nèi)容涉及大量的單個(gè)組成部分。例 如,三維建模藝術(shù)家、音效技術(shù)人員以及開(kāi)發(fā)人員可能都對(duì)一個(gè)特定資產(chǎn)的特性有貢獻(xiàn)。開(kāi)發(fā)過(guò)程的復(fù)雜程度可通過(guò)由若干互連的異類(lèi)子系統(tǒng)組成的內(nèi)容創(chuàng)建流水線體 系結(jié)構(gòu)來(lái)反映,這些異類(lèi)子系統(tǒng)包括數(shù)字內(nèi)容創(chuàng)建工具、數(shù)據(jù)優(yōu)化和處理模塊以及壓縮部 件。這些子系統(tǒng)將創(chuàng)作團(tuán)隊(duì)的輸入轉(zhuǎn)換成數(shù)字資產(chǎn)的集合。附圖簡(jiǎn)述
圖1是根據(jù)一個(gè)實(shí)施例的資產(chǎn)管理系統(tǒng)的全局結(jié)構(gòu);圖2是根據(jù)一個(gè)實(shí)施例的圖1所示的沙箱的體系結(jié)構(gòu);圖3是根據(jù)一個(gè)實(shí)施例的通信機(jī)構(gòu);以及圖4是一個(gè)實(shí)施例的流程圖。詳細(xì)描述多個(gè)用戶(hù)可使用相互通信工具與諸如視頻游戲或計(jì)算機(jī)生成圖像電影中的要素 之類(lèi)的給定資產(chǎn)交互。內(nèi)容流水線可由異類(lèi)數(shù)字內(nèi)容創(chuàng)建工具組成,諸如僅舉幾例Maya或 3Ds Max0這些工具中的每一種可能具有不同的開(kāi)放和專(zhuān)有格式。將諸如動(dòng)畫(huà)中的三維角 色之類(lèi)的資產(chǎn)從一種格式轉(zhuǎn)換成另一種格式可能會(huì)在制造過(guò)程中表現(xiàn)出瓶頸。實(shí)現(xiàn)多個(gè)用戶(hù)與此類(lèi)資產(chǎn)交互時(shí)的另一問(wèn)題是數(shù)據(jù)驗(yàn)證。在制作過(guò)程期間,資產(chǎn) 被持續(xù)地插入、更新以及去除。在一些實(shí)施例中,對(duì)輸入數(shù)據(jù)差錯(cuò)的高效檢測(cè)確保系統(tǒng)完整 性。輸入數(shù)據(jù)差錯(cuò)的示例包括損壞的數(shù)據(jù)、丟失的文檔以及相關(guān)資產(chǎn)之間的不兼容。資產(chǎn)的創(chuàng)建可能涉及不同團(tuán)隊(duì)成員的協(xié)作。角色建模者與動(dòng)畫(huà)師協(xié)作,而動(dòng)畫(huà)師 與音效師協(xié)作。因此,在一些實(shí)施例中,需要在內(nèi)容創(chuàng)建流水線的任一階段對(duì)不同數(shù)字資產(chǎn) 的無(wú)縫協(xié)作編輯。最終,游戲和電影資產(chǎn)的協(xié)作編輯可能涉及每個(gè)用戶(hù)可能訪問(wèn)同時(shí)正在被其他用 戶(hù)處理的資產(chǎn)的可能性。在一些實(shí)施例中,此類(lèi)訪問(wèn)可由定義明確的用戶(hù)權(quán)限管理系統(tǒng)來(lái) 控制和管理。在一些實(shí)施例中,可提供諸如在整合或跟蹤項(xiàng)目狀態(tài)以及評(píng)估之前確保所提交更 新的核準(zhǔn)之類(lèi)的任務(wù)。在一些實(shí)施例中,必要時(shí)可產(chǎn)生差錯(cuò)記錄并提供警告。在一些實(shí)施 例中,可提供工作流程信息的自動(dòng)產(chǎn)生和管理機(jī)制。在一個(gè)實(shí)施例中,通信協(xié)議和基礎(chǔ)結(jié)構(gòu)提供三維視頻游戲/電影內(nèi)容創(chuàng)建流水線 之間的無(wú)縫和透明通信。在一些實(shí)施例中,該系統(tǒng)可提供版本控制、自動(dòng)數(shù)據(jù)驗(yàn)證以及差錯(cuò) 檢測(cè)、資產(chǎn)相關(guān)性管理和清單產(chǎn)生、協(xié)作和實(shí)時(shí)資產(chǎn)編輯、以及用戶(hù)權(quán)限管理和工作流程信 息產(chǎn)生和管理。參照?qǐng)D1,主要部件可包括具有全局資產(chǎn)數(shù)據(jù)庫(kù)12的全局資產(chǎn)服務(wù)器10。全局資 產(chǎn)服務(wù)器10是管理全局資產(chǎn)數(shù)據(jù)庫(kù)12的服務(wù)器應(yīng)用程序。沙箱14是服務(wù)器10的代理。沙箱14可在本地?cái)?shù)據(jù)庫(kù)16中本地存儲(chǔ)全局?jǐn)?shù)據(jù)庫(kù)資產(chǎn)的子集。一旦存儲(chǔ)在沙箱14中,這 些資產(chǎn)就可由客戶(hù)機(jī)應(yīng)用程序訪問(wèn),且可并發(fā)并且實(shí)時(shí)地更新。最終,諸如應(yīng)用程序18、20以及22之類(lèi)的客戶(hù)機(jī)應(yīng)用程序消費(fèi)資產(chǎn)或更新那些資產(chǎn)。因此,在一些實(shí)施例中,全局資產(chǎn)服務(wù)器10和沙箱14協(xié)作以提供權(quán)限管理、檢入 和檢出、版本控制、清單產(chǎn)生、數(shù)據(jù)驗(yàn)證、資產(chǎn)相關(guān)性以及工作流程信息。在一些實(shí)施例中, 沙箱14可與每個(gè)應(yīng)用程序18、20或22協(xié)作以提供用戶(hù)權(quán)限管理、并發(fā)或部分訪問(wèn)、實(shí)時(shí)協(xié) 作資產(chǎn)、編輯、數(shù)據(jù)驗(yàn)證以及資產(chǎn)相關(guān)性管理。轉(zhuǎn)到圖2,沙箱14可包括服務(wù)器側(cè)體系結(jié)構(gòu)26、網(wǎng)絡(luò)28以及客戶(hù)機(jī)側(cè)30。服務(wù)器 側(cè)26可包括本地?cái)?shù)據(jù)庫(kù)16中的極速標(biāo)記語(yǔ)言(extreme markup language) (XML)數(shù)據(jù)庫(kù) 34。也可使用其他語(yǔ)言。數(shù)據(jù)庫(kù)34包含在引用外部文件集合時(shí)存儲(chǔ)的針對(duì)圖像、視頻以及
聲音資產(chǎn)的三維資產(chǎn)。在一個(gè)實(shí)施例中,可根據(jù)協(xié)作設(shè)計(jì)活動(dòng)(C0LLADA)規(guī)范來(lái)存儲(chǔ)三維資產(chǎn)。參 見(jiàn)可從美國(guó)俄勒岡州比弗頓市的Khronos集團(tuán)獲得的C0LLADA1. 5規(guī)范(2008年10 月)97005-2343。C0LLADA規(guī)范定義了易于在應(yīng)用程序之間傳輸3D資產(chǎn)的基于XML的綱要。 這使多種多樣的3D創(chuàng)作和內(nèi)容處理工具得以組合。中間語(yǔ)言提供可視方案的綜合性編碼。C0LLADA服務(wù)器38處理客戶(hù)機(jī)會(huì)話創(chuàng)建和對(duì)數(shù)據(jù)庫(kù)34的訪問(wèn)??蛻?hù)機(jī)側(cè)30上 的客戶(hù)機(jī)48、52可以是管理諸如例如應(yīng)用程序18和20的客戶(hù)機(jī)應(yīng)用程序與服務(wù)器10之 間的通信協(xié)議44的中間設(shè)備。管理工具40提供接口以使管理員42能經(jīng)由開(kāi)/關(guān)命令管 理數(shù)據(jù)庫(kù)34和C0LLADA服務(wù)器38。它可在在用戶(hù)組中創(chuàng)建和刪除用戶(hù)、管理用戶(hù)權(quán)限、上 傳、刪除或更新文檔等??傮w上,沙箱提供對(duì)三維資產(chǎn)的實(shí)時(shí)協(xié)作更新和編輯。這使若干客戶(hù)機(jī)有可能并 發(fā)地訪問(wèn)同一 3D場(chǎng)景,并使用不同的客戶(hù)機(jī)應(yīng)用程序來(lái)更新那些場(chǎng)景。在一些實(shí)施例中, 客戶(hù)機(jī)應(yīng)用程序與服務(wù)器10之間通過(guò)服務(wù)器38通過(guò)客戶(hù)機(jī)48的通信對(duì)于用戶(hù)可完全透 明。而且,一用戶(hù)所施加的任何更新可對(duì)所有其他用戶(hù)實(shí)時(shí)可見(jiàn)??蛻?hù)機(jī)應(yīng)用程序18或20與客戶(hù)機(jī)48或52之間的消息可由作為XML詢(xún)問(wèn)語(yǔ)言的 Xqueries 50或54提供,如圖所示。參見(jiàn)W3C推薦,XQueryl. 0 —種XML詢(xún)問(wèn)語(yǔ)言,2007年 1月23日,可通過(guò)MIT從美國(guó)馬薩諸塞州劍橋市02139的32瓦薩街32-4575室的萬(wàn)維網(wǎng)聯(lián) 盟(W3C)獲得。同樣,可在管理員工具40與數(shù)據(jù)庫(kù)34之間傳遞Xquery 36,或可在服務(wù)器 38與數(shù)據(jù)庫(kù)34之間提供Xquery 35。參照?qǐng)D3,在具有沙箱和兩個(gè)客戶(hù)機(jī)的實(shí)施例中,客戶(hù)機(jī)2與客戶(hù)機(jī)18應(yīng)用程序 Maya交互。為簡(jiǎn)化描述,未示出客戶(hù)機(jī)1與其客戶(hù)機(jī)應(yīng)用程序之間的通信。在所示情形中,第一客戶(hù)機(jī)1和客戶(hù)機(jī)2均取回C0LLADA文檔的版本C(O)??蛻?hù) 機(jī)2將版本C(O)發(fā)送至Maya應(yīng)用程序,Maya應(yīng)用程序又處理從C0LLADA格式到Maya場(chǎng) 景表示的轉(zhuǎn)換51。此類(lèi)轉(zhuǎn)換是公知的。然后客戶(hù)機(jī)1將更新響應(yīng)零(UR(O))作為Xquery 詢(xún)問(wèn)的集合發(fā)送至C0LLADA服務(wù)器38。服務(wù)器38應(yīng)用客戶(hù)機(jī)請(qǐng)求,并測(cè)試所得文檔和引用 該文檔的所有文檔的有效性和一致性。因此,服務(wù)器跟蹤相互資產(chǎn)引用,并自動(dòng)更新資產(chǎn)相 關(guān)性曲線圖。一旦驗(yàn)證完成,即將更新確認(rèn)零(UA(O))消息發(fā)送至客戶(hù)機(jī)1,以通知該客戶(hù)機(jī)該請(qǐng)求隨后執(zhí)行(與否)。如果為否,則該更新確認(rèn)消息描述所產(chǎn)生的差錯(cuò)。如果該請(qǐng)求成 功,則更新信息零(UI(O))消息描述要應(yīng)用于版本C(O)以獲得新版本C(I)的修改集合。在 一個(gè)實(shí)施例中,該更新信息消息可被廣播至所有客戶(hù)機(jī)。如針對(duì)客戶(hù)機(jī)2所示,僅最后接收的版本C(O)和新創(chuàng)建的版本C' (0)之間的差 別從比較功能56被發(fā)送至服務(wù)器38。那些更新UR(4)被應(yīng)用于服務(wù)器C(3)的最后一致性 版本UR (3)以創(chuàng)建C (4)。Maya版本(M(O))在轉(zhuǎn)換功能58處被轉(zhuǎn)換成C0LLADA,且在比較功能56處經(jīng)由 C0LLADA與版本C' 0進(jìn)行比較。功能56將更新請(qǐng)求發(fā)送至更新C (3),并在服務(wù)器38中創(chuàng) 建版本C(4)。因?yàn)槭褂昧宿D(zhuǎn)換,所以有可能確定源于不同語(yǔ)言的版本之間的差別。然后服 務(wù)器僅需要了解資產(chǎn)中的變化。在一些情況下,沖突可能產(chǎn)生。兩個(gè)用戶(hù)可能尋求作出不一致的改變。在一個(gè)實(shí) 施例中,那些用戶(hù)被告知一致性問(wèn)題。作為示例,如果一個(gè)用戶(hù)尋求刪除一資產(chǎn),而另一用 戶(hù)尋求修改該資產(chǎn),則出現(xiàn)不一致。參照?qǐng)D4,根據(jù)一些實(shí)施例,本文中所描述的序列可用硬件、軟件或固件來(lái)實(shí)現(xiàn)。例 如,在軟件或固件應(yīng)用中,軟件可駐留在沙箱14或全局資產(chǎn)服務(wù)器10中——在那些設(shè)備中 適當(dāng)?shù)拇鎯?chǔ)體或存儲(chǔ)器內(nèi)。該存儲(chǔ)器或存儲(chǔ)體可與全局資產(chǎn)服務(wù)器的沙箱之一分離或是它 的一部分。該存儲(chǔ)器或存儲(chǔ)體可存儲(chǔ)可由計(jì)算機(jī)執(zhí)行的指令。在一些實(shí)施例中,可由此類(lèi)指令實(shí)現(xiàn)的序列被標(biāo)識(shí)為服務(wù)器序列60。最初,資產(chǎn)更 新請(qǐng)求以C0LLADA格式被接收,如框62所示。具體而言,客戶(hù)機(jī)應(yīng)用程序可使用轉(zhuǎn)換功能 將它們的更新請(qǐng)求轉(zhuǎn)換成C0LLADA格式或一些其他公用格式。然后菱形64處的檢查確定 并發(fā)接收的兩個(gè)或多個(gè)請(qǐng)求是否一致。如果不一致,則報(bào)告問(wèn)題,如框72所示。否則,可接受該更新請(qǐng)求,如框66所示。然后,將更新請(qǐng)求與資產(chǎn)的先前版本進(jìn)行 比較(框68),且僅報(bào)告資產(chǎn)的先前版本與已更新資產(chǎn)之間的變化或差別,如框70所示。將各種輸入轉(zhuǎn)換成諸如C0LLADA之類(lèi)的公用格式、以及將輸出轉(zhuǎn)換回不同格式的 一個(gè)好處是,此類(lèi)轉(zhuǎn)換使協(xié)作資產(chǎn)管理更高效。比較功能56的一個(gè)好處是,通過(guò)僅傳遞先 前版本與當(dāng)前版本之間的差別,可節(jié)約帶寬。實(shí)際上,在一些情況下,客戶(hù)機(jī)可僅提供差別, 且服務(wù)器可僅以差別作為響應(yīng),從而雙向地節(jié)約帶寬。由于轉(zhuǎn)換功能51或58,在一些實(shí)施 例中,可利用不同的第三方工具進(jìn)行透明通信。本文中所描述的圖形處理技術(shù)可在各種硬件體系結(jié)構(gòu)中實(shí)現(xiàn)。例如,圖形功能可 被集成在芯片組中。替代地,可使用分立的圖形處理器。作為又一實(shí)施例,圖形功能可由包 括多核處理器的通用處理器實(shí)現(xiàn)。在本說(shuō)明書(shū)通篇中對(duì)“一個(gè)實(shí)施例”或“一實(shí)施例”的引用意味著結(jié)合該實(shí)施例描 述的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明包含的至少一個(gè)實(shí)現(xiàn)中。因此,短語(yǔ)“一個(gè)實(shí)施例” 或“在一實(shí)施例中”的出現(xiàn)不一定指代同一實(shí)施例。此外,特定特征、結(jié)構(gòu)或特性可按照與 所說(shuō)明的特定實(shí)施例不同的其他適當(dāng)形式來(lái)創(chuàng)立,而且所有此類(lèi)形式可包含在本申請(qǐng)的權(quán) 利要求中。雖然已經(jīng)關(guān)于有限個(gè)實(shí)施例描述了本發(fā)明,但本領(lǐng)域技術(shù)人員將會(huì)理解從中得出 的多種修改和變化。所附權(quán)利要求旨在覆蓋落入本發(fā)明的真實(shí)精神和范圍中的所有這些修 改和變化。
權(quán)利要求
一種方法,包括為計(jì)算機(jī)圖形提供實(shí)時(shí)協(xié)作資產(chǎn)管理;以及在資產(chǎn)服務(wù)器與客戶(hù)機(jī)應(yīng)用程序之間提供服務(wù)器代理,所述服務(wù)器代理用于實(shí)現(xiàn)實(shí)時(shí)協(xié)作資產(chǎn)管理。
2.如權(quán)利要求1所述的方法,其特征在于,包括通過(guò)接收被轉(zhuǎn)換成公用語(yǔ)言的輸入來(lái) 實(shí)現(xiàn)與第三方工具的透明通信。
3.如權(quán)利要求1所述的方法,其特征在于,包括為多個(gè)客戶(hù)機(jī)所使用的多個(gè)資產(chǎn)提供 與所述服務(wù)器相關(guān)聯(lián)的數(shù)據(jù)庫(kù)。
4.如權(quán)利要求1所述的方法,其特征在于,包括實(shí)現(xiàn)客戶(hù)機(jī)應(yīng)用程序與所述服務(wù)器之 間的通信協(xié)議,其中兩個(gè)客戶(hù)機(jī)能同時(shí)嘗試修改同一資產(chǎn)。
5.如權(quán)利要求4所述的方法,其特征在于,包括使客戶(hù)機(jī)能向所述服務(wù)器發(fā)送更新資 產(chǎn)的請(qǐng)求。
6.如權(quán)利要求5所述的方法,其特征在于,包括使所述服務(wù)器能測(cè)試客戶(hù)機(jī)請(qǐng)求的有 效性。
7.如權(quán)利要求6所述的方法,其特征在于,包括使所述服務(wù)器能確保所述資產(chǎn)的由更 新所述資產(chǎn)的所述客戶(hù)機(jī)請(qǐng)求產(chǎn)生的結(jié)果以及表示所述已更新資產(chǎn)的所有文檔的一致性。
8.如權(quán)利要求7所述的方法,其特征在于,包括保持每個(gè)資產(chǎn)對(duì)任一其他資產(chǎn)的相關(guān) 性的曲線圖。
9.如權(quán)利要求8所述的方法,其特征在于,包括保持資產(chǎn)之間引用的列表。
10.如權(quán)利要求9所述的方法,其特征在于,包括通過(guò)僅描述所述已修改資產(chǎn)與所述未 修改資產(chǎn)之間的差別來(lái)將描述應(yīng)用于資產(chǎn)的每個(gè)修改的通知提供給所有客戶(hù)機(jī)。
11.一種裝置,包括資產(chǎn)服務(wù)器;在所述資產(chǎn)服務(wù)器與客戶(hù)機(jī)應(yīng)用程序之間的服務(wù)器代理,所述服務(wù)器代理用于實(shí)現(xiàn)實(shí) 時(shí)協(xié)作資產(chǎn)管理;以及所述資產(chǎn)服務(wù)器接收公用語(yǔ)言格式的資產(chǎn)更新請(qǐng)求,所述服務(wù)器進(jìn)一步包括比較功 能,所述比較功能用于確定修改之前的資產(chǎn)與修改之后的資產(chǎn)之間的差別,并僅發(fā)送所述 資產(chǎn)中的變化而不是整個(gè)資產(chǎn)。
12.如權(quán)利要求11所述的裝置,其特征在于,所述裝置接收公用語(yǔ)言格式的對(duì)更新圖 形資產(chǎn)的請(qǐng)求。
13.如權(quán)利要求11所述的裝置,其特征在于,包括用于多個(gè)客戶(hù)機(jī)所使用的多個(gè)資產(chǎn) 的與所述服務(wù)器相關(guān)聯(lián)的數(shù)據(jù)庫(kù)。
14.如權(quán)利要求11所述的裝置,其特征在于,所述資產(chǎn)服務(wù)器使兩個(gè)不同客戶(hù)機(jī)應(yīng)用 程序能?chē)L試同時(shí)修改同一圖形資產(chǎn)。
15.如權(quán)利要求14所述的裝置,其特征在于,所述服務(wù)器使客戶(hù)機(jī)能向所述服務(wù)器發(fā) 送更新資產(chǎn)的請(qǐng)求,以供所述服務(wù)器測(cè)試此類(lèi)客戶(hù)機(jī)請(qǐng)求的有效性。
16.如權(quán)利要求15所述的裝置,其特征在于,所述服務(wù)器確保任一資產(chǎn)修改的結(jié)果的 一致性。
17.如權(quán)利要求16所述的裝置,其特征在于,所述服務(wù)器保持每個(gè)資產(chǎn)基于任一其他資產(chǎn)的圖形相關(guān)性。
18.如權(quán)利要求17所述的裝置,其特征在于,所述服務(wù)器保持資產(chǎn)之間引用的列表。
19.如權(quán)利要求18所述的裝置,其特征在于,所述服務(wù)器將任一資產(chǎn)的變化通知給所 有所述客戶(hù)機(jī)應(yīng)用程序。
20.如權(quán)利要求19所述的裝置,其特征在于,所述服務(wù)器僅將所述原始資產(chǎn)與所述已 修改資產(chǎn)之間的差別通知給所述客戶(hù)機(jī)。
21.一種存儲(chǔ)指令的計(jì)算機(jī)可讀介質(zhì),所述指令由計(jì)算機(jī)執(zhí)行以提供實(shí)時(shí)協(xié)作圖形資產(chǎn)管理;以及通過(guò)接收公用語(yǔ)言形式的對(duì)圖形資產(chǎn)的更新請(qǐng)求,使用不同的軟件語(yǔ)言來(lái)處理所述更 新請(qǐng)求。
22.如權(quán)利要求21所述的介質(zhì),其特征在于,進(jìn)一步存儲(chǔ)向多個(gè)客戶(hù)機(jī)提供更新請(qǐng)求 的報(bào)告的指令。
23.如權(quán)利要求22所述的介質(zhì),其特征在于,進(jìn)一步存儲(chǔ)僅報(bào)告對(duì)所述資產(chǎn)的更新而 不報(bào)告所述資產(chǎn)的未改變部分的指令。
24.如權(quán)利要求21所述的介質(zhì),其特征在于,進(jìn)一步存儲(chǔ)跟蹤圖形資產(chǎn)之間的相關(guān)性 的指令。
25.如權(quán)利要求24所述的介質(zhì),其特征在于,進(jìn)一步存儲(chǔ)保持資產(chǎn)之間引用的列表的 指令。
全文摘要
在一些實(shí)施例中,可為計(jì)算機(jī)圖形提供實(shí)時(shí)協(xié)作資產(chǎn)管理。這可使用資產(chǎn)服務(wù)器與客戶(hù)機(jī)應(yīng)用程序之間的服務(wù)器代理來(lái)實(shí)現(xiàn)。該服務(wù)器代理實(shí)現(xiàn)實(shí)時(shí)協(xié)作資產(chǎn)管理。該服務(wù)器可包括識(shí)別原始定位的資產(chǎn)與經(jīng)修改的資產(chǎn)之間的差別的比較功能。因此,在一些實(shí)施例中,該服務(wù)器可僅傳達(dá)修改以減小帶寬。此外,通過(guò)使請(qǐng)求能被轉(zhuǎn)換成公用語(yǔ)言格式,不同的客戶(hù)機(jī)能通過(guò)該服務(wù)器彼此通信。
文檔編號(hào)H04L29/06GK101996362SQ20101026085
公開(kāi)日2011年3月30日 申請(qǐng)日期2010年8月17日 優(yōu)先權(quán)日2009年8月18日
發(fā)明者K·瑪曼歐, R·S·阿蘭德 申請(qǐng)人:英特爾公司