两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

運動動畫制作方法和設(shè)備的制作方法

文檔序號:6478890閱讀:264來源:國知局
專利名稱:運動動畫制作方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于運動動畫制作(動畫,animation)的方法和設(shè)備。特別是,本發(fā) 明涉及使用者控制的實體的運動動畫制作。
背景技術(shù)
在已知的基于服務(wù)器的游戲系統(tǒng)中,服務(wù)器執(zhí)行角色運動,好像該角色是沿著由 使用者控制所指示的直線或曲線運動的一個簡單的質(zhì)點。在客戶機上所用的動畫制作使角 色的肢體運動盡可能給出運動的真實性外觀。但是,這經(jīng)常引起角色的腳好像在地面上滑 動的“腳滑動”,或在動畫制作之間笨拙的合成。對于諸如足球比賽這類沉浸式(immersive)動作密集的應(yīng)用,這種已知的系統(tǒng)不 提供比賽環(huán)境的真實外觀(look)和感覺。例如,如果球在運動員的腳上運動員做180°的 轉(zhuǎn)動,他進行復(fù)雜的機動動作,與簡單的就地恒速轉(zhuǎn)動完全不同??梢岳脛幼鞑蹲郊夹g(shù)(motion-capture technique)產(chǎn)生動畫制作。在這種 技術(shù)中,在動作捕捉工作室記錄演員進行活動的運動,并且用于在計算機游戲中模擬角色 的運動。在演員運動期間演員的單個身體部分的運動被檢測并用來建立形成一連串限定 運動的動作捕捉幀。為了在游戲中將不同的動畫制作順次組合在一起——通常稱為拼接 (splicing),希望每個動畫制作以稱作“姿勢”的多個預(yù)定的身體位置之一開始和結(jié)束。這 有助于通過使它們之間的轉(zhuǎn)換更加平滑和更加自然的外觀給出動畫制作之間的連續(xù)性。動 作捕捉工作室可以提供限定每個姿勢的數(shù)據(jù),并且每個動畫制作將用這種姿勢開始并用其 結(jié)束。然后動作捕捉工作室可以處理動作捕捉數(shù)據(jù)并且提供限定動畫制作為一連串關(guān)鍵幀 的數(shù)據(jù)文件,其中第一和最后的關(guān)鍵幀匹配希望的姿勢。演員和他的運動可以模制為具有在這里稱為“骨骼(bone),,的部分(部件)的層 次結(jié)構(gòu)(hierarchy)的實體。這種層次結(jié)構(gòu)的頂層可以是代表演員的髖的骨骼。在原始動 作捕捉數(shù)據(jù)中,所有的其他運動通常相對于髖骨身體部分定義。對于任何動作捕捉的實體,未知的位置是該實體的真實向前方向。動作捕捉數(shù)據(jù) 限定髖骨的運動,其包括髖骨水平向前方向。在環(huán)形步行或跑步動畫制作期間,當(dāng)實體在另 一條腿之后向前移動一條腿時,髖從一側(cè)向另一側(cè)扭動。這意味著在動畫制作期間髖向前 方向從一側(cè)擺動到另一側(cè)。動畫制作的實體將在顯示器上從第三人稱視角顯示,其中觀察點鏈接于實體的位 置。這意味著如果髖向前方向直接用作實體向前方向,則當(dāng)實體向前跑動時,觀察點將隨著 髖運動以直線從一側(cè)向另一側(cè)擺動。這種動作對于在虛擬環(huán)境中控制該實體運動的使用者 可能是煩亂的。美國專利號US6,972,765B1描述了一種用于制作三維(3D)動畫制作的圖形圖像 的方法,所述圖形圖像在圖形界面上包括物體。該圖形圖像被設(shè)計它們的使用者設(shè)計成實 時、交互式動畫制作。該方法包括選擇物體(object)并將它們顯示在圖形界面上,實時地 對具有交互作用性質(zhì)的物體分配運動,以外部地引起并且組裝圖形界面上的視覺元素,該視覺元素用符號表示物體和分配給該物體的運動。日本專利申請?zhí)朖P 2007-038010描述了一種用于在二維游戲中實現(xiàn)角色動畫制 作的動畫制作系統(tǒng)。游戲角色分成不同的區(qū)域,對于該不同的區(qū)域應(yīng)用不同的動畫制作技 術(shù)。在一個區(qū)域,應(yīng)用骨骼動畫制作技術(shù)(bone animation technique),在該技術(shù)中利用 控制物體的運動的邏輯操作。在另一個區(qū)域,應(yīng)用單元動畫制作技術(shù)(小格動畫制作技術(shù), cell animation technique)。然后組合利用不同動畫制作技術(shù)的區(qū)域,以便動畫制作該角 色。韓國專利申請?zhí)朘R 20040087787描述了一種用于在三維在線游戲中修改角色形 式的系統(tǒng)。該角色的動畫制作通過動畫制作該角色的單個骨骼來實現(xiàn)。一個角色的動畫制 作模型通過將根據(jù)一個角色的骨骼的形狀輸出給其他角色可以擴展為其他角色模型。響應(yīng) 參與者操作角色,應(yīng)用反向運動學(xué)(inverse kinematics)可以增加角色動畫制作的真實性。希望提供一種用在游戲系統(tǒng)中的技術(shù),該技術(shù)改進使用者控制的實體運動的外觀 和感覺,并且在虛擬環(huán)境中更真實地動畫制作該實體。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一方面,提供一種基于服務(wù)器的方法,用于在虛擬環(huán)境中控制使 用者控制的實體的客戶機上動畫制作,所述使用者控制是基于客戶機的,所述方法包括將與跟蹤所述虛擬環(huán)境中的第一實體相關(guān)的第一實體跟蹤數(shù)據(jù)儲存在服務(wù)器 上;在所述服務(wù)器上,接收來自第一客戶機,與所述虛擬環(huán)境中的所述第一實體的使 用者控制相關(guān)的實體控制輸入數(shù)據(jù);根據(jù)從所述第一客戶機接收的所述輸入數(shù)據(jù),在所述服務(wù)器上選擇待在所述第一 客戶機上動畫制作的第一動畫制作,待在所述第一客戶機上制作的所述第一動畫制作選自 第一組動畫制作;從所述服務(wù)器向所述第一客戶機傳輸識別所述虛擬環(huán)境中的所述第一實體的所 述第一選擇的動畫制作的第一數(shù)據(jù);檢索與待在所述第一客戶機上動畫制作的所述第一選擇的動畫制作相關(guān)的一個 或多個實體變化特征;以及根據(jù)所述檢索的與待在所述第一客戶機上動畫制作的所述第一選擇的動畫制作 相關(guān)的實體變化特征,更新所述儲存的第一實體跟蹤數(shù)據(jù)。實體跟蹤數(shù)據(jù)儲存在服務(wù)器上,以便跟蹤在虛擬環(huán)境中的實體的運動。使用者可 以通過它們的客戶機輸入其實體的期望的動作,該動作然后由客戶機傳輸給服務(wù)器。該服 務(wù)器利用接收的數(shù)據(jù)以選擇用于該實體的合適的動畫制作。然后服務(wù)器將識別選擇的動畫 制作的數(shù)據(jù)傳輸給客戶機,因此在客戶機上控制該實體的動畫制作。與選擇的動畫制作相關(guān)的實體變化特征可以由服務(wù)器檢索,例如,從服務(wù)器上的 存儲器儲存。實體變化特征可以涉及動畫制作過程中變化的某些特征,例如,實體的位置和 取向以及動畫制作的計時。實體變化特征的應(yīng)用給服務(wù)器提供涉及動畫制作過程中實體如 何變化的信息,例如,相對于動畫制作的開始,特別是在動畫制作的結(jié)束,在動畫制作期間
9實體可以處于的位置和/或它可以面向的方向。鑒于選擇的動畫制作的實體變化特征,服 務(wù)器可以更新其儲存的實體跟蹤數(shù)據(jù)。因此,服務(wù)器能夠保持跟蹤虛擬環(huán)境中的實體,并且也具有可以用于客戶機上動 畫制作實體的多個實體動畫制作的資料(knowledge)。通過利用動畫制作數(shù)據(jù)模擬實體的 運動,連同保持虛擬環(huán)境中的實體運動的精確表示(圖像r印resentation),服務(wù)器可以精 確地控制實體,并且因此該實體的動畫制作可以更加真實。網(wǎng)絡(luò)——通過其服務(wù)器和客戶機可以通信——不需要過載含有不必要的大量動 畫制作數(shù)據(jù)。動畫制作數(shù)據(jù)本身不需要在服務(wù)器和客戶機之間傳輸,只有與識別動畫制作 相關(guān)的數(shù)據(jù)需要傳輸,該數(shù)據(jù)其后被客戶機用來識別相關(guān)的動畫制作。優(yōu)選地,該方法還包括根據(jù)所述儲存的第一實體跟蹤數(shù)據(jù)選擇待在所述第一客戶 機上動畫制作的所述第一動畫制作。因此,服務(wù)器也可以利用儲存的跟蹤數(shù)據(jù)選擇用于實 體的適當(dāng)?shù)膭赢嬛谱鳌R虼?,該動畫制作選擇能夠用在虛擬環(huán)境中的實體的運動的資料來 進行,該實體的運動的資料可進一步增加動畫制作質(zhì)量。優(yōu)選地,第一儲存的實體跟蹤數(shù)據(jù)包括在一系列動畫制作期間與跟蹤所述第一實 體的位置相關(guān)的位置數(shù)據(jù)。例如,位置數(shù)據(jù)可以包括用于動畫制作中的實體的開始位置。優(yōu)選地,第一儲存的實體跟蹤數(shù)據(jù)包括在一系列動畫制作中與跟蹤所述第一實體 的取向相關(guān)的取向數(shù)據(jù)。例如,取向數(shù)據(jù)可以包括用于動畫制作中的實體的開始取向。優(yōu)選地,第一儲存的實體跟蹤數(shù)據(jù)包括在一系列動畫制作期間與跟蹤所述第一實 體的計時相關(guān)的計時數(shù)據(jù)。例如,計時數(shù)據(jù)可以包括用于動畫制作中的實體的開始時間。因此,在虛擬環(huán)境中實體的位置、取向和計時可以根據(jù)選擇的動畫制作在服務(wù)器 上被跟蹤(追蹤,tracking),因此當(dāng)實體在客戶機上動畫制作時,有助于提供在虛擬環(huán)境 中該實體的運動的更精確的表示(圖像)。優(yōu)選地,該方法包括在所述服務(wù)器上,從所述第一組動畫制作中選擇待在所述第一客戶機上動畫制作 的附加的動畫制作;從所述服務(wù)器向所述第一客戶機傳輸識別待在所述第一客戶機上動畫制作的所 述附加動畫制作的附加數(shù)據(jù);檢索與所述附加的選擇的動畫制作相關(guān)的一個或多個附加的實體變化特征;和根據(jù)檢索的附加動畫制作,更新所述儲存的第一實體跟蹤數(shù)據(jù)。優(yōu)選地,第一選擇 的動畫制作和所述附加的選擇的動畫制作順次選擇動畫制作,其中在服務(wù)器上動畫制作序 列進行隨后的跟蹤。優(yōu)選地,該動畫制作組從動作捕捉數(shù)據(jù)得到。因此,與在動作捕捉工作室的演員的 運動有關(guān)的數(shù)據(jù)可以用作運動動畫制作的源數(shù)據(jù)。優(yōu)選地,該方法還包括將與在所述虛擬環(huán)境中跟蹤第二實體相關(guān)的第二實體跟蹤數(shù)據(jù)儲存在所述服務(wù) 器上;在所述服務(wù)器上,接收來自第二客戶機的,與所述虛擬環(huán)境中的所述第二實體的 使用者控制相關(guān)的實體控制輸入數(shù)據(jù),所述第二客戶機遠離所述第一客戶機;根據(jù)從所述第二客戶機接收的所述輸入數(shù)據(jù),在所述服務(wù)器上選擇待在所述第二客戶機上動畫制作的第一動畫制作,待在所述第二客戶機上動畫制作的所述第一選擇的動 畫制作選自第二組動畫制作;從所述服務(wù)器向所述第二客戶機傳輸數(shù)據(jù),所述數(shù)據(jù)識別在所述虛擬環(huán)境中待在 所述第二客戶機上動畫制作的所述第一選擇的動畫制作;檢索與待在所述第二客戶機上動畫制作的所述第一選擇的動畫制作相關(guān)的一個 或多個實體變化特征;以及根據(jù)所述檢索的與待在所述第二客戶機上動畫制作的所述第一選擇的動畫制作 相關(guān)的實體變化特征,更新所述儲存的第二實體跟蹤數(shù)據(jù)。因此本發(fā)明能夠用于提供網(wǎng)絡(luò)上多個使用者的功能性。每個客戶機可以與其他客 戶機彼此遠離,并且每個可以由用于控制虛擬環(huán)境中一個或多個實體的使用者操作。一個 或多個服務(wù)器可以與客戶機通信,以便控制其各自實體的動畫制作,而根據(jù)選擇的動畫制 作該實體在一個或多個服務(wù)器上被跟蹤。優(yōu)選地,該方法還包括根據(jù)所述儲存的第二實體跟蹤數(shù)據(jù),選擇待在所述第二客 戶機上動畫制作的所述第一動畫制作。因此,服務(wù)器能夠利用儲存的跟蹤數(shù)據(jù)為多于一個 的實體選擇合適的動畫制作。因此,該動畫制作選擇能夠用虛擬環(huán)境中的多個實體的運動 資料(knowledge)進行。優(yōu)選地,第一組和第二組包括一個或多個共用的實體動畫制作。因此,每個客戶機 可以具有相同的或相似的一組動畫制作,用該組動畫制作可以動畫制作其相關(guān)的實體。優(yōu)選地,如果所述第一實體和所述第二實體在所述虛擬環(huán)境中相互作用,則在所 述第一組中的所述動畫制作的選擇取決于在所述第二組中的所述動畫制作的所述選擇。因此,根據(jù)每個實體的使用者控制,與每個客戶機相關(guān)的實體可以被動畫制作,以 便在所述虛擬環(huán)境中它們彼此相互作用。因此,服務(wù)器可以相應(yīng)選擇用于各自實體的動畫 制作。根據(jù)本發(fā)明的第二方面,提供一種基于客戶機的,用于在客戶機上在虛擬環(huán)境中 使用者控制的實體的運動動畫制作的方法,所述使用者控制是基于客戶機的,所述方法包 括將動畫制作數(shù)據(jù)儲存在第一客戶機上,所述儲存的動畫制作數(shù)據(jù)包括第一組實體 動畫制作;在所述第一客戶機上,處理與跟蹤虛擬環(huán)境中的第一實體相關(guān)的第一實體跟蹤數(shù) 據(jù);從所述第一客戶機向服務(wù)器傳輸實體控制輸入數(shù)據(jù),所述輸入數(shù)據(jù)與虛擬環(huán)境中 的第一實體的使用者控制相關(guān);在所述第一客戶機上從所述服務(wù)器接收第一數(shù)據(jù),所述接收的第一數(shù)據(jù)包括識別 在所述第一組中的實體動畫制作的第一選擇數(shù)據(jù);以及根據(jù)所述第一接收的數(shù)據(jù)、儲存在所述第一客戶機上的動畫制作數(shù)據(jù)和所述第一 實體跟蹤數(shù)據(jù),在所述第一客戶機上動畫制作虛擬環(huán)境中的第一實體。因此,本發(fā)明允許根據(jù)儲存在客戶機上的動畫制作數(shù)據(jù),在虛擬環(huán)境中動畫制作 使用者控制的實體。使用者可以經(jīng)由其客戶機對其實體輸入期望的運動,該運動然后可以 傳輸給服務(wù)器。然后,客戶機接受來自服務(wù)器的數(shù)據(jù),該數(shù)據(jù)通知客戶機哪個實體運動動畫制作已經(jīng)被服務(wù)器識別。該客戶機可以處理實體跟蹤數(shù)據(jù),以便在識別動畫制作期間跟蹤 該實體。因此,服務(wù)器能夠保持跟蹤在虛擬環(huán)境中的該實體,并且具有可以用來在該客戶 機上動畫制作該實體的多個實體動畫制作的資料。通過利用動畫制作數(shù)據(jù)模擬該實體的運 動,在虛擬環(huán)境中的實體的動畫制作可以被更加真實地模擬。優(yōu)選地,該方法包括在所述第一客戶機上接收來自所述服務(wù)器的所述第一實體跟 蹤數(shù)據(jù)。因此,客戶機可以由服務(wù)器提供實體跟蹤數(shù)據(jù)。優(yōu)選地,該方法包括將所述第一實體跟蹤數(shù)據(jù)儲存在所述客戶機上,其中所述實 體跟蹤數(shù)據(jù)的所述處理包括,檢索從所述客戶機上的儲存上檢索所述實體跟蹤數(shù)據(jù)。因此, 客戶機本身可以儲存實體跟蹤數(shù)據(jù)??蛻魴C可以保持其自己的實體跟蹤數(shù)據(jù)的形式,代替 從服務(wù)器接收實體跟蹤數(shù)據(jù)??蛇x地,或附加地,客戶機可以從服務(wù)器接收實體跟蹤數(shù)據(jù), 并且直接利用該數(shù)據(jù)動畫制作該實體,或客戶機可以利用從服務(wù)器接收的實體跟蹤數(shù)據(jù)以 更新其自己儲存的實體跟蹤數(shù)據(jù)。優(yōu)選地,該方法包括,在所述客戶機上,處理與所述識別的實體動畫制作相關(guān)的實 體變化特征;根據(jù)所述處理的實體變化特征,更新所述第一實體跟蹤數(shù)據(jù);以及根據(jù)所述更新的第一實體跟蹤數(shù)據(jù),在所述客戶機上動畫制作所述虛擬環(huán)境中的 所述第一實體。因此,客戶機可以處理與識別的動畫制作相關(guān)的實體變化特征。利用實體變化特 征為客戶機提供涉及在動畫制作過程中實體如何改變的信息。優(yōu)選地,該方法包括在所述客戶機上從服務(wù)器接收所述實體變化特征。因此,客戶 機可以由服務(wù)器提供實體變化特征。優(yōu)選地,該方法包括將所述實體變化特征儲存在所述客戶機上,其中所述實體變 化特征的所述處理包括從所述客戶機上的所述儲存檢索所述實體變化特征。因此,客戶機 本身可以儲存實體變化特征??蛻魴C可以保持其自己的實體變化特征的形式,或者可由服 務(wù)器提供實體變化特征,在這種情況下客戶機可以更新其儲存的實體變化特征。根據(jù)本發(fā)明的第三方面,提供一種用于在虛擬環(huán)境中使用者控制的實體的運動動 畫制作的方法,所述方法包括儲存從動作捕捉數(shù)據(jù)得到的動畫制作數(shù)據(jù),所述儲存的動畫制作數(shù)據(jù)包括實體運 動動畫制作,所述實體運動動畫制作包括用于所述實體的單個的身體部分的身體部分運動 數(shù)據(jù);接收實體控制輸入數(shù)據(jù),所述輸入數(shù)據(jù)與在所述虛擬環(huán)境中使用者控制的所述實 體的運動相關(guān);以及根據(jù)所述儲存的動畫制作數(shù)據(jù)以第三人稱視角(third personperspective view)動畫制作所述虛擬環(huán)境中的所述實體,其中所述第三人稱視角的位置和取向由至少 一些所述身體部分運動數(shù)據(jù)來限定。因此,使用者可以從第三人稱視角觀察虛擬環(huán)境中的其實體的運動。使用者觀察 其實體的該觀察角度或攝影角度可以根據(jù)其身體部分運動數(shù)據(jù)跟蹤該實體。本發(fā)明可以用于在虛擬環(huán)境中的實體的運動動畫制作期間提供第三人稱視角。動
12畫制作數(shù)據(jù)可以從在動作捕捉工作室中記錄的演員的運動得到。身體部分的運動數(shù)據(jù)可以 從動作捕捉數(shù)據(jù)得到,并至少部分用于限定第三人稱視角,所述第三人稱視角給出在虛擬 環(huán)境中的實體的動畫制作期間更穩(wěn)定更真實的視圖。優(yōu)選地,動作捕捉數(shù)據(jù)包括多個動作捕捉幀(motion capture frame),并且第三 人稱視角的位置和取向可以由用于身體部分的身體部分運動數(shù)據(jù)來限定,該身體部分運動 數(shù)據(jù)通過在動作捕捉幀之間平滑從所述動作捕捉數(shù)據(jù)得到。因此,動作捕捉幀數(shù)據(jù)之間的平滑在動畫制作期間可以用于產(chǎn)生第三人稱視角。 這可以幫助避免與在第三人觀察視圖中不希望顯現(xiàn)的動作捕捉數(shù)據(jù)相關(guān)的任何振蕩、搖 擺、抖動之類。這種不希望的效果可以是例如由于當(dāng)演員運動被記錄,演員的一個或多個部 分從一側(cè)向另一側(cè)運動引起的,例如,由于在跑步動作記錄期間,演員的髖骨振蕩引起的。優(yōu)選地,實體運動動畫制作包括多個關(guān)鍵幀,并且其中關(guān)鍵幀的所述第三人稱視 角位置從一個或多個所述動作捕捉幀中的所述身體部分的位置得到,并且關(guān)鍵幀的所述第 三人稱視角取向從一個或多個所述動作捕捉幀中的所述身體部分的取向得到。優(yōu)選地一個或多個所述動作捕捉幀包括在所述多個動作捕捉幀中的第一和/或 最后動作捕捉幀。因此,動畫制作中的關(guān)鍵幀的第三人稱視角的位置和/或取向可以從一個或多個 動作捕捉幀中的身體部分的位置和/或取向得到,例如,與記錄的動作有關(guān)的第一和/或最 后動作捕捉幀。優(yōu)選地,關(guān)鍵幀的第三人稱視角取向包括限定與一個或多個動作捕捉幀中的所述 身體部分的取向相關(guān)的一個或多個方向。優(yōu)選地,得到關(guān)鍵幀的第三人稱視角取向包括確定所述一個或多個身體部分取向 方向和在所述虛擬環(huán)境中的坐標(biāo)(reference)之間的關(guān)系。優(yōu)選地,該坐標(biāo)包括在所述虛擬環(huán)境中的坐標(biāo)方向。優(yōu)選地,該關(guān)系包括所述身體部分取向方向和所述坐標(biāo)方向之間的一個或多個角度。因此,在一個或多個動作捕捉幀中的身體部分的取向可以用來計算在動畫制作中 的一個或多個關(guān)鍵幀中的實體取向。身體部分的取向可以與虛擬環(huán)境中的坐標(biāo)的取向進行 比較。這可以包括確定由身體部分形成的軸方向和虛擬環(huán)境中坐標(biāo)方向之間的諸如角度的關(guān)系。這種處理可以當(dāng)作身體部分運動數(shù)據(jù)的標(biāo)準(zhǔn)化形式,因而,身體部分的取向相對 于虛擬環(huán)境中的坐標(biāo)的取向標(biāo)準(zhǔn)化。在動作捕捉運動中演員面向的真實方向通常是未 知的。本發(fā)明的標(biāo)準(zhǔn)化處理使在動畫制作期間在虛擬環(huán)境中實體面向哪個方向的指示 (indication)被計算。然后,所得到的實體的方向能夠用于在實體的動畫制作期間提供穩(wěn) 定的和真實的第三人稱視角。當(dāng)服務(wù)器計算在動畫制作的開始和/或結(jié)束時實體將面向或應(yīng)當(dāng)面向哪個方向 時,實體取向的資料可以由服務(wù)器使用,該資料可以不是動作捕捉數(shù)據(jù)中隱含的。當(dāng)多個動 畫制作排列在一起時,這種資料可以是特別有用的。優(yōu)選地,一個或多個角度用于確定關(guān)鍵幀的所述第三人稱視角取向。因此,在一個 或多個身體部分和虛擬環(huán)境坐標(biāo)方向之間計算的一個或多個角度可以用來確定動畫制作中的第三人稱視角。優(yōu)選地,所述動畫制作中的關(guān)鍵幀的第三人稱視角取向利用在所述動畫制作中的 兩個或更多個其他關(guān)鍵幀的第三人稱視角取向來計算。因此,第三人稱視角取向不需要單 獨地從每個關(guān)鍵幀的身體部分的取向直接計算。而是,第三人稱視角取向可以例如從僅僅 兩個關(guān)鍵幀的身體部分取向數(shù)據(jù)直接計算,并且這兩個關(guān)鍵幀的第三人稱視角取向用來計 算該動畫制作的其他關(guān)鍵幀中的第三人稱視角取向。優(yōu)選地,兩個或更多個其他關(guān)鍵幀包括在所述動畫制作中的第一和最后關(guān)鍵幀。 該第一和最后關(guān)鍵幀的第三人稱視角取向可以例如用來計算動畫制作中的所有其他關(guān)鍵 幀的第三人稱視角取向。如果實體取向從來自動畫制作的第一和最后關(guān)鍵幀的身體部分取向數(shù)據(jù)來計算, 那么這個信息可以用來計算一個或多個,或全部中間關(guān)鍵幀的實體取向。這可以包括在整 個中間幀中平滑來自第一和最后關(guān)鍵幀的實體的取向。該平滑可以通過在整個中間關(guān)鍵幀 中平均來自第一和最后關(guān)鍵幀的該實體的取向來進行,例如,利用線性插值。優(yōu)選地,得到關(guān)鍵幀的所述第三人稱視角位置包括移動在一個或多個動作捕捉幀 中的所述身體部分的位置。這個處理可以當(dāng)作身體部分運動數(shù)據(jù)的標(biāo)準(zhǔn)化的形式,因而,身體部分的位置相 對于虛擬環(huán)境中的位置被標(biāo)準(zhǔn)化。在動作捕捉運動中演員處于的真實位置通常是未知的。 本發(fā)明的標(biāo)準(zhǔn)化的處理使在動畫制作期間在虛擬環(huán)境中的實體的位置的指示被計算。所得 到的實體的位置然后可被用于在實體動畫制作期間提供穩(wěn)定的和真實的第三人稱視角。標(biāo)準(zhǔn)化處理的位移(移動)可以包括減去虛擬環(huán)境中的該實體的豎直高度平面中 的固定的量。為了避免第三人稱視角位置為負(fù)高度,該位移可以被所述虛擬環(huán)境中的坐標(biāo) 高度例如在虛擬環(huán)境中的地面高度所限制。優(yōu)選地,該實體是骨樣的(osteoid)角色。因此,該實體可以具有骨骼構(gòu)架,每個 實體骨骼具有連接于身體部分的一個或多個傳感器,該傳感器表示在動作捕捉工作室中演 員的相應(yīng)骨骼的運動。每個骨骼的單個的運動可以被記錄,并且從而用于動畫制作該實體。優(yōu)選地,身體部分包括相應(yīng)于所述實體的髖骨的兩個身體部分。因此,演員的髖骨 的運動在虛擬環(huán)境中的實體動畫制作期間可以用來得出第三人稱視角。動作捕捉數(shù)據(jù)通常 包括與演員的髖骨運動相關(guān)的數(shù)據(jù),該數(shù)據(jù)可以用于計算在動畫制作中的該實體的位置和 取向。根據(jù)本發(fā)明的第四方面,提供一種用于在虛擬環(huán)境中使用者控制的實體的運動動 畫制作的方法,該方法包括儲存動畫制作數(shù)據(jù),所述儲存的動畫制作數(shù)據(jù)包括多個實體運動動畫制作(實體 運動動畫制作組),每個所述實體運動動畫制作具有相關(guān)的實體變化特征;接收實體控制輸入數(shù)據(jù),所述輸入數(shù)據(jù)與所述虛擬環(huán)境中的使用者控制的所述實 體的運動相關(guān);根據(jù)所述輸入數(shù)據(jù),從所述多個(組)選擇實體運動動畫制作,并且修改所述選擇 的動畫制作,使得與所述選則選擇的動畫制作相關(guān)的實體變化特征被修改;以及根據(jù)所述修改的動畫制作,動畫制作在所述虛擬環(huán)境中的所述實體。當(dāng)接收實體控制輸入數(shù)據(jù)時,可以從儲存的動畫制作數(shù)據(jù)中選擇合適的實體運動
14動畫制作。但是,為了更加真實地動畫制作實體,在用來動畫制作在虛擬環(huán)境中的實體之 前,可以修改選擇的動畫制作。實體運動動畫制作可以具有關(guān)于在動畫制作中實體如何變 化的實體變化特征。因此,代替根據(jù)儲存的相應(yīng)于選擇的動畫制作的動畫制作數(shù)據(jù),對實體 直接進行動畫制作,所選擇的動畫制作可以首先被修改,以便改變其相關(guān)的實體變化特征。這可以用來調(diào)節(jié)實體的位置和取向,以使該動畫制作的外觀和感覺更加真實,例 如,使得該動畫制作與在虛擬環(huán)境中待被動畫制作的另一個實體或物體的動畫制作一致。依據(jù)水平和豎直的移動、方向、計時等,提供實體運動的每種可能變化動畫制作數(shù) 據(jù)可能是不切實際的。如果動畫制作數(shù)據(jù)從動作捕捉數(shù)據(jù)得到,這可能尤其是事實,因為使 演員以很大程度的準(zhǔn)確性或精確性表演出某種運動類型的許多不同的變化可能是困難的。因此,通過利用本發(fā)明,實體的動畫制作不需要被精確地限制于被提供的動畫制 作,并選擇的動畫制作可以被修改以更加貼切地適合期望的該實體的運動。例如,如果實體 將更好地達到動畫制作中的特定的位置、角度和計時,這可以發(fā)生,以便與虛擬環(huán)境中的另 一個實體或物體相互作用。優(yōu)選地,實體變化特征包括在所述實體運動動畫制作中的所述實體的位置和/或 取向,并且所述修改包括修改在所述選擇的動畫制作中的所述實體的位置和/或取向。因 此,當(dāng)選擇動畫制作時,其實體變化特征可以被檢查,以觀察它們是否指示選擇的動畫制作 足夠接近該實體期要的運動,并且其因此適合于在虛擬環(huán)境中直接動畫制作。如果認(rèn)為該 動畫制作對于直接動畫制作不可接受,例如該實體的位置和/或取向可以被改進,于是,可 以修改該動畫制作,以便在用于動畫制作虛擬環(huán)境中的實體之前改變該動畫制作的實體變 化特征。優(yōu)選地,該實體運動動畫制作包括多個關(guān)鍵幀,并且其中所述實體變化特征包括在所述實體運動動畫制作中的第一和第二關(guān)鍵幀之 間的所述實體的位置和/或取向的變化。因此,實體變化特征諸如在該動畫制作中的某些 點之間實體的位置和/或取向的變化可以用作動畫制作多密切地遵從(follow)期望的實 體運動的量度。優(yōu)選地,實體運動動畫制作包括所述實體的單個身體部分的身體部分運動數(shù)據(jù), 并且,其中與所述實體運動動畫制作相關(guān)的實體變化特征包括所述實體的一個或多個 所述身體部分的位置和/或取向。如果動畫制作的實體變化特征表示動畫制作中的一個或多個身體部分的位置和/ 或取向能夠被改進,使得身體部分的運動更加密切地適合于期望的實體動作,那么在虛擬 環(huán)境中動畫制作該實體之前,動畫制作中的一個或多個身體部分的位置和/或取向可以被 修改。優(yōu)選地,所述選擇的動畫制作的修改包括修改所述選擇的動畫制作中的所述實體 的一個或多個身體部分的位置和/或取向。因此,通過修改該實體的一個或多個身體部分 的位置和/或取向,動畫制作的外觀和感覺可以被改進。優(yōu)選地,與實體運動動畫制作相關(guān)的實體變化特征包括在所述第一關(guān)鍵幀和所述 第二關(guān)鍵幀之間的一個或多個身體部分的位置和/或取向的變化。因此,實體變化特征諸 如該動畫制作的某些點之間的實體的一個或多個身體部分的位置和/或取向的變化可以用作動畫制作多密切地遵從期望的實體運動的量度。優(yōu)選地,第一關(guān)鍵幀和/或所述第二關(guān)鍵幀包括在所述動畫制作中的第一關(guān)鍵幀 和/或最后關(guān)鍵幀。因此,動畫制作中的該實體或該實體的一個或多個身體部分的開始和 結(jié)束位置和/或取向可以被調(diào)節(jié),以便改進動畫制作如何與這個實體的前面的或隨后的動 畫制作拼接在一起,或與虛擬環(huán)境中的其他實體和/或物體相關(guān)的動畫制作拼接在一起。優(yōu)選地,儲存的動畫制作數(shù)據(jù)包括物體動畫制作數(shù)據(jù),所述物體動畫制作數(shù)據(jù)與 所述實體運動動畫制作內(nèi)的一個或多個物體的運動相關(guān),并且其中,所述修改包括修改一個或多個身體部分相對于所述一個或多個物體的位置 和/或取向。因此,修改可以包括修改實體或?qū)嶓w的一個或多個身體部分相對于諸如球的物體 的位置或取向,或反之亦然,使得實體以更加真實的方式與球相互作用,例如,以便踢球或 頂球等。優(yōu)選地,修改包括識別所述修改應(yīng)用于其的實體運動動畫制作的關(guān)鍵幀的子集 (subset)。該修改可以更加真實地應(yīng)用于動畫制作中的關(guān)鍵幀的子集,而不是整個動畫制 作。例如在實體的轉(zhuǎn)動或其他這類運動的主要部分僅僅發(fā)生在動畫制作的很少幾個關(guān)鍵幀 上的情況下,這可能是有用的,在這種情況下修改可以最好地僅僅應(yīng)用于這很少幾個關(guān)鍵 幀上。動畫制作的子集可以在動畫制作數(shù)據(jù)被儲存在客戶機和/或服務(wù)器上之前被識別, 或這可以利用圖像處理技術(shù)由服務(wù)器或客戶機識別。優(yōu)選地,關(guān)鍵幀的子集通過關(guān)鍵幀所識別,在該關(guān)鍵幀中所述實體的給定身體部 分在給定位置和/或在給定取向。因此,子集可以由例如其中實體的腳在地面上或以某個 方向取向等的關(guān)鍵幀所識別。優(yōu)選地,關(guān)鍵幀的子集通過關(guān)鍵幀所識別,在該關(guān)鍵幀中所述實體在給定位置和/ 或在給定取向。因此,子集可以由例如其中諸如球的物體在地上或與實體相比的某個高度 處等的關(guān)鍵幀所識別。優(yōu)選地,給定的身體部分包括所述實體的腳和/或頭,所述給定的物體包括球,并 且所述修改包括相對于所述球的位置和/或取向修改所述腳或所述頭的位置和/或取向。 因此,修改可以用來真實地動畫制作在運動游戲中被使用者控制的實體。優(yōu)選地,修改包括利用反向腿運動學(xué)(inverse leg kinematics)修改在所述關(guān)鍵 幀的子集中的所述實體的一個或多個腿身部分(legbody-part)的位置和/或取向。因此, 如果修改例如包括修改實體的腳在地面上的點(位置,point),那么該實體的腿的位置和 取向可以被修改,以在修改的動畫制作中給出腿更加自然的外觀。在這樣的反向腿運動學(xué) 方法中可以涉及該實體的大腿、膝蓋、小腿、踝或腳等。優(yōu)選地,修改包括修改在所述實體運動動畫制作中的一個或多個關(guān)鍵幀的計時。 因此,修改例如可以包括加速或減慢動畫制作,使得實體可以以更加自然的方式到達或離 開物體或其他實體。這可以例如涉及踢球或抓住另一個實體等。根據(jù)本發(fā)明的第五方面,提供一種計算機執(zhí)行的多個參與者(player)運動游戲, 該游戲包括根據(jù)本發(fā)明的前述方面在數(shù)據(jù)通信網(wǎng)絡(luò)中執(zhí)行的動畫制作,其中每個參與者通 過客戶機控制在所述網(wǎng)絡(luò)上的所述游戲中一個或多個實體。因此,本發(fā)明可以用于在互聯(lián)網(wǎng)上游戲的大量的多個參與者在線(Massively
16Multi-player On-Line, MMO)游戲中動畫制作參與者,其中多個使用者通過其客戶機控制 其實體而服務(wù)器控制每個實體的運動動畫制作。根據(jù)本發(fā)明的第六方面,提供一種適于執(zhí)行本發(fā)明的第一、第二、第三和第四方面 的任何一個或多個的方法的設(shè)備。根據(jù)本發(fā)明的第七方面,提供一種執(zhí)行本發(fā)明的第一、第二、第三和第四方面的任 何一個或多個方法的計算機軟件。在參考附圖對通過僅僅以舉例方式給出的本發(fā)明的優(yōu)選實施方式進行描述后,本 發(fā)明的其他特征和優(yōu)點將變得明顯。


圖1示出根據(jù)本發(fā)明實施方式的用于網(wǎng)絡(luò)游戲環(huán)境的系統(tǒng)示意圖。圖2是示出根據(jù)本發(fā)明實施方式涉及準(zhǔn)備游戲的數(shù)據(jù)文件的步驟的流程圖。圖3示出根據(jù)本發(fā)明實施方式的動作捕捉數(shù)據(jù)編輯系統(tǒng)。圖4是示出根據(jù)本發(fā)明實施方式涉及編輯動作捕捉數(shù)據(jù)的步驟的流程圖。圖5a和5b示出根據(jù)本發(fā)明實施方式的關(guān)鍵幀的實體取向數(shù)據(jù)的計算。圖6示出根據(jù)本發(fā)明實施方式的服務(wù)器功能元件。圖7示出根據(jù)本發(fā)明實施方式的客戶機功能元件。圖8示出根據(jù)本發(fā)明實施方式的基于服務(wù)器的動畫制作數(shù)據(jù)儲存。圖9示出根據(jù)本發(fā)明實施方式的基于客戶機的動畫制作數(shù)據(jù)儲存。圖10是示出根據(jù)本發(fā)明實施方式的實體的動畫制作期間在客戶機和服務(wù)器上進 行的步驟的流程圖。圖11a和lib示出根據(jù)本發(fā)明實施方式的動畫制作的關(guān)鍵幀的修改。
具體實施例方式游戲系統(tǒng)圖1示出根據(jù)本發(fā)明的實施方式用于網(wǎng)絡(luò)游戲環(huán)境的系統(tǒng)示意圖。服務(wù)器100經(jīng) 由數(shù)據(jù)通信網(wǎng)絡(luò)104連接于多個客戶機106、108、110??蛻魴C106、108、110可以包括個人 計算機(PC)、個人數(shù)字管理器(PAD)、膝上型計算機,或能夠提供數(shù)據(jù)處理和游戲功能的任 何其他這種計算裝置。服務(wù)器100和客戶機106、108、110每個分別可以分別訪問數(shù)據(jù)儲存 裝置102、112、114、116,在其上儲存涉及游戲環(huán)境的數(shù)據(jù)。該數(shù)據(jù)儲存裝置可以在服務(wù)器或 客戶機的內(nèi)部或外部。服務(wù)器100負(fù)責(zé)控制在網(wǎng)絡(luò)104上的多個參與者的游戲。該游戲包括虛擬世界或 其他這種虛擬環(huán)境,在該虛擬環(huán)境中諸如角色或化身等的實體被客戶機106、108、110的使 用者控制??蛻魴C106、108、110的使用者通過鍵盤、鼠標(biāo)、操縱桿或其他這類輸入裝置輸入 實體控制數(shù)據(jù),以使其實體在該虛擬環(huán)境中來回運動。服務(wù)器100負(fù)責(zé)模擬實體參與的游戲的虛擬環(huán)境,并處理來自每個客戶機的輸入 數(shù)據(jù),以便確定實體應(yīng)當(dāng)如何運動和相互作用。這種模擬可以包括多個參與者的運動游戲, 例如足球或籃球比賽或冒險游戲。動畫制作編輯系統(tǒng)
圖2是示出根據(jù)本發(fā)明實施方式涉及準(zhǔn)備運動游戲的數(shù)據(jù)文件的步驟的流程圖。 步驟200包括在動作捕捉工作室產(chǎn)生動作捕捉數(shù)據(jù),在所述動作捕捉工作室中演員的運動 被記錄以限定實體可以在游戲中實行的運動動畫制作。在步驟202中,動作捕捉數(shù)據(jù)被輸 出到3D圖形軟件,該3D圖形軟件使該數(shù)據(jù)在計算機屏幕上或其他這種圖形顯示裝置上被 觀察。從動作捕捉工作室接收的動作捕捉數(shù)據(jù)在具有3D圖形功能的計算機應(yīng)用軟件中能 夠被觀察,該計算機應(yīng)用軟件能夠處理動作捕捉數(shù)據(jù)文件,例如由Autodesk公司研發(fā)的 3ds MaX (也叫做3DStidio Max )。步驟204包括編輯運動捕捉數(shù)據(jù)以生成根據(jù)本發(fā)明的 動畫制作數(shù)據(jù)。運動捕捉數(shù)據(jù)的編輯將在下面參考圖3和圖4更加詳細地描述。然后,在 步驟206,將編輯的數(shù)據(jù)與進行該游戲所需要的其他游戲數(shù)據(jù)文件進行匯集(collate)然后,在步驟208,利用自動構(gòu)建(build)程序準(zhǔn)備在虛擬環(huán)境中動畫制作實體所 需要的客戶機和服務(wù)器的數(shù)據(jù)文件。在數(shù)據(jù)通信網(wǎng)絡(luò)中游戲的由服務(wù)器控制的游戲期間動 畫制作該實體,并且該游戲可以包括多個參與者,每個參與者通過客戶機裝置控制一個或 多個實體。構(gòu)建程序(build procedure)的部分生成單一的數(shù)據(jù)文件,該單一的數(shù)據(jù)文件 為所有的支持的實體運動限定動畫制作。在該運動游戲的實例中,這個文件也可以包含與 一個或多個動畫制作中球、光標(biāo)定位器(puck)等運動相關(guān)的數(shù)據(jù)。構(gòu)建程序產(chǎn)生可被儲存 在服務(wù)器和每個客戶機上并且可以被服務(wù)器和每個客戶機使用的輸出數(shù)據(jù)。圖3示出根據(jù)本發(fā)明實施方式的動作捕捉數(shù)據(jù)編輯系統(tǒng)。動作捕捉數(shù)據(jù)302被 輸入到編輯系統(tǒng)300,編輯系統(tǒng)300編輯該動作捕捉數(shù)據(jù)以生成作為輸出的動畫制作數(shù)據(jù) 文件。編輯系統(tǒng)300包括能夠處理動作捕捉數(shù)據(jù)的3D圖形軟件306,例如上面所述的3D Studio Max 。能夠編輯動作捕捉數(shù)據(jù)的動畫制作編輯模塊308與3D圖形編輯器接口。動 畫制作編輯模塊可以是進入3D圖形軟件306的插件(plugin)形式。實體變化特征提取器 310與3D圖形軟件306和動畫制作編輯模塊308兩者都接口,以便從動作捕捉數(shù)據(jù)提取實 體變化特征308。實體變化特征將在下面更詳細地說明。運動平滑(Movement Smoothing)圖4是示出根據(jù)本發(fā)明實施例涉及編輯動作捕捉數(shù)據(jù)的步驟的流程圖。該編輯過 程將動作捕捉數(shù)據(jù)轉(zhuǎn)換成能夠用于根據(jù)本發(fā)明實施例的運動動畫制作的動畫制作數(shù)據(jù)文 件。該動畫制作數(shù)據(jù)文件可以包括用于每個實體動畫制作的多個關(guān)鍵幀。在動畫制作中每 個關(guān)鍵幀所需要的數(shù)據(jù)不一定從動作捕捉數(shù)據(jù)直接得到。而是,可以計算動畫制作中的一 個或多個關(guān)鍵幀的數(shù)據(jù),例如第一和最后關(guān)鍵幀,和通過下面所述的平滑方法從該第一和 最后關(guān)鍵幀得到的中間關(guān)鍵幀所需要的數(shù)據(jù)。通過識別動作捕捉數(shù)據(jù)中的一個或多個動作捕捉幀開始對動畫制作進行編輯。在 這個例子中,雖然可以識別任何其他動作捕捉幀或單個動作捕捉幀,但是在步驟400中識 別第一和最后的動作捕捉幀。在第一和最后的動作捕捉幀中實體的姿勢,即實體的位置和 取向在步驟402被識別。在步驟404中,實體被放置在由3D圖形應(yīng)用軟件(例如上面所述 的3D Studio Max )生成的3D環(huán)境中。例如,該實體可以被放置在由3D圖形軟件限定的 虛擬環(huán)境中的想象的原點(概念上的原點,notional origin)處。實體的取向可以與虛擬 環(huán)境中的想象的坐標(biāo)方向的取向?qū)R,如3D圖形軟件限定的。在步驟406中,計算動畫制作中的第一關(guān)鍵幀的實體位置和實體取向數(shù)據(jù)。在步 驟408中,計算動畫制作中的最后關(guān)鍵幀的實體位置和實體取向數(shù)據(jù)。在步驟410中,計算動畫制作中的第一關(guān)鍵幀和最后關(guān)鍵幀之間的一個或多個中間關(guān)鍵幀的實體位置和實體 取向數(shù)據(jù)。中間關(guān)鍵幀的實體位置和實體取向數(shù)據(jù)可以利用從該第一和最后關(guān)鍵幀的實體 位置和實體取向數(shù)據(jù)來計算。在本發(fā)明的實施方式中,處理與髖骨運動相關(guān)的動作捕捉數(shù)據(jù),以生成與層次結(jié) 構(gòu)(hierarchy)中位于髖骨之上的新平滑過的運動骨骼的運動相關(guān)的數(shù)據(jù)。平滑過的運動 骨骼的運動用于表示在虛擬環(huán)境中高于地面的演員的位置和方向(heading)。然后,平滑過 的運動骨骼的運動用于表示該實體的運動,而不是髖骨的運動。當(dāng)平滑過的運動骨骼數(shù)據(jù)從髖骨數(shù)據(jù)中提取時,將保持修改的髖骨的數(shù)據(jù)。新平 滑過的運動骨骼數(shù)據(jù)和修改的髖骨數(shù)據(jù)的組合效果與原始的未修改的髖骨數(shù)據(jù)的效果相 同,以便保留該動畫制作的總的外觀。如果不是這種情況,那么由于平滑過的運動骨骼的分 離引起的骨骼層次結(jié)構(gòu)的變化,實體動畫制作看起來將不相同。根據(jù)本發(fā)明的實施方式,平滑過的運動骨骼的位置和取向連接于第三人稱視角, 通過該第三人稱視角該實體可以被控制該實體的使用者觀察。平滑過的運動骨骼在虛擬環(huán) 境中來回平滑地運動,因此將提供更自然地查看第三人稱視角,而不產(chǎn)生諸如髖骨的其他 骨骼將產(chǎn)生的任何煩亂(disconcerting)人的運動??梢越⒁粋€或多個實體運動參考文件(reference file),該文件包含涉及每個 動畫制作的平滑過的運動骨骼的運動的數(shù)據(jù)。這種實體運動數(shù)據(jù)可以包括限定該實體的位 置和該實體的取向的數(shù)據(jù)。在本發(fā)明的實施方式中,每個關(guān)鍵幀中的平滑過的運動骨骼的實體位置數(shù)據(jù)被計 算為低于髖骨位置的固定距離,例如,其高度可以設(shè)置為在該關(guān)鍵幀處的任何骨骼的最低 位置以下的固定的小距離。平滑過的運動骨骼位置可以被限制不低于虛擬環(huán)境的零高度地 面位置。在本發(fā)明的實施方式中,計算與一個或多個關(guān)鍵幀中的平滑過的運動骨骼的取向 相關(guān)的實體取向。該平滑過的運動骨骼可以豎直地取向,大致沿著實體向前的方向旋轉(zhuǎn)。每 個關(guān)鍵幀的平滑過的運動骨骼的取向通過定位虛擬環(huán)境中的實體來計算,該虛擬環(huán)境在由 諸如3DStudio Max 的3D圖形軟件生成。該實體可以放置在虛擬環(huán)境的想象的原點處,使 得想象的坐標(biāo)方向——例如在3D Studio Max 中的負(fù)y軸方向,被認(rèn)為是在該動畫制作的 開始姿勢中的向前方向,即該動畫制作的第一關(guān)鍵幀中的向前方向。特定姿勢的向前方向可以從該姿勢的參考文件得到。將在稱為“跑步-動畫制 作-開始-姿勢”的姿勢中開始的跑步動畫制作作為例子。來自動作捕捉工作室的用于跑步 動畫制作的數(shù)據(jù)被認(rèn)為開始于演員站在世界原點并面向前。然后,在“跑步-動畫制作-開 始-姿勢”中開始的動畫制作的起始幀被用作坐標(biāo)(基準(zhǔn))。所以,在那幀中無論髖骨是在 什么角度都限定髖骨相對于向前方向形成的開始角度。圖5a和5b示出根據(jù)本發(fā)明實施方式的關(guān)鍵幀的實體取向數(shù)據(jù)的計算。對于動畫制作中的第一關(guān)鍵幀,計算坐標(biāo)方向和垂直于髖骨軸的方向之間的角 度,并儲存在該動畫制作的參考文件中。根據(jù)本發(fā)明實施方式的這個過程描繪在圖5a中。在動畫制作中的第一關(guān)鍵幀500示出坐標(biāo)方向506,其與當(dāng)作該動畫制作的第一 關(guān)鍵幀中的實體的向前方向?qū)R。該實體的髖骨被示為項(項目,條,item) 510,并且其取向由方向504限定。坐標(biāo)方向506和髖骨取向方向504之間的角度由項508示出。對于該動畫制作中的最后關(guān)鍵幀,坐標(biāo)方向和髖骨取向方向之間的角度類似地計 算,并且儲存在該動畫制作的參考文件中。根據(jù)本發(fā)明的實施方式的這個過程描繪在圖5b 中。在該動畫制作中的最后關(guān)鍵幀502包括坐標(biāo)方向514,其與該動畫制作的第一關(guān) 鍵幀的坐標(biāo)方向506對齊。實體的髖骨示為項518,該項518可見與該動畫制作的第一關(guān) 鍵幀中的髖骨不同地取向,在該情況中限定為方向512。坐標(biāo)方向514和髖骨取向方向512 之間的角度en由項516示出。角度e i和e n限定該動畫制作的第一關(guān)鍵幀和最后關(guān)鍵幀的實體的平滑過的運 動骨骼的偏移。各自的偏移應(yīng)用于動作捕捉髖向前方向,以給出平滑過的運動骨骼向前方 向,即,那些關(guān)鍵幀的實體的取向。在本發(fā)明的實施方式中,從第一和/或最后關(guān)鍵幀中的平滑過的運動骨骼的取向 計算第一和最后關(guān)鍵幀之間的中間關(guān)鍵幀的平滑過的運動骨骼取向。這可以包括平均在第 一和最后關(guān)鍵幀中的平滑過的運動骨骼取向之間的角度。這可以包括在第一和最后關(guān)鍵幀 中的平滑過的運動骨骼取向之間的角度的線性插值。這個過程提供整個動畫制作中實體的平滑過的運動骨骼的平滑旋轉(zhuǎn)(或?qū)τ谘?著由坐標(biāo)方向限定的向前方向移動的動畫制作,沒有旋轉(zhuǎn))。根據(jù)本發(fā)明的實施方式,在實體的動畫制作期間,由客戶機上的使用者觀察的第 三人稱視角或“攝像角度”鏈接于平滑過的運動骨骼的動作。因此,在跑步動畫制作的例子 中,攝像機在實體的后面平滑地向前移動,而沒有不想要的一側(cè)到另一側(cè)的擺動動作。在該 動畫制作上髖骨本身仍然自然地擺動,使得實體的動畫制作保持真實性。在關(guān)鍵幀中已經(jīng)確定平滑過的運動骨骼的位置和取向,諸如矩陣乘法的轉(zhuǎn)換可以 用于確定修改的髖位置。每個關(guān)鍵幀的平滑過的運動骨骼數(shù)據(jù)和每個關(guān)鍵幀的修改的髖骨 數(shù)據(jù)被寫成動畫制作數(shù)據(jù)文件(參考圖3中的項304)以完成編輯過程。可以建立單獨的 動畫制作數(shù)據(jù)文件,用于每個實體運動動畫制作或分組在一起成單個動畫制作數(shù)據(jù)文件的 動畫制作。其他的數(shù)據(jù)可以添加到動畫制作數(shù)據(jù)文件,包括與在骨骼層次結(jié)構(gòu)中的未修改的 骨骼相關(guān)的數(shù)據(jù),或與該動畫制作中的物體的運動——例如限定球或其他這種合適物體的 運動——相關(guān)的數(shù)據(jù)。其他這種物體可以包括諸如劍的武器,或者在動畫制作中諸如實體 可以撿起、投擲、丟掉的石頭或袋子等的項目——這種運動可能已經(jīng)在動作捕捉工作室被 演員相應(yīng)地捕捉。游戲數(shù)據(jù)在本發(fā)明的實施方式中,一個或多個服務(wù)器控制在一個或多個客戶機上的實體動 畫制作。為了實現(xiàn)這種實體動畫制作,服務(wù)器和客戶機具有某些功能元件并且需要訪問某 些數(shù)據(jù),現(xiàn)在將參考圖6至圖9進行描述。圖6示出根據(jù)本發(fā)明實施方式的服務(wù)器功能元件。服務(wù)器600包括游戲控制模塊 612,該模塊612負(fù)責(zé)控制在網(wǎng)絡(luò)上的多個客戶機之間玩的游戲。游戲控制模塊612處理經(jīng) 由網(wǎng)絡(luò)以及輸入/輸出接口 616從客戶機接收的使用者控制的輸入。根據(jù)期望的每個實體 的運動和管理被模擬的虛擬環(huán)境的多個規(guī)則,游戲控制模塊612決定每個實體應(yīng)當(dāng)如何在虛擬環(huán)境中進行動畫制作,并且通過輸入/輸出接口 616將適當(dāng)?shù)目刂菩盘杺鬏斀o每個實 體。游戲控制模塊612模擬虛擬環(huán)境的規(guī)則將取決于具體的應(yīng)用。在足球比賽的例子 中,規(guī)則可以包括涉及每個參與者的技能、經(jīng)驗或適應(yīng)性水平的規(guī)則,或這些參與者將贏得 的或輸?shù)粞b備(tackle)或首先到達球等的管理規(guī)則。在這些規(guī)則中可以采用可能性功能。 其他規(guī)則可以涉及場地的大小(the size of the pitch)、球門的位置,游戲的長度,每隊 參與者的數(shù)目等。游戲控制規(guī)則儲存在游戲控制模塊612能夠訪問的游戲控制規(guī)則數(shù)據(jù)庫 604 中。服務(wù)器600包括動畫制作選擇模塊610,該動畫制作選擇模塊610用于選擇用于每 個客戶機上的實體的合適的動畫制作。動畫制作選擇模塊610根據(jù)儲存在動畫制作選擇規(guī) 則數(shù)據(jù)庫602中的動畫制作選擇規(guī)則來選擇動畫制作。服務(wù)器600包括實體跟蹤模塊614, 該實體跟蹤模塊614負(fù)責(zé)跟蹤運動,例如虛擬環(huán)境中的每個實體的位置和取向。服務(wù)器600 包括用于儲存實體跟蹤數(shù)據(jù)的實體跟蹤數(shù)據(jù)數(shù)據(jù)庫606。服務(wù)器600還包括實體變化特征數(shù)據(jù)庫608,該實體變化特征數(shù)據(jù)庫608用于儲存 實體變化特征,例如在動畫制作過程中的實體的位置和取向的變化;參見下面圖7的描述, 以獲得對實體變化特征數(shù)據(jù)庫608的內(nèi)容的更多的細節(jié)。圖7示出根據(jù)本發(fā)明實施方式的基于服務(wù)器的動畫制作數(shù)據(jù)儲存。該基于服務(wù)器 的動畫制作被儲存在圖6所示的數(shù)據(jù)庫608中,該數(shù)據(jù)庫可以設(shè)置在服務(wù)器自身中或服務(wù) 器可以訪問的遠處。標(biāo)題為“動畫制作標(biāo)識符” 702的表700中的第一列,包括識別大量動畫制作的數(shù) 據(jù)。第二列710、第三列712和第四列714包括涉及動畫制作的實體變化特征。實體變化特 征涉及在動畫制作過程中變化的某些特征,例如該實體的位置、取向和計時。利用實體變化 特征為服務(wù)器提供與該實體在動畫制作過程中如何變化相關(guān)的信息,例如,在動畫制作期 間,特別是在動畫制作的末尾,該實體將在什么位置和/或面向什么方向。標(biāo)題為“ A (X,y,z),,的第二列710,包括在虛擬環(huán)境中沿著X、y和z方向(分別 為左右、前后和上下)的實體的位置變化(由符號△表示的)相關(guān)的動畫制作的實體變 化特征。在表中給出的x、y和z的值可以涉及虛擬環(huán)境中想象的距離單位或公制單位,其 提供適當(dāng)水平的距離粒度(distance granularity)。標(biāo)題為“ A ( e ),,的第三列712包 括與虛擬環(huán)境中的實體取向變化相關(guān)的動畫制作的實體變化特征。在表中給出的e值可 以涉及虛擬環(huán)境中的想象的角度單位或公制單位,其提供適當(dāng)水平的角度粒度(angular granularity),在這種情況下是度。標(biāo)題為“ A (t),,的第四列714包括與虛擬環(huán)境中的實 體時間變化相關(guān)的動畫制作的實體變化特征。在表中給出的t值可以涉及虛擬環(huán)境中的想 象的時間單位或公制單位,其提供適當(dāng)水平的時間粒度(temporal granularity),在這種 情況下是秒。在示例性的表700中,只包括分別具有動畫制作標(biāo)識符A1和A2的兩個動畫制作, 但是許多可以存在于本發(fā)明的實行708中。由項704表示的表700的第二行包括動畫制 作A1,該動畫制作A1的位置變化為在x方向為1,在y方向為2,在z方向為1,取向變化為 45°,而時間變化為3秒。由項706表示的表700的第三行包括動畫制作A2,該動畫制作 A2的位置變化為x在方向為2,在y方向為5,在z方向為0,取向變化為90°,而時間變化
21為4秒。圖8示出根據(jù)本發(fā)明實施方式的客戶機的功能元件??蛻魴C800包括游戲控制模 塊810,該游戲控制模塊810負(fù)責(zé)控制服務(wù)器上的游戲控制模塊612不控制的游戲的方面。 客戶機游戲控制規(guī)則儲存在游戲控制模塊810能夠訪問的游戲控制規(guī)則數(shù)據(jù)庫802中??蛻魴C800還包括用于儲存實體變化特征的實體變化特征數(shù)據(jù)庫806 ;參見下面 圖9的描述,以獲得對實體變化特征數(shù)據(jù)庫806的內(nèi)容的更多的細節(jié)。客戶機800包括實體跟蹤模塊812,該實體跟蹤模塊812負(fù)責(zé)跟蹤運動,例如在虛 擬環(huán)境中與客戶機相關(guān)的一個或多個實體的位置和取向。客戶機800包括用于儲存實體跟 蹤數(shù)據(jù)的實體跟蹤數(shù)據(jù)數(shù)據(jù)庫804??蛻魴C800包括用于在虛擬環(huán)境中表現(xiàn)3D圖形的3D圖形處理器808。客戶機 800包括用于限定該虛擬環(huán)境的布局、結(jié)構(gòu)和運行的虛擬環(huán)境引擎(virtual environment engine)814。這可以例如包括限定場地的外觀和感覺,例如邊線、角旗、廣告招貼板、球門柱 等,以及根據(jù)相關(guān)動畫制作數(shù)據(jù)文件,每個實體和物體在那空間內(nèi)如何進行動畫制作。圖9示出根據(jù)本發(fā)明實施方式的基于客戶機的動畫制作數(shù)據(jù)儲存。該數(shù)據(jù)可以儲 存在圖8所示數(shù)據(jù)庫806中,該數(shù)據(jù)庫806可以設(shè)置在客戶機本身或該客戶機可以訪問的 遠處。表900包括與儲存在圖7中表700所示的服務(wù)器中的非常相同的數(shù)據(jù),因此使用 類似的參考數(shù)字。但是,表900包括附加的列916,該附加的列916包括動畫制作數(shù)據(jù)文件, 該動畫制作數(shù)據(jù)文件包括用于動畫制作虛擬世界的實體的真實數(shù)據(jù)。雖然服務(wù)器可以具有 用于每個動畫制作的實體變化特征的資料,以便確定哪個動畫制作對于每個期望的實體運 動是合適的,但是這些動畫制作數(shù)據(jù)文件不一定儲存在服務(wù)器上。在本發(fā)明的一個實施方式中,客戶機儲存在服務(wù)器上儲存的實體變化特征的復(fù) 本,在這種情況下服務(wù)器只需要識別對于客戶機的動畫制作,而然后,客戶機能夠查找相關(guān) 的動畫制作數(shù)據(jù)文件(列916)及其相應(yīng)的實體變化特征(910、912、914),并且因此動畫制 作虛擬環(huán)境中的實體。在這里,客戶機從前一個動畫制作暗示的結(jié)束位置和結(jié)束時間推導(dǎo) 一個動畫制作的開始位置(位置和取向)和開始時間。這個結(jié)束位置和結(jié)束時間根據(jù)選則 的動畫制作的實體變化特征來計算,這些實體變化特征應(yīng)用于每個實體的先前儲存的跟蹤 數(shù)據(jù)。在本發(fā)明的可選實施方式中,用于動畫制作的開始位置(位置和取向)以及開始 時間形式的開始特征從服務(wù)器發(fā)送到客戶機,以便指示虛擬環(huán)境引擎814在什么地方和什 么時間動畫制作應(yīng)當(dāng)開始在虛擬環(huán)境中進行模擬。在本發(fā)明的又一個實施方式中,客戶機只需要儲存動畫制作數(shù)據(jù)文件和相應(yīng)的動 畫制作標(biāo)識符。在這種情況下,服務(wù)器通知客戶機動畫制作虛擬環(huán)境中的實體所需要的任 何實體變化特征,而不需要先前儲存在客戶機上的這類數(shù)據(jù)。然后,用于每個客戶機的跟蹤 數(shù)據(jù)如在該實施方式中所述計算,其中實體變化特征儲存在客戶機上。在本發(fā)明的所有這些實施方式中,服務(wù)器例如,以一個或多個數(shù)據(jù)包的形式,發(fā)送 間歇的動畫制作信息,這些信息指示客戶機至少哪個動畫制作或動畫制作系列應(yīng)當(dāng)用于動 畫制作虛擬環(huán)境中的實體,連同開始特征和/或?qū)嶓w變化特征——如果適合。這種信息能 夠以規(guī)則的時間間隔發(fā)送,或當(dāng)服務(wù)器認(rèn)為它們被需要時發(fā)送,或者響應(yīng)來自每個客戶機
22的更新要求發(fā)送。在上面的實施方式中,其中根據(jù)利用實體變化特征的計算在客戶機上進行實體的 跟蹤,信息也可以以比較長的時間間隔(與動畫制作信息之間的間隔相比)發(fā)送,該信息包 含開始特征。這類信息能夠有助于減少任何舍入誤差或在網(wǎng)絡(luò)數(shù)據(jù)傳輸中可能發(fā)生的誤差 的影響,這些誤差可能導(dǎo)致服務(wù)器和客戶機虛擬環(huán)境的模擬之間的不一致。進行游戲(玩游戲)圖10是示出根據(jù)本發(fā)明實施方式在虛擬環(huán)境中的實體的動畫制作期間在客戶機 和服務(wù)器上執(zhí)行的步驟的流程圖。在步驟1000中,初始化基于服務(wù)器的游戲數(shù)據(jù)。這可以包括將某些數(shù)據(jù)加載在服 務(wù)器的隨機存儲器(RAM)內(nèi),例如,游戲的控制數(shù)據(jù)和實體跟蹤數(shù)據(jù)等。在步驟1002中,初始化基于客戶機的游戲數(shù)據(jù)。相似地,這可以包括將適當(dāng)?shù)臄?shù) 據(jù)加載在客戶機的隨機存儲器(RAM)內(nèi)。當(dāng)使用者希望移動虛擬環(huán)境中的實體時,例如當(dāng)在網(wǎng)絡(luò)上玩游戲時,經(jīng)由其客戶 機裝置客戶機提供使用者輸入,以指示實體應(yīng)當(dāng)做什么,如在步驟1004中所示。跟蹤數(shù)據(jù) 可以由客戶機處理,以便鑒于使用者輸入在虛擬環(huán)境中跟蹤實體的運動,如在步驟1006中 所示。在步驟1008,這種信息以一個或多個實體控制命令的形式傳輸給網(wǎng)絡(luò)(用虛線 1024表示)上的服務(wù)器。在步驟1010中,服務(wù)器接收實體控制數(shù)據(jù),解釋控制數(shù)據(jù)并相應(yīng) 地選擇實體運動動畫制作,如在步驟1012中所示。這可以包括接收來自超過一個客戶機的 實體控制數(shù)據(jù),并相應(yīng)地為每個客戶機選擇實體運動動畫制作。這還可以包括為一個客戶 機選擇超過一個的動畫制作,用于在客戶機上順次動畫制作。服務(wù)器為每個客戶機選擇哪個動畫制作播放的方式可以由與被模擬的特定的虛 擬環(huán)境相關(guān)的許多規(guī)則來確定。這種規(guī)則的例子已經(jīng)關(guān)于圖6中的游戲控制模塊612在上 面描述。根據(jù)接收自客戶機的數(shù)據(jù),服務(wù)器具有使用者期望的實體運動的資料。服務(wù)器還 具有能夠得到的總的動畫制作集(set)的資料,通過該動畫制作集實體可以進行動畫制 作。利用這種信息,服務(wù)器選擇適合于期望的實體運動的動畫制作,或如果需要選擇動畫制 作系列,然后動畫制作可以相應(yīng)地拼接在一起。服務(wù)器還可以利用與實體的位置和取向——例如該實體的平滑過的運動骨骼的 位置和/或取向——相關(guān)的實體跟蹤數(shù)據(jù),為實體選擇動畫制作。這類實體跟蹤數(shù)據(jù)可以 儲存在服務(wù)器上,并且也可以儲存在客戶機上。動畫制作數(shù)據(jù)文件不一定儲存在服務(wù)器自身中,僅僅儲存在每個客戶機上。每個 動畫制作可以通過單個整型標(biāo)識符(integer identifier)識別,例如,在圖9的第一和第 二列所示的整個動畫制作集的表中所指示的(索引的)。服務(wù)器可以僅僅發(fā)送識別動畫制 作的數(shù)據(jù)和其他相關(guān)的參數(shù),而不發(fā)送動畫制作數(shù)據(jù)本身。這在減少數(shù)據(jù)在網(wǎng)絡(luò)上流動的 同時允許實體的動畫制作。這能夠有助于避免等待和阻塞問題,如果太多的數(shù)據(jù)在服務(wù)器 和客戶機之間流動,將會發(fā)生這種問題。服務(wù)器具有該實體平滑過的運動位置的動作的精 確表示,這與在每個客戶機上的表示可以是相同的。這有助于確保所有的客戶機,例如,在 網(wǎng)絡(luò)游戲中,具有一致的動畫制作進程的視圖,包括他們自己的和其他實體的動畫制作。
在步驟1014中,與選則的運動動畫制作相關(guān)的數(shù)據(jù)然后被傳輸給網(wǎng)絡(luò)1024上的 客戶機。因此,服務(wù)器通知每個客戶機,哪個動畫制作或動畫制作系列應(yīng)當(dāng)被實施,例如,如 由游戲開始時間、動畫制作開始時間、在動畫制作開始時初始的實體位置(包括位置和取 向)以及識別動畫制作(一個或多個)的數(shù)據(jù)所限定的。在步驟1016中,服務(wù)器檢索與選擇的動畫制作相關(guān)的一個或多個實體變化特征, 并且在步驟1018中相應(yīng)地更新實體跟蹤數(shù)據(jù)。然后,服務(wù)器返回到步驟1010,以等待接收 另外的實體控制數(shù)據(jù)。在步驟1020中,與由服務(wù)器所選擇的運動動畫制作相關(guān)的數(shù)據(jù)在客戶機上接收, 并且在步驟1022中用于根據(jù)儲存在該客戶機上的相應(yīng)的動畫制作數(shù)據(jù)文件在該客戶機上 動畫制作虛擬環(huán)境中的實體。在步驟1026中,該客戶機處理與選擇的動畫制作相關(guān)的實體變化特征,并且在步 驟1028中相應(yīng)地更新實體跟蹤數(shù)據(jù)。然后,客戶機返回到步驟1004,以等待接收另外的使 用者輸入。在本發(fā)明的實施方式中,步驟1026的處理可以包括處理從服務(wù)器接收的實體變 化特征,或可以包括處理儲存在客戶機上的實體變化特征。相似地,步驟1028的實體跟 蹤數(shù)據(jù)更新可以包括更新儲存在客戶機上的實體跟蹤數(shù)據(jù),或從服務(wù)器接收的實體跟蹤數(shù) 據(jù)。在足球游戲中實體被動畫制作的情況下,參與者的運動可以從與每個動畫制作的 平滑過的運動骨骼相關(guān)的數(shù)據(jù)確定。如果實體正在控制諸如球的物體,例如用他的腳運球, 那么對于該動畫制作的全部或部分,球的運動可以從合適的球動畫制作數(shù)據(jù)來確定。可選 地,如果球不在參與者的控制下,球的運動可以用限定物質(zhì)運動的物理定律來模擬,在這種 情況下,在3D虛擬環(huán)境中,可以不直接利用動畫制作數(shù)據(jù)。動畫制作修改當(dāng)根據(jù)本發(fā)明實施方式在虛擬環(huán)境中動畫制作實體時,在客戶機上動畫制作實體 之前可能需要修改動畫制作數(shù)據(jù)。這可以進行,以便實體的運動在動畫制作上是平滑的,以 便與在虛擬環(huán)境中的另一個實體的動畫制作進行排序,或者以便實體可以更真實地接近諸 如球的物體,等。這種修改可以包括在動畫制作中實體行進的距離。這種距離修改可以包括實體的 向前或側(cè)面水平距離,或豎直距離,后者例如可以在動畫制作實體跳越或頂球等時發(fā)生。這種修改可以包括在動畫制作中的實體運動的計時,例如加速或減慢實體以便動 畫制作示出實體以如此方式到達虛擬環(huán)境中的位置另一實體可能被抓住等。這種修改可以包括在動畫制作中的實體轉(zhuǎn)動的角度。對于從0°到360°之間的 每個角度儲存與實體的轉(zhuǎn)動相關(guān)的數(shù)據(jù)可能是不實際的,所以客戶機可以只儲存每45°轉(zhuǎn) 動角度的動畫制作數(shù)據(jù)。如果使用者控制的輸入指示轉(zhuǎn)動35°,合適的動畫制作可以由服 務(wù)器選擇,例如包括45°轉(zhuǎn)動的動畫制作,并且運用10°的轉(zhuǎn)動修改,以將45°轉(zhuǎn)動修改 成35°轉(zhuǎn)動。當(dāng)選擇實體運動動畫制作(如圖10中每一步驟1012所示)時,服務(wù)器可以認(rèn)為 動畫制作修改是必要的。在這種情況下,它可以將數(shù)據(jù),和用于動畫制作修改的任何所需的 參數(shù),連同與選擇的運動動畫制作相關(guān)的數(shù)據(jù)一起傳輸給識別該修改的客戶機(如圖10中
24的每一步驟1014所示)。儲存的動畫制作數(shù)據(jù)可以包括多個實體運動動畫制作,每個動畫制作具有相關(guān)的 實體變化特征。這種特征可以例如限定在動畫制作過程中實體的位置或取向如何變化。作 為另一個例子,這種特征可以限定在動畫制作過程中實體的一個或多個身體部分的位置或 取向如何變化。當(dāng)使用者輸入實體控制數(shù)據(jù)時,合適的實體運動動畫制作可以從多個實體運動動 畫制作選擇。但是,選擇的實體動畫制作可能不足夠密切地匹配期望的實體運動。在這種 情況下,可以修改所選擇的實體運動動畫制作,使得實體變化特征更密切地適合期望的實 體運動。轉(zhuǎn)動修改可以在整個動畫制作過程中線性地運用。但是,原始轉(zhuǎn)動的大部分精簡 (condense)為動畫制作中的關(guān)鍵幀的子集。情況經(jīng)常是這樣,特別是在球被實體控制的情 況下、包括復(fù)雜的機動動作的情況下。如果轉(zhuǎn)動修改在整個動畫制作中運用,客戶機可以看見實體開始向左轉(zhuǎn)動,然后 往回向右轉(zhuǎn)動,這是不希望的。因此,希望識別其上大部分轉(zhuǎn)動發(fā)生的動畫制作的子集,并且用該動畫制作記錄 這個計時數(shù)據(jù)。這可以在編輯動作捕捉數(shù)據(jù)期間進行(如圖2中的每個步驟204所示)。 這部分處理可以由人操作者進行,其利用諸如3ds Max 的軟件以識別轉(zhuǎn)動在其中開始并結(jié) 束的動畫制作中的時間偏移,或者可以利用計算機執(zhí)行的圖像處理技術(shù)半自動或全自動進 行。然后識別動畫制作子集的計時數(shù)據(jù)可以相加,此時編輯過的動畫制作數(shù)據(jù)被匯集 在一起(見圖2中的步驟206)。在自動構(gòu)建程序期間,計時數(shù)據(jù)可以儲存在服務(wù)器和客戶 機兩者都能夠得到的輸出文件中。然后,轉(zhuǎn)動修改是可以運用在被識別的動畫制作子集上。轉(zhuǎn)動修改例如可以線性 的運用于被識別的動畫制作子集上。對轉(zhuǎn)動角度的修改同樣也可以修改在地面上的平滑過的運動骨骼的最終位移。因 此,當(dāng)運用轉(zhuǎn)動角度修改時,可以希望也修改平滑過的運動骨骼的最終位移。通過假定所有的轉(zhuǎn)動修改在轉(zhuǎn)動開始時被運用,這種位移可以在轉(zhuǎn)動修改開始之 后的任何時候表示。這能夠用下面的偽代碼描述。定義clamp函數(shù)(夾函數(shù),clamp function),使得對于x,clamp (x, a, b)返回到 最近的值,使a<x<b。將從動畫制作開始后時間t時平滑過的運動骨骼的位置(位置和取向)定義為 T(t)。該位置可以給出為變換形式的數(shù)學(xué)表達式,該表達式通常用4X4的矩陣表示。將繞實體的垂直軸旋轉(zhuǎn)e角表示為變換R( e)。將動畫制作中的轉(zhuǎn)動周期的開始和結(jié)束分別表示為時間偏移、和、。用動畫制作中的轉(zhuǎn)動修改角度(e ),構(gòu)造表示在時間t時修改的平滑過的運動骨 骼位置Tmod(t)的變換mod_ 時間=clamp (t, t0, t:)mod_ 角度=e *(mod_ 時間 _tQ)/(t「t0)Tmod (t) = T (t0) *Rz (mod_ 角度)* 反(T (t0)) *T (t)
圖11a和lib示出根據(jù)本發(fā)明實施方式的動畫制作的水平修改。修改動畫制作中的實體的水平位移(移動)可能是必須的。例如,如果實體朝著 靜止球跑動,可能發(fā)生水平修改。為了實體控制球,可能需要播放多個跑步動畫制作循環(huán), 然后是球控制動畫制作。希望球控制動畫制作從實體的腳正好接觸該球的時間和地方的那 個位置開始。因此通常需要縮短或增長跑步動畫制作,以便實體到達期望的位置。圖11a示出動畫制作的三個未修改的關(guān)鍵幀的系列,所述動畫制作描述實體接近 球1100的步驟。這些步驟是實體的腳在虛擬環(huán)境中的地面上的點(位置)。在這個圖所示 的三個關(guān)鍵幀之間中可以有其他的關(guān)鍵幀,其中參與者的腳可以在其他位置,但是這些在 這個例子中沒有表示出。在第一關(guān)鍵幀1128中,實體的左腳1102與項1104成一直線。在第二關(guān)鍵幀1130 中,實體的右腳1106與項1108成一直線。在第三關(guān)鍵幀1132中,實體的左腳1110與項 1112成一直線。當(dāng)球被右腳的人踢時,通常該人朝著球調(diào)整其助跑,以便使得當(dāng)球被其右腳踢時, 其左腳的中間將被放置在球的左面,大致與球的中間成一直線。在圖11a,如果服務(wù)器已經(jīng)計算踢球?qū)⒃陉P(guān)鍵幀3期間(或下一個關(guān)鍵幀中)開 始,那么動畫制作可能顯示出不真實。這是由于項1114所示的左腳1110的中間與球1110 的中間1116不成一直線??梢钥吹?,球1110的中間1116與實體的左腳的中間是由項1118 所示的距離。因此,希望調(diào)整踢球前的關(guān)鍵幀中實體的步伐,使得在該動畫制作的第三關(guān)鍵幀 1132中實體接近該球并將其腳放置與球?qū)R。因此,服務(wù)器確定多少動畫制作位移應(yīng)當(dāng)修改以便到達期望的結(jié)果。然后,這被通 知客戶機,然后,客戶機相應(yīng)地處理該動畫制作。對于任何給定的動畫制作,位移的量應(yīng)當(dāng) 限制在合理的限度內(nèi),以便動畫制作具有可接受的外觀和感覺。圖lib示出一旦所需要的修改已經(jīng)運用到實體的步伐之后該動畫制作看起來如 何。在第一關(guān)鍵幀1128中,實體的左腳1102已經(jīng)被修改,使得它現(xiàn)在是高于項1104 的距離1120。在第二關(guān)鍵幀1130中,實體右腳1106已經(jīng)被修改,使得它現(xiàn)在是高于項1108 的距離1122。在第三關(guān)鍵幀1132中,實體的左腳1110已經(jīng)被修改,使得它現(xiàn)在是高于項 1112的距離1124。這產(chǎn)生期望的效果當(dāng)球被踢或?qū)⒁惶邥r,在第三關(guān)鍵幀1132中,實 體的左腳1110的中間1126現(xiàn)在與球1100對齊。沒有進一步的動作,當(dāng)播放修改的動畫制作時,實體的腳將顯現(xiàn)出滑過一定的范 圍。例如,假定跑步動畫制作自然地向前移動該參與者1. 5米,并且運用修改減少向前的動 作0. 5米,并且增加0. 25米的側(cè)面位移。由于運用修改,參與者的腳將顯現(xiàn)出滑過地面。這個問題可以這樣解決通過識別動畫制作的時期,在該時期期間每個腳放置在 地面上。然后,可以采用反向腿運動學(xué)調(diào)整實體的腿運動,使得在相同的時期期間,每個腳 保持放置。這可以包括調(diào)整實體的腿身部分(leg body-part)例如大腿、膝蓋、小腿、踝和 腳等對于修改的腳放置位置成為自然顯出的姿勢。用于執(zhí)行這種反向腿運動學(xué)補償?shù)臄?shù)學(xué) 和算法的細節(jié),對于本領(lǐng)域的技術(shù)人員而言將是很清楚的,因此在這里不詳細描述。一旦服務(wù)器已經(jīng)計算動畫制作修改應(yīng)當(dāng)運用于一個或多個客戶機上的動畫制作或動畫制作系列,該服務(wù)器可以將與修改相關(guān)的數(shù)據(jù)傳輸給相關(guān)的客戶機。然后,修改可以 運用于實體跟蹤數(shù)據(jù),所述實體跟蹤數(shù)據(jù)相應(yīng)于服務(wù)器上的并且也可能在客戶機上的平滑 過的運動骨骼的運動。上述實施方式應(yīng)當(dāng)理解為本發(fā)明的說明性的例子。也可以設(shè)想本發(fā)明的其他實施 方式。上面的說明書描述計算用于動畫制作的第一和最后關(guān)鍵幀的平滑過的運動骨骼 數(shù)據(jù),并且利用這種數(shù)據(jù)來計算用于中間關(guān)鍵幀的平滑過的運動骨骼數(shù)據(jù)。在可選實施方 式中,可以首先計算用于動畫制作的第一和最后關(guān)鍵幀之外的關(guān)鍵幀的平滑過的運動骨骼 數(shù)據(jù),例如用于中間關(guān)鍵幀的平滑過的運動骨骼數(shù)據(jù),并且用于生成包括第一和最后關(guān)鍵 幀的其他關(guān)鍵幀的平滑過的運動骨骼數(shù)據(jù)。在其他可選實施方式中,可能不進行平滑,并且 可以單獨地計算所有關(guān)鍵幀的平滑過的運動骨骼數(shù)據(jù)。
諸如在示例性附圖11a和lib示出的位移修改在動畫制作中可以運用于多于或少 于三個關(guān)鍵幀上,或甚至整個動畫制作上。位移修改可以線性地運用于這種關(guān)鍵幀上或非 線性的運用以在一些關(guān)鍵幀中比另一些關(guān)鍵幀產(chǎn)生更多的位移。該位移也可以包括沿著垂 直于圖11a和lib的項1104、1108和1112的方向修改實體的位移。參考基于客戶機-服務(wù)器的結(jié)構(gòu)進行描述的本發(fā)明的實施方式也可以在其他結(jié) 構(gòu)中執(zhí)行,反之亦然。應(yīng)當(dāng)理解對于任何一個實施方式中描述的任何特征可以單獨使用,或者與所描述 的其他特征組合使用,并且也可以與任何其他實施方式的一個或多個特征組合使用,或者 可以與任何其他實施方式的任何組合使用。而且,上面未描述的等同物和修改也可以采用, 而不脫離由權(quán)利要求限定的本發(fā)明的范圍。
2權(quán)利要求
一種基于服務(wù)器的方法,用于在虛擬環(huán)境中控制在使用者控制的實體的客戶機上動畫制作,所述使用者控制是基于客戶機的,所述方法包括將與跟蹤所述虛擬環(huán)境中的第一實體相關(guān)的第一實體跟蹤數(shù)據(jù)儲存在服務(wù)器上;在所述服務(wù)器上,接收來自第一客戶機,與所述虛擬環(huán)境中的所述第一實體的使用者控制相關(guān)的實體控制輸入數(shù)據(jù);根據(jù)從所述第一客戶機接收的所述輸入數(shù)據(jù),在所述服務(wù)器上選擇待在所述第一客戶機上動畫制作的第一動畫制作,待在所述第一客戶機上動畫制作的所述第一動畫制作選自第一組動畫制作;從所述服務(wù)器向所述第一客戶機傳輸識別所述虛擬環(huán)境中的所述第一實體的所述第一選擇的動畫制作的第一數(shù)據(jù);檢索與待在所述第一客戶機上動畫制作的所述第一選擇的動畫制作相關(guān)的一個或多個實體變化特征;以及根據(jù)所述檢索的與待在所述第一客戶機上動畫制作的所述第一選擇的動畫制作相關(guān)的實體變化特征,更新所述儲存的第一實體跟蹤數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,還包括根據(jù)所述儲存的第一實體跟蹤數(shù)據(jù)選擇待在所 述第一客戶機上動畫制作的所述第一動畫制作。
3.根據(jù)權(quán)利要求1或2所述的方法,其中所述第一儲存的實體跟蹤數(shù)據(jù)包括在一系列 動畫制作期間與跟蹤所述第一實體的位置相關(guān)的位置數(shù)據(jù)。
4.根據(jù)任何前述權(quán)利要求所述的方法,其中所述第一儲存的實體跟蹤數(shù)據(jù)包括在一系 列動畫制作期間與跟蹤所述第一實體的取向相關(guān)的取向數(shù)據(jù)。
5.根據(jù)任何前述權(quán)利要求所述的方法,其中所述第一儲存的實體跟蹤數(shù)據(jù)包括在一系 列動畫制作期間與跟蹤所述第一實體的計時相關(guān)的計時數(shù)據(jù)。
6.根據(jù)任何前述權(quán)利要求所述的方法,包括在所述服務(wù)器上,從所述第一組動畫制作中選擇待在所述第一客戶機上動畫制作的附 加的動畫制作;從所述服務(wù)器向所述第一客戶機傳輸附加數(shù)據(jù),所述附加數(shù)據(jù)識別待在所述第一客戶 機上動畫制作的所述附加動畫制作;檢索與所述附加的選擇的動畫制作相關(guān)的一個或多個附加的實體變化特征;和 根據(jù)所述檢索的附加的實體變化特征,更新所述儲存的第一實體跟蹤數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的方法,其中所述第一選擇的動畫制作和所述附加的選擇的動 畫制作順次選擇動畫制作。
8.根據(jù)任何前述權(quán)利要求所述的方法,其中所述動畫制作組從動作捕捉數(shù)據(jù)得到。
9.根據(jù)任何前述權(quán)利要求所述的方法,還包括將與跟蹤所述虛擬環(huán)境中的第二實體相關(guān)的第二實體跟蹤數(shù)據(jù)儲存在所述服務(wù)器上;在所述服務(wù)器上接收來自第二客戶機的,與所述虛擬環(huán)境中的所述第二實體的使用者 控制相關(guān)的實體控制輸入數(shù)據(jù),所述第二客戶機遠離所述第一客戶機;根據(jù)從所述第二客戶機接收的所述輸入數(shù)據(jù),在所述服務(wù)器上選擇待在所述第二客戶 機上動畫制作的第一動畫制作,待在所述第二客戶機上動畫制作的所述第一動畫制作選自第二組動畫制作;從所述服務(wù)器向所述第二客戶機傳輸數(shù)據(jù),所述數(shù)據(jù)識別在所述虛擬環(huán)境中待在所述 第二客戶機上動畫制作的所述第一選擇的動畫制作;檢索與待在所述第二客戶機上動畫制作的所述第一選擇的動畫制作相關(guān)的一個或多 個實體變化特征;以及根據(jù)所述檢索的與待在所述第二客戶機上動畫制作的所述第一選擇的動畫制作相關(guān) 的實體變化特征,更新所述儲存的第二實體跟蹤數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述方法,包括進一步根據(jù)所述儲存的第二實體跟蹤數(shù)據(jù),選擇待 在所述第二客戶機上動畫制作的所述第一動畫制作。
11.根據(jù)任何前述權(quán)利要求所述的方法,其中所述檢索的變化特征從在所述服務(wù)器上 的存儲器儲存檢索。
12.根據(jù)權(quán)利要求9至11的任何一項所述的方法,其中所述第一組和第二組包括一個 或多個共用的實體動畫制作。
13.根據(jù)權(quán)利要求9至12的任何一項所述的方法,其中如果所述第一實體和所述第二 實體在所述虛擬環(huán)境中相互作用,則在所述第一組中的所述動畫制作的所述選擇取決于在 所述第二組中的所述動畫制作的所述選擇。
14.一種基于客戶機的,用于在客戶機上在虛擬環(huán)境中在使用者控制的實體的運動動 畫制作的方法,所述使用者控制是基于客戶機的,所述方法包括將動畫制作數(shù)據(jù)儲存在第一客戶機上,所述儲存的動畫制作數(shù)據(jù)包括第一組實體動畫 制作;在所述第一客戶機上,處理與跟蹤虛擬環(huán)境中的第一實體相關(guān)的第一實體跟蹤數(shù)據(jù); 從所述第一客戶機向服務(wù)器傳輸實體控制輸入數(shù)據(jù),所述輸入數(shù)據(jù)與所述虛擬環(huán)境中 的第一實體的使用者控制相關(guān);在所述第一客戶機上從所述服務(wù)器接收第一數(shù)據(jù),所述接收的第一數(shù)據(jù)包括識別在所 述第一組中的實體動畫制作的第一選擇數(shù)據(jù);以及根據(jù)所述第一接收的數(shù)據(jù)、儲存在所述第一客戶機上的動畫制作數(shù)據(jù)和所述第一實體 跟蹤數(shù)據(jù),在所述第一客戶機上動畫制作在虛擬環(huán)境中的第一實體。
15.根據(jù)權(quán)利要求14所述的方法,包括在所述第一客戶機上從所述服務(wù)器接收所述第 一實體跟蹤數(shù)據(jù)。
16.根據(jù)權(quán)利要求14或15所述的方法,包括將所述第一實體跟蹤數(shù)據(jù)儲存在所述客戶 機上,其中所述實體跟蹤數(shù)據(jù)的處理包括,從所述客戶機上的所述儲存檢索實體跟蹤數(shù)據(jù)。
17.根據(jù)權(quán)利要求14至16任何一項所述的方法,還包括在所述客戶機上處理與所述識別的實體動畫制作相關(guān)的實體變化特征; 根據(jù)所述處理的實體變化特征,更新所述第一實體跟蹤數(shù)據(jù);以及 根據(jù)所述更新的第一實體跟蹤數(shù)據(jù),進一步在所述客戶機上動畫制作所述虛擬環(huán)境中 的所述第一實體。
18.根據(jù)權(quán)利要求17所述的方法,包括在所述客戶機上從所述服務(wù)器接收所述實體變 化特征。
19.根據(jù)權(quán)利要求17或18所述的方法,包括將所述實體變化特征儲存在所述客戶機上,其中所述實體變化特征的所述處理包括從所述客戶機上的所述儲存檢索所述實體變 化特征。
20.根據(jù)權(quán)利要求14至19任何一項所述的方法,其中所述第一實體跟蹤數(shù)據(jù)包括在一 系列動畫制作期間與跟蹤所述第一實體的位置相關(guān)的位置數(shù)據(jù)。
21.根據(jù)權(quán)利要求14至20任何一項所述的方法,其中所述第一實體跟蹤數(shù)據(jù)包括在一 系列動畫制作期間與跟蹤所述第一實體的取向相關(guān)的取向數(shù)據(jù)。
22.根據(jù)權(quán)利要求14至21任何一項所述的方法,其中所述第一實體跟蹤數(shù)據(jù)包括在一 系列動畫制作期間與跟蹤所述第一實體的計時相關(guān)的計時數(shù)據(jù)。
23.根據(jù)權(quán)利要求14至22任何一項所述的方法,其中所述第一接收數(shù)據(jù)包括在所述第 一組中識別附加的實體動畫制作的附加的選擇數(shù)據(jù),并且所述動畫制作步驟包括順次動畫 制作所述識別的動畫制作。
24.根據(jù)權(quán)利要求14至23任何一項所述的方法,其中所述儲存的動畫制作數(shù)據(jù)從動作 捕捉數(shù)據(jù)得到。
25.根據(jù)權(quán)利要求14至24任何一項所述的方法,還包括將動畫制作數(shù)據(jù)儲存在第二客戶機上,所述第二客戶機遠離所述第一客戶機,儲存在 所述第二客戶機上的所述動畫制作數(shù)據(jù)包括第二組實體動畫制作;在所述第二客戶機上,處理與跟蹤虛擬環(huán)境中的第二實體相關(guān)的第二實體跟蹤數(shù)據(jù); 從所述第二客戶機向所述服務(wù)器傳輸實體控制輸入數(shù)據(jù),從所述第二客戶機傳輸?shù)乃?述輸入數(shù)據(jù)與所述虛擬環(huán)境中的第二實體的使用者控制相關(guān);在所述第二客戶機上從所述服務(wù)器接收第二數(shù)據(jù),所述第二接收的數(shù)據(jù)包括識別在所 述第二組中的實體動畫制作的第二選擇數(shù)據(jù);以及根據(jù)所述第二接收的數(shù)據(jù)、儲存在所述第二客戶機上的所述動畫制作數(shù)據(jù)和所述第二 實體跟蹤數(shù)據(jù),在所述第二客戶機上動畫制作在所述虛擬環(huán)境中的所述第二實體。
26.根據(jù)權(quán)利要25所述的方法,其中所述第一組和第二組包括一個或多個共用的實體 動畫制作。
27.根據(jù)權(quán)利要25或26所述的方法,其中如果所述第一實體和所述第二實體在所述虛 擬環(huán)境中相互作用,則所述第一組中的所述動畫制作的所述識別取決于所述第二組中的所 述動畫制作的所述識別。
28.一種用于在虛擬環(huán)境中的使用者控制的實體的運動動畫制作的方法,所述方法包括儲存從動作捕捉數(shù)據(jù)得到的動畫制作數(shù)據(jù),所述儲存的動畫制作數(shù)據(jù)包括實體運動動 畫制作,所述實體運動動畫制作包括所述實體的單個身體部分的身體部分運動數(shù)據(jù);接收實體控制輸入數(shù)據(jù),所述輸入數(shù)據(jù)與在所述虛擬環(huán)境中使用者控制的所述實體的 運動相關(guān);以及根據(jù)所述儲存的動畫制作數(shù)據(jù)以第三人稱視角動畫制作所述虛擬環(huán)境中的所述實體, 其中所述第三人稱視角的位置和取向由至少一些所述身體部分運動數(shù)據(jù)來限定。
29.根據(jù)權(quán)利要28所述的方法,其中所述動作捕捉數(shù)據(jù)包括多個動作捕捉幀,并且其中第三人稱視角的位置和取向可以由身體部分的身體部分運動數(shù)據(jù)來限定,所述身 體部分運動數(shù)據(jù)通過在動作捕捉幀之間平滑從所述動作捕捉數(shù)據(jù)得到。
30.根據(jù)權(quán)利要29所述的方法,其中所述實體運動動畫制作包括多個關(guān)鍵幀,并且其 中關(guān)鍵幀的所述第三人稱視角位置從一個或多個所述動作捕捉幀中的所述身體部分的位 置得到,并且關(guān)鍵幀的第三人稱視角取向從一個或多個所述動作捕捉幀中的所述身體部分 取向得到。
31.根據(jù)權(quán)利要30所述的方法,其中所述一個或多個所述動作捕捉幀包括在所述多個 動作捕捉幀中的第一和/或最后動作捕捉幀。
32.根據(jù)權(quán)利要30或31所述的方法,其中得到關(guān)鍵幀的所述第三人稱視角取向包括限 定與一個或多個動作捕捉幀中的身體部分的取向相關(guān)的一個或多個方向。
33.根據(jù)權(quán)利要32所述的方法,其中得到關(guān)鍵幀的所述第三人稱視角取向包括確定所 述一個或多個身體部分取向方向和所述虛擬環(huán)境中的坐標(biāo)之間的關(guān)系。
34.根據(jù)權(quán)利要33所述的方法,其中所述坐標(biāo)包括在所述虛擬環(huán)境中的坐標(biāo)方向。
35.根據(jù)權(quán)利要34所述的方法,其中所述關(guān)系包括所述身體部分取向方向和所述坐標(biāo) 方向之間的一個或多個角度。
36.根據(jù)權(quán)利要35所述的方法,其中所述一個或多個角度用來確定關(guān)鍵幀的所述第三 人稱視角取向。
37.根據(jù)權(quán)利要30至36任何一項所述的方法,其中所述動畫制作中的關(guān)鍵幀的第三人 稱視角取向利用所述動畫制作中的兩個或更多個其他關(guān)鍵幀的第三人稱視角取向來計算。
38.根據(jù)權(quán)利要37所述的方法,其中所述兩個或更多個其他的關(guān)鍵幀包括所述動畫制 作中的第一和最后關(guān)鍵幀。
39.根據(jù)權(quán)利要37或38所述的方法,其中所述利用兩個或更多個其他關(guān)鍵幀的第三人 稱視角取向?qū)嶓w取向方向計算關(guān)鍵幀的第三人稱視角取向包括所述兩個或更多個其他關(guān) 鍵幀的第三人稱視角之間的平均。
40.根據(jù)權(quán)利要39所述的方法,其中所述平均包括線性插值。
41.根據(jù)權(quán)利要30至40任何一項所述的方法,其中得到關(guān)鍵幀的所述第三人稱視角位 置包括移動在一個或多個動作捕捉幀中的所述身體部分的位置。
42.根據(jù)權(quán)利要41所述的方法,其中所述移動包括減去所述實體的豎直高度平面中的 固定的量。
43.根據(jù)權(quán)利要41或42所述的方法,其中所述移動可以被所述虛擬環(huán)境中的坐標(biāo)高度 所限制。
44.根據(jù)權(quán)利要28至43任何一項所述的方法,其中所述實體是骨樣的角色。
45.根據(jù)權(quán)利要31至43任何一項所述的方法,其中所述身體部分包括對應(yīng)于所述實體 的髖骨的兩個身體部分。
46.一種在虛擬環(huán)境中用于使用者控制的實體的運動動畫制作的方法,所述方法包括儲存動畫制作數(shù)據(jù),所述儲存的動畫制作數(shù)據(jù)包括多個實體運動動畫制作,每個所述 實體運動動畫制作具有相關(guān)的實體變化特征;接收實體控制輸入數(shù)據(jù),所述輸入數(shù)據(jù)與所述虛擬環(huán)境中的使用者控制的所述實體的運動相關(guān);根據(jù)所述輸入數(shù)據(jù),從所述多個選擇實體運動動畫制作,并且修改所述選擇的動畫制 作,使得與所述選擇的動畫制作相關(guān)的所述實體變化特征被修改;以及根據(jù)所述修改的動畫制作,動畫制作在所述虛擬環(huán)境中的所述實體。
47.根據(jù)權(quán)利要46所述的方法,其中所述實體變化特征包括在所述實體運動動畫制作 中的所述實體的位置和/或取向,并且所述選擇的動畫制作的所述修改包括修改在所述選 擇的動畫制作中的所述實體的位置和/或取向。
48.根據(jù)權(quán)利要47或48所述的方法,其中所述實體運動動畫制作包括多個關(guān)鍵幀,并且所述實體變化特征包括在所述實體運動動畫制作中的第一和第二關(guān)鍵幀之間的所述 實體的位置和/或取向的變化。
49.根據(jù)權(quán)利要46至48任何一項所述的方法,其中所述儲存的動畫制作數(shù)據(jù)從動作捕 捉數(shù)據(jù)得到。
50.根據(jù)權(quán)利要46至49任何一項所述的方法,其中所述實體運動動畫制作包括所述實 體的單個身體部分的身體部分運動數(shù)據(jù),并且,其中與所述實體運動動畫制作相關(guān)的實體變化特征包括所述實體的一個或多個所述 身體部分的位置和/或取向。
51.根據(jù)權(quán)利要50所述的方法,其中并且所述選擇的動畫制作的所述修改包括修改所 述選擇的動畫制作中的所述實體的一個或多個身體部分的位置和/或取向。
52.根據(jù)權(quán)利要50或51所述的方法,其中與實體運動動畫制作相關(guān)的所述實體變化 特征包括在所述第一關(guān)鍵幀和所述第二關(guān)鍵幀之間的所述一個或多個身體部分的位置和/ 或取向的變化。
53.根據(jù)權(quán)利要48或52所述的方法,其中所述第一關(guān)鍵幀和/或所述第二關(guān)鍵幀包括 在所述動畫制作中的第一關(guān)鍵幀和/或最后關(guān)鍵幀。
54.根據(jù)權(quán)利要50至53任何一項所述的方法,其中所述儲存的動畫制作數(shù)據(jù)包括物體 動畫制作的數(shù)據(jù),所述物體動畫制作數(shù)據(jù)與在所述實體運動動畫制作內(nèi)的一個或多個物體 的運動相關(guān),并且其中,所述修改包括修改一個或多個身體部分相對于所述一個或多個物體的位置和/ 或取向。
55.根據(jù)權(quán)利要48至54任何一項所述的方法,其中所述修改包括識別所述修改應(yīng)用于 其的實體運動動畫制作的關(guān)鍵幀的子集。
56.根據(jù)權(quán)利要55所述的方法,其中所述關(guān)鍵幀的子集通過關(guān)鍵幀所識別,在該關(guān)鍵 幀中所述實體的給定身體部分在給定位置和/或在給定取向。
57.根據(jù)權(quán)利要55或56所述的方法,其中所述關(guān)鍵幀的子集通過關(guān)鍵幀所識別,在該 關(guān)鍵幀中,給定的物體在給定的位置和/或在給定的取向。
58.根據(jù)權(quán)利要57所述的方法,其中所述給定的身體部分包括所述實體的腳和/或頭, 所述給定的物體包括球,并且所述修改包括相對于所述球的位置和/或取向修改所述腳或 所述頭的位置和/或取向。
59.根據(jù)權(quán)利要55至58任何一項所述的方法,其中所述修改包括利用反向腿運動學(xué)修改所述關(guān)鍵幀的子集中的所述實體的一個或多個腿身部分的位置和/或取向。
60.根據(jù)權(quán)利要48至59任何一項所述的方法,其中所述修改包括修改在所述實體運動 動畫制作中的一個或多個關(guān)鍵幀的計時。
61.一種計算機執(zhí)行的多個參與者運動游戲,該游戲包括根據(jù)本任何前述權(quán)利要求在 數(shù)據(jù)通信網(wǎng)絡(luò)中執(zhí)行的動畫制作,其中每個參與者通過客戶機控制在所述網(wǎng)絡(luò)上的所述游 戲中一個或多個實體。
62.一種適于執(zhí)行權(quán)利要求1至60任何一項的方法的設(shè)備。
63.一種示于執(zhí)行權(quán)利要求1至60任何一項的方法的計算機軟件。
全文摘要
本發(fā)明涉及用于使用者控制的虛擬環(huán)境中的實體的運動動畫制作的方法和設(shè)備。實體跟蹤數(shù)據(jù)儲存在服務(wù)器上,以便跟蹤虛擬環(huán)境中的實體的運動。使用者可以通過客戶機輸入其實體期望的動作,該期望的動作從客戶機傳輸給服務(wù)器。服務(wù)器利用接收的數(shù)據(jù)選擇用于實體的合適的動畫制作。然后服務(wù)器將識別該選擇的動畫制作的數(shù)據(jù)傳輸給客戶機,因此控制在客戶機上的實體的動畫制作。通過利用動畫制作數(shù)據(jù)模擬實體的運動,連同保持虛擬環(huán)境中的實體的運動的精確表示,服務(wù)器可以精確地控制實體并且因此該實體的動畫制作可以是更加真實。
文檔編號G06T13/00GK101854986SQ200880115895
公開日2010年10月6日 申請日期2008年11月14日 優(yōu)先權(quán)日2007年11月14日
發(fā)明者G·R·亞歷山大, J·格林, M·I·克拉克, P·泰姆派斯特, R·羅考斯祖, S·馬歇爾 申請人:網(wǎng)絡(luò)體育有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
布尔津县| 色达县| 通海县| 松原市| 新兴县| 安平县| 专栏| 永嘉县| 余姚市| 房山区| 资兴市| 苍南县| 奉贤区| 讷河市| 雅安市| 通州区| 保德县| 东至县| 武定县| 新巴尔虎左旗| 铅山县| 大庆市| 湄潭县| 定边县| 大悟县| 湘潭县| 石台县| 汝阳县| 霍城县| 怀远县| 延庆县| 邯郸市| 武冈市| 建德市| 五峰| 平南县| 泸定县| 淄博市| 上饶县| 福安市| 濮阳县|