專利名稱:將骨架數(shù)據(jù)實(shí)時(shí)重新定標(biāo)到游戲化身的制作方法
將骨架數(shù)據(jù)實(shí)時(shí)重新定標(biāo)到游戲化身
背景技術(shù):
諸如計(jì)算機(jī)游戲、多媒體應(yīng)用等許多計(jì)算應(yīng)用包括使用典型的運(yùn)動(dòng)捕捉技術(shù)來(lái)動(dòng)畫化的化身或人物。例如,在開(kāi)發(fā)高爾夫球游戲時(shí),可以將專業(yè)高爾夫球手帶入具有運(yùn)動(dòng)捕捉設(shè)備的工作室,該運(yùn)動(dòng)捕捉設(shè)備包括例如朝向工作室中的特定點(diǎn)的多個(gè)照相機(jī)。專業(yè)高爾夫球手然后可以裝備具有多個(gè)點(diǎn)指示器的運(yùn)動(dòng)捕捉套裝,這些點(diǎn)指示器可以用照相機(jī)來(lái)配置并由照相機(jī)跟蹤,以使得照相機(jī)可捕捉例如專業(yè)高爾夫球手的運(yùn)動(dòng)。這些運(yùn)動(dòng)然后能夠在開(kāi)發(fā)高爾夫球游戲期間被應(yīng)用于化身或人物。當(dāng)完成高爾夫球游戲后,化身或人物然后能夠在執(zhí)行高爾夫球游戲期間用專業(yè)高爾夫球手的運(yùn)動(dòng)來(lái)動(dòng)畫化。不幸的是,典型的運(yùn)動(dòng)捕捉技術(shù)是昂貴的,依靠特定應(yīng)用的開(kāi)發(fā),并且不包括與應(yīng)用的實(shí)際玩家或用戶相關(guān)聯(lián)的運(yùn)動(dòng)。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)示例性實(shí)施例描述了一種方法。在該示例中,該方法包括但不限于, 在應(yīng)用的實(shí)時(shí)執(zhí)行期間,接收化身末端效應(yīng)物的位置;化身末端效應(yīng)物被設(shè)置到使用用戶末端效應(yīng)物的位置計(jì)算的位置;用戶末端效應(yīng)物的位置先前從用戶的圖像生成;并在應(yīng)用的實(shí)時(shí)執(zhí)行期間,確定化身模型關(guān)節(jié)的位置以獲得化身模型解剖學(xué)上可能的姿態(tài),該化身模型關(guān)節(jié)的位置至少?gòu)脑摶砟┒诵?yīng)物的位置確定。除了上述方面,構(gòu)成本公開(kāi)的一部分的權(quán)利要求、附圖、以及文本還描述了其他方面。本發(fā)明的一個(gè)示例性實(shí)施例描述了一種方法。在該示例中,該方法包括但不限于,執(zhí)行視頻游戲;基于從視頻游戲接收的信息加載化身模型,該化身模型包括化身末端效應(yīng)物和多個(gè)化身節(jié)點(diǎn);接收用戶末端效應(yīng)物的位置信息;在視頻游戲?qū)崟r(shí)執(zhí)行期間,確定化身末端效應(yīng)物的位置,其中化身末端效應(yīng)物的位置使用用戶末端效應(yīng)物的位置信息來(lái)計(jì)算;接收用戶末端效應(yīng)物的第二位置信息;在視頻游戲?qū)崟r(shí)執(zhí)行期間,將化身末端效應(yīng)物的位置更新到第二位置,其中化身末端效應(yīng)物的位置使用用戶末端效應(yīng)物的第二位置信息來(lái)計(jì)算;并且在視頻游戲?qū)崟r(shí)執(zhí)行期間,確定化身節(jié)點(diǎn)的位置來(lái)獲得化身模型解剖學(xué)上可能的姿態(tài),其中姿態(tài)維持化身末端效應(yīng)物的已更新位置。除了上述方面,構(gòu)成本公開(kāi)的一部分的權(quán)利要求、附圖、以及文本還描述了其他方面。本發(fā)明的一個(gè)示例性實(shí)施例描述了一種方法。在該示例中,該方法包括但不限于, 從圖像生成用戶模型,其中用戶模型包括用戶末端效應(yīng)物;在應(yīng)用的運(yùn)行時(shí)執(zhí)行期間,將用戶末端效應(yīng)物映射到化身模型;在應(yīng)用的運(yùn)行時(shí)執(zhí)行期間,設(shè)置化身關(guān)節(jié)的位置來(lái)獲得模型的解剖學(xué)上可能的姿態(tài);并且在應(yīng)用的運(yùn)行時(shí)執(zhí)行期間,基于對(duì)用戶模型的改變,修改化身末端效應(yīng)物的位置和化身關(guān)節(jié)。除了上述方面,構(gòu)成本公開(kāi)的一部分的權(quán)利要求、附圖、 以及文本還描述了其他方面。本領(lǐng)域技術(shù)人員之一可理解,本公開(kāi)的一個(gè)或更多個(gè)方面可包括但不限于用于實(shí)現(xiàn)本公開(kāi)的本文所提及的各方面的電路和/或編程;該電路和/或編程實(shí)質(zhì)上可以是配置成實(shí)現(xiàn)本文所提及的方面的硬件、軟件和/或固件的任何組合,這取決于系統(tǒng)設(shè)計(jì)者的設(shè)
4計(jì)選擇。 以上是發(fā)明內(nèi)容,并且因此必然包含細(xì)節(jié)的簡(jiǎn)化、一般化及省略。本領(lǐng)域技術(shù)人員將明白,本發(fā)明內(nèi)容只是說(shuō)明性的并且決不旨在是限制性的。
圖1描繪其中可實(shí)現(xiàn)本發(fā)明的各方面的示例多媒體控制臺(tái)。
圖2描繪其中可實(shí)現(xiàn)本發(fā)明的各方面的示例計(jì)算機(jī)系統(tǒng)。
圖3示出目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)的配置的一示例實(shí)施例
圖4示出目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)的配置的一示例實(shí)施例
圖5示出耦合到計(jì)算環(huán)境的捕捉設(shè)備的一示例實(shí)施例。
圖6示出了示例用戶模型。
圖7示出了示例化身模型。
圖8A示出了用戶模型。
圖8B示出了可能已經(jīng)從用戶模型中生成的化身模型。
圖9示出了示例化身。
圖10描繪了用于實(shí)施本公開(kāi)的各方面的操作過(guò)程。
圖11描繪了圖10的操作過(guò)程的替換實(shí)施例。
圖12描繪了用于實(shí)施本公開(kāi)的各方面的操作過(guò)程。
圖13描繪了圖12的操作過(guò)程的替換實(shí)施例。
圖14用于實(shí)施本公開(kāi)的各方面的操作過(guò)程。
圖15描繪了圖14的操作過(guò)程的替換實(shí)施例。
具體實(shí)施例方式如本文中將描述的,用戶可通過(guò)執(zhí)行一個(gè)或多個(gè)姿勢(shì)和/或移動(dòng)來(lái)控制在諸如游戲控制臺(tái)、計(jì)算機(jī)等計(jì)算環(huán)境上執(zhí)行的應(yīng)用和/或動(dòng)畫化化身或屏幕上人物。根據(jù)一個(gè)實(shí)施例,姿勢(shì)和/或移動(dòng)可由例如捕捉設(shè)備來(lái)檢測(cè)。例如,捕捉設(shè)備可捕捉場(chǎng)景的深度圖像并且將圖像發(fā)送到計(jì)算環(huán)境??缮赡P停撃P涂杀挥脕?lái)在應(yīng)用中動(dòng)畫化化身。圖1和2示出了其中可實(shí)現(xiàn)本發(fā)明的示例計(jì)算環(huán)境。本領(lǐng)域的技術(shù)人員可以理解, 計(jì)算環(huán)境可具有參照?qǐng)Dι的多媒體控制臺(tái)100和圖2的計(jì)算機(jī)系統(tǒng)200描述的組件中的一部分或全部。貫穿本公開(kāi)使用的術(shù)語(yǔ)電路可包括諸如專用集成電路、硬件中斷控制器、硬盤驅(qū)動(dòng)器、網(wǎng)絡(luò)適配器、圖形處理器、基于硬件的視頻/音頻編解碼器等硬件組件,以及用于操作這些硬件的固件/軟件。術(shù)語(yǔ)電路還可包括被配置成通過(guò)固件或通過(guò)開(kāi)關(guān)集來(lái)以特定方式執(zhí)行功能的微處理器,或一個(gè)或多個(gè)邏輯處理器,例如,多核通用處理單元的一個(gè)或多個(gè)核。此示例中的邏輯處理器可以通過(guò)從存儲(chǔ)器,例如,RAM、ROM、固件等中加載的體現(xiàn)可操作以執(zhí)行功能的邏輯的軟件指令來(lái)配置。在其中電路包括硬件和軟件的組合的示例實(shí)施例中,實(shí)現(xiàn)者可以編寫具體化邏輯的源代碼,該源代碼隨后被編譯成可由邏輯處理器執(zhí)行的機(jī)器可讀代碼。因?yàn)楸绢I(lǐng)域技術(shù)人員可以明白現(xiàn)有技術(shù)已經(jīng)進(jìn)化到硬件、軟件或硬件/ 軟件的組合之間幾乎沒(méi)有差別的地步,因而選擇硬件還是軟件來(lái)實(shí)現(xiàn)功能只是一個(gè)設(shè)計(jì)選擇。因此,由于本領(lǐng)域的技術(shù)人員可以理解軟件進(jìn)程可被變換成等效的硬件結(jié)構(gòu),且硬件結(jié)構(gòu)本身可被變換成等效的軟件進(jìn)程,因此選擇硬件實(shí)現(xiàn)或是軟件實(shí)現(xiàn)對(duì)本發(fā)明是無(wú)關(guān)緊要的且留給了實(shí)現(xiàn)者。圖1示出了計(jì)算環(huán)境的示例實(shí)施例,其可被用來(lái)動(dòng)畫化圖4的目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)所顯示的屏幕上人物或化身。如此計(jì)算環(huán)境可以是諸如游戲控制臺(tái)之類的多媒體控制臺(tái)100。如圖1所示,多媒體控制臺(tái)100具有可含有1級(jí)高速緩存102、2級(jí)高速緩存104, 和閃存ROM(只讀存儲(chǔ)器)106的邏輯處理器101。1級(jí)高速緩存102和2級(jí)高速緩存104臨時(shí)存儲(chǔ)數(shù)據(jù),并因此減少存儲(chǔ)器訪問(wèn)周期數(shù),由此改進(jìn)處理速度和吞吐量。邏輯處理器101 可以設(shè)置成具有一個(gè)以上的內(nèi)核,以及由此的附加的1級(jí)和2級(jí)高速緩存102和104。閃存 ROM 106可存儲(chǔ)在多媒體控制臺(tái)100通電時(shí)引導(dǎo)過(guò)程的初始階段期間加載的可執(zhí)行代碼。圖形處理單元(GPU) 108和視頻編碼器/視頻編解碼器(編碼器/解碼器)114形成用于高速和高分辨率圖形處理的視頻處理流水線。經(jīng)由總線從圖形處理單元108向視頻編碼器/視頻編解碼器114運(yùn)送數(shù)據(jù)。視頻處理流水線向A/V(音頻/視頻)端口 140輸出數(shù)據(jù),用于傳輸至電視或其他顯示器。存儲(chǔ)器控制器110連接到GPU 108以方便處理器訪問(wèn)各種類型的存儲(chǔ)器112,諸如但不局限于RAM(隨機(jī)存取存儲(chǔ)器)。多媒體控制臺(tái)100包括較佳地在模塊118上實(shí)現(xiàn)的I/O控制器120、系統(tǒng)管理控制器122、音頻處理單元123、網(wǎng)絡(luò)接口控制器124、第一 USB主控制器126、第二 USB控制器 1 和前面板I/O子部件130。USB控制器126和1 用作外圍控制器142⑴-142 O)、無(wú)線適配器148、和外置存儲(chǔ)器設(shè)備146 (例如閃存、外置⑶/DVD ROM驅(qū)動(dòng)器、可移動(dòng)介質(zhì)等) 的主機(jī)。網(wǎng)絡(luò)接口 1 和/或無(wú)線適配器148提供對(duì)網(wǎng)絡(luò)(例如,因特網(wǎng)、家庭網(wǎng)絡(luò)等)的訪問(wèn),并且可以是包括以太網(wǎng)卡、調(diào)制解調(diào)器、藍(lán)牙模塊、電纜調(diào)制解調(diào)器等的各種不同的有線或無(wú)線適配器組件中任何一種。提供系統(tǒng)存儲(chǔ)器143來(lái)存儲(chǔ)在引導(dǎo)過(guò)程期間加載的應(yīng)用數(shù)據(jù)。提供介質(zhì)驅(qū)動(dòng)器 144,且其可包括DVD/CD驅(qū)動(dòng)器、硬盤驅(qū)動(dòng)器、或其他可移動(dòng)介質(zhì)驅(qū)動(dòng)器等。介質(zhì)驅(qū)動(dòng)器144 可以是對(duì)多媒體控制器100內(nèi)置的或外置的。應(yīng)用數(shù)據(jù)可經(jīng)由介質(zhì)驅(qū)動(dòng)器144訪問(wèn),以由多媒體控制臺(tái)100執(zhí)行、回放等。介質(zhì)驅(qū)動(dòng)器144經(jīng)由諸如串行ATA總線或其他高速連接 (例如IEEE 1394)等總線連接到I/O控制器120。系統(tǒng)管理控制器122提供涉及確保多媒體控制臺(tái)100的可用性的各種服務(wù)功能。 音頻處理單元123和音頻編解碼器132形成具有高保真度和立體聲處理的對(duì)應(yīng)的音頻處理流水線。音頻數(shù)據(jù)經(jīng)由通信鏈路在音頻處理單元123與音頻編解碼器132之間傳輸。音頻處理流水線將數(shù)據(jù)輸出到A/V端口 140以供外置音頻播放器或具有音頻能力的設(shè)備再現(xiàn)。前面板I/O子部件130支持暴露在多媒體控制臺(tái)100的外表面上的電源按鈕150 和彈出按鈕152以及任何LED(發(fā)光二極管)或其他指示器的功能。系統(tǒng)供電模塊136向多媒體控制臺(tái)100的組件供電。風(fēng)扇138冷卻多媒體控制臺(tái)100內(nèi)的電路。邏輯處理器101、GPU108、存儲(chǔ)器控制器110、和多媒體控制臺(tái)100內(nèi)的各種其他組件經(jīng)由一條或多條總線互連,總線包括串行和并行總線、存儲(chǔ)器總線、外圍總線、和使用各種總線架構(gòu)中任一種的處理器或局部總線。作為示例,這些架構(gòu)可以包括外圍部件互連 (PCI)總線、PCI-Express 總線等。當(dāng)多媒體控制臺(tái)100通電時(shí),應(yīng)用數(shù)據(jù)可從系統(tǒng)存儲(chǔ)器143加載到存儲(chǔ)器112和/或高速緩存102、104中并在邏輯處理器101上執(zhí)行。應(yīng)用可呈現(xiàn)在導(dǎo)航到多媒體控制臺(tái) 100上可用的不同媒體類型時(shí)提供一致的用戶體驗(yàn)的圖形用戶界面。在操作中,介質(zhì)驅(qū)動(dòng)器 144中包含的應(yīng)用和/或其他介質(zhì)可從介質(zhì)驅(qū)動(dòng)器144啟動(dòng)或播放,以向多媒體控制臺(tái)100 提供附加功能。多媒體控制臺(tái)100可通過(guò)將該系統(tǒng)簡(jiǎn)單地連接到電視機(jī)或其他顯示器而作為獨(dú)立系統(tǒng)來(lái)操作。在該獨(dú)立模式中,多媒體控制臺(tái)100允許一個(gè)或多個(gè)用戶與該系統(tǒng)交互、看電影、或聽(tīng)音樂(lè)。然而,隨著通過(guò)網(wǎng)絡(luò)接口 1 或無(wú)線適配器148可用的寬帶連接的集成, 多媒體控制臺(tái)100還可作為更大網(wǎng)絡(luò)社區(qū)中的參與者來(lái)操作。當(dāng)多媒體控制臺(tái)100通電時(shí),可以保留設(shè)定量的硬件資源以供多媒體控制臺(tái)操作系統(tǒng)作系統(tǒng)使用。這些資源可包括存儲(chǔ)器的保留量(諸如,16MB)、CPU和GPU周期的保留量(諸如,5% )、網(wǎng)絡(luò)帶寬的保留量(諸如,Slcbs),等等。因?yàn)檫@些資源是在系統(tǒng)引導(dǎo)時(shí)間保留的,所保留的資源對(duì)于應(yīng)用視角而言是不存在的。具體而言,存儲(chǔ)器保留優(yōu)選地足夠大,以包含啟動(dòng)內(nèi)核、并發(fā)系統(tǒng)應(yīng)用和驅(qū)動(dòng)程序。CPU保留優(yōu)選地為恒定,使得若所保留的CPU用量不被系統(tǒng)應(yīng)用使用,則空閑線程將消耗任何未使用的周期。對(duì)于GPU保留,通過(guò)使用GPU中斷來(lái)調(diào)度代碼來(lái)將彈出窗口呈現(xiàn)為覆蓋圖以顯示由系統(tǒng)應(yīng)用生成的輕量消息(例如,彈出窗口)。覆蓋圖所需的存儲(chǔ)器量取決于覆蓋區(qū)域大小,并且覆蓋圖優(yōu)選地與屏幕分辨率成比例縮放。在并發(fā)系統(tǒng)應(yīng)用使用完整用戶界面的情況下,優(yōu)選使用獨(dú)立于應(yīng)用分辨率的分辨率。定標(biāo)器可用于設(shè)置該分辨率,從而無(wú)需改變頻率并引起TV重新同步。在多媒體控制臺(tái)100引導(dǎo)且系統(tǒng)資源被保留之后,就執(zhí)行并發(fā)系統(tǒng)應(yīng)用來(lái)提供系統(tǒng)功能。系統(tǒng)功能被封裝在上述所保留的系統(tǒng)資源中執(zhí)行的一組系統(tǒng)應(yīng)用中。操作系統(tǒng)內(nèi)核標(biāo)識(shí)是系統(tǒng)應(yīng)用線程而非游戲應(yīng)用線程的線程。系統(tǒng)應(yīng)用優(yōu)選地被調(diào)度為在預(yù)定時(shí)間并以預(yù)定時(shí)間間隔在邏輯處理器101上運(yùn)行,以便為應(yīng)用提供一致的系統(tǒng)資源視圖。進(jìn)行調(diào)度是為了把由在控制臺(tái)上運(yùn)行的游戲應(yīng)用所引起的高速緩存分裂最小化。當(dāng)并發(fā)系統(tǒng)應(yīng)用需要音頻時(shí),則由于時(shí)間敏感性而將音頻處理異步地調(diào)度給游戲應(yīng)用。多媒體控制臺(tái)應(yīng)用管理器(如下所述)在系統(tǒng)應(yīng)用活動(dòng)時(shí)控制游戲應(yīng)用的音頻水平 (例如,靜音、衰減)。輸入設(shè)備(例如,控制器142(1)和142( )由游戲應(yīng)用和系統(tǒng)應(yīng)用共享。輸入設(shè)備不是保留資源,而是在系統(tǒng)應(yīng)用和游戲應(yīng)用之間切換以使其各自具有設(shè)備的焦點(diǎn)。應(yīng)用管理器較佳地控制輸入流的切換,而無(wú)需知曉游戲應(yīng)用的知識(shí),并且驅(qū)動(dòng)程序維護(hù)有關(guān)焦點(diǎn)切換的狀態(tài)信息。相機(jī)26J8和捕捉設(shè)備306可為控制臺(tái)100定義額外的輸入設(shè)備?,F(xiàn)在參考圖2,描繪了示例性計(jì)算系統(tǒng)200。計(jì)算機(jī)系統(tǒng)200可包括邏輯處理器 202,如執(zhí)行核。盡管示出了一個(gè)邏輯處理器202,但在其他實(shí)施例中,計(jì)算機(jī)系統(tǒng)200可具有多個(gè)邏輯處理器,例如每一處理器基板有多個(gè)執(zhí)行核,和/或各自可具有多個(gè)執(zhí)行核的多個(gè)處理器基板。如圖所示,各種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)210可由一系統(tǒng)總線互聯(lián),系統(tǒng)總線將各種系統(tǒng)組件耦合到邏輯處理器202。系統(tǒng)總線可以是幾種類型的總線結(jié)構(gòu)中的任何一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、以及使用各種總線體系結(jié)構(gòu)中的任一種的局部總線。在示例實(shí)施例中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)210可以包括例如隨機(jī)存取存儲(chǔ)器(RAM) 204、存儲(chǔ)設(shè)備206 (例如電機(jī)硬盤驅(qū)動(dòng)器、固態(tài)硬盤驅(qū)動(dòng)器等)、固件208 (例如閃速 RAM或ROM)、以及可移動(dòng)存儲(chǔ)設(shè)備218 (例如CD-ROM、軟盤、DVD、閃速驅(qū)動(dòng)器、外部存儲(chǔ)設(shè)備等)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可使用其他類型的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),如磁帶盒、閃存卡、數(shù)字視頻盤、柏努利盒式磁帶等,來(lái)存儲(chǔ)數(shù)據(jù)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)提供對(duì)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、和計(jì)算機(jī)200 的其它數(shù)據(jù)的存儲(chǔ)?;据斎?輸出系統(tǒng)(BIOS) 220可被存儲(chǔ)在固件208中,它包含幫助在諸如啟動(dòng)期間在計(jì)算機(jī)系統(tǒng)200內(nèi)的各元件之間傳遞信息的基本例程。若干個(gè)應(yīng)用和操作系統(tǒng)222可被存儲(chǔ)在固件208、存儲(chǔ)設(shè)備206、RAM 204,和/或可移動(dòng)存儲(chǔ)設(shè)備218上,并且可由邏輯處理器202來(lái)執(zhí)行。可由計(jì)算機(jī)200通過(guò)輸入設(shè)備216接收命令和信息,其可包括但不限于,鍵盤和定點(diǎn)設(shè)備、操縱桿,和/或圖5的捕捉設(shè)備306。其他輸入設(shè)備可包括麥克風(fēng)、掃描儀,等。 這些和其他輸入設(shè)備常通過(guò)耦合到系統(tǒng)總線的串行端口接口連接到邏輯處理器202,但也可通過(guò)其他接口連接,如并行端口、游戲端口或通用串行總線(USB)。顯示器或其他類型的顯示設(shè)備也可經(jīng)由諸如視頻適配器等可以是圖形處理器212的一部分或可連接到圖形處理器112的接口來(lái)連接到系統(tǒng)總線。除了顯示器之外,計(jì)算機(jī)通常包括其他外圍輸出設(shè)備 (未示出),如揚(yáng)聲器和打印機(jī)。圖1的示例性系統(tǒng)還可包括主適配器、小型計(jì)算機(jī)系統(tǒng)接口(SCSI)總線和連接到SCSI總線的外部存儲(chǔ)設(shè)備。計(jì)算機(jī)系統(tǒng)200可使用至一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),如遠(yuǎn)程計(jì)算機(jī),的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)可以是另一計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其他常見(jiàn)的網(wǎng)絡(luò)節(jié)點(diǎn),并且通常可包括上面關(guān)于計(jì)算機(jī)系統(tǒng)200所述的許多或全部元件。當(dāng)在LAN或WAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)系統(tǒng)100可通過(guò)網(wǎng)絡(luò)接口卡214 (NIC) 連接至LAN或WAN。NIC 214(可以是內(nèi)部或外部的)可以連接到系統(tǒng)總線。在聯(lián)網(wǎng)環(huán)境中, 相對(duì)于計(jì)算機(jī)系統(tǒng)100所描述的程序模塊或其部分可被儲(chǔ)存在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中??梢岳斫?,所描述的網(wǎng)絡(luò)連接是示例性的,且可以使用在計(jì)算機(jī)之間建立通信鏈路的其他手段。此外,雖然構(gòu)想本公開(kāi)的許多實(shí)施例尤其適用于計(jì)算機(jī)化的系統(tǒng),然而在本文中沒(méi)有任何表述旨在將本公開(kāi)限于那些實(shí)施例。圖3和4示出伴隨用戶302玩拳擊游戲的目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)300的配置的示例實(shí)施例。在一示例實(shí)施例中,目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)300可用于識(shí)別、分析和/ 或跟蹤諸如用戶302等的人類目標(biāo)。如圖3所示,目標(biāo)識(shí)別、分析及跟蹤系統(tǒng)300可包括計(jì)算環(huán)境304。計(jì)算環(huán)境304 可以是計(jì)算機(jī)、游戲系統(tǒng)或控制臺(tái)等,包括類似圖1和2中描述的那些組件。如圖3所示,目標(biāo)識(shí)別、分析及跟蹤系統(tǒng)300還可包括捕捉設(shè)備306。捕捉設(shè)備306 可以是例如照相機(jī),所述照相機(jī)可用于在視覺(jué)上監(jiān)視諸如用戶302等的一個(gè)或多個(gè)用戶從而可以捕捉、分析并跟蹤一個(gè)或多個(gè)用戶所執(zhí)行的姿勢(shì)和/或移動(dòng),來(lái)執(zhí)行應(yīng)用中的一個(gè)或多個(gè)控制命令或動(dòng)作和/或動(dòng)畫化化身或屏幕上人物,如將在下面更詳細(xì)地描述的。根據(jù)一個(gè)實(shí)施例,目標(biāo)識(shí)別、分析及跟蹤系統(tǒng)300可連接到可向諸如用戶302等用戶提供游戲或應(yīng)用視覺(jué)和/或音頻的視聽(tīng)設(shè)備320,如電視機(jī)、監(jiān)視器、高清電視機(jī)(HDTV) 等。例如,計(jì)算環(huán)境304可包括諸如圖形卡等視頻適配器和/或諸如聲卡等音頻適配器,這些適配器可提供與游戲應(yīng)用、非游戲應(yīng)用等相關(guān)聯(lián)的視聽(tīng)信號(hào)。視聽(tīng)設(shè)備320可從計(jì)算環(huán)境304接收視聽(tīng)信號(hào),然后可向用戶302輸出與該視聽(tīng)信號(hào)相關(guān)聯(lián)的游戲或應(yīng)用視覺(jué)和/ 或音頻。根據(jù)一個(gè)實(shí)施例,視聽(tīng)設(shè)備320可經(jīng)由例如,S-視頻電纜、同軸電纜、HDMI電纜、 DVI電纜、VGA電纜等連接到計(jì)算環(huán)境304。如圖3和4所示,在一示例實(shí)施例中,在計(jì)算環(huán)境304上執(zhí)行的應(yīng)用可以是用戶 302可能正在玩的拳擊游戲。例如,計(jì)算環(huán)境304可使用視聽(tīng)設(shè)備320來(lái)向用戶302提供拳擊對(duì)手338的視覺(jué)表示。計(jì)算環(huán)境304還可使用視聽(tīng)設(shè)備320來(lái)提供用戶302可通過(guò)他的或她的移動(dòng)來(lái)控制的玩家化身324的視覺(jué)表示。例如,如圖3所示,用戶302可在物理空間中揮拳來(lái)使得玩家化身3M在游戲空間中揮拳。因此,根據(jù)一示例實(shí)施例,目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)300的計(jì)算環(huán)境304和捕捉設(shè)備306可用于識(shí)別和分析物理空間中用戶302的重拳從而使得該重拳可被解釋為對(duì)游戲空間中的玩家化身3M的游戲控制和/或該重拳的運(yùn)動(dòng)可用于動(dòng)畫化游戲空間中的玩家化身3M。用戶302的其他移動(dòng)也可被解釋為其他控制命令或動(dòng)作,和/或用于動(dòng)畫化玩家化身324,如上下快速擺動(dòng)、閃避、滑步、封堵、用拳猛擊或揮動(dòng)各種不同的有力重拳的控制命令。此外,某些移動(dòng)可被解釋為可對(duì)應(yīng)于除控制玩家化身3M之外的動(dòng)作的控制。例如, 玩家可以使用移動(dòng)來(lái)結(jié)束、暫停或保存游戲、選擇級(jí)別、查看高分、與朋友交流等。另外,用戶302的全范圍運(yùn)動(dòng)可以用任何合適的方式來(lái)獲得、使用并分析以與應(yīng)用進(jìn)行交互。在示例實(shí)施例中,諸如用戶302的人類目標(biāo)控制化身324以與應(yīng)用中的對(duì)象進(jìn)行交互。例如,用戶302可伸手拿游戲中的對(duì)象以使用該對(duì)象。在此示例中,目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)300可被配置來(lái)允許化身3M拿起該對(duì)象并在游戲中使用該對(duì)象。在特定示例中,用戶的化身3M可拿起并握住電子運(yùn)動(dòng)游戲中使用的球拍。根據(jù)其他示例實(shí)施例,目標(biāo)識(shí)別、分析及跟蹤系統(tǒng)300還可用于將目標(biāo)移動(dòng)解釋為游戲領(lǐng)域之外的操作系統(tǒng)和/或應(yīng)用控制。例如,事實(shí)上操作系統(tǒng)和/或應(yīng)用的任何可控方面可由諸如用戶302等目標(biāo)的移動(dòng)來(lái)控制。圖5示出可在目標(biāo)識(shí)別、分析及跟蹤系統(tǒng)300中使用的捕捉設(shè)備306的示例實(shí)施例。根據(jù)一示例實(shí)施例,捕捉設(shè)備306可被配置成經(jīng)由任何合適的技術(shù),包括例如飛行時(shí)間、結(jié)構(gòu)化光、立體圖像等來(lái)捕捉包括深度圖像的帶有深度信息的視頻,該深度信息可包括深度值。根據(jù)一實(shí)施例,捕捉設(shè)備306可將深度信息組織為“Z層”或者可與從深度相機(jī)沿其視線延伸的Z軸垂直的層。如圖5所示,捕捉設(shè)備306可包括圖像相機(jī)組件502。根據(jù)一個(gè)示例實(shí)施例,圖像相機(jī)組件502可以是可捕捉場(chǎng)景的深度圖像的深度相機(jī)。深度圖像可包括所捕捉的場(chǎng)景的二維O-D)像素區(qū)域,其中2-D像素區(qū)域中的每一像素可表示深度值,諸如例如以厘米、毫米等計(jì)的、所捕捉的場(chǎng)景中的對(duì)象距相機(jī)的長(zhǎng)度或距離。如圖5所示,根據(jù)一示例實(shí)施例,圖像相機(jī)組件502可包括可用于捕捉場(chǎng)景的深度圖像的IR光組件524、三維(3-D)相機(jī)526、和RGB相機(jī)528。例如,在飛行時(shí)間分析中, 捕捉設(shè)備306的頂光組件5M可以將紅外光發(fā)射到場(chǎng)景上,然后,可以使用傳感器(未示出),用例如3-D相機(jī)5 和/或RGB相機(jī)528,來(lái)檢測(cè)從場(chǎng)景中的一個(gè)或多個(gè)目標(biāo)和物體的表面反向散射的光。在某些實(shí)施例中,可以使用脈沖紅外光,使得可以測(cè)量出射光脈沖和相應(yīng)的入射光脈沖之間的時(shí)間差并將其用于確定從捕捉設(shè)備306到場(chǎng)景中的目標(biāo)或物體上的特定位置的物理距離。附加地,在其他示例實(shí)施例中,可將出射光波的相位與入射光波的相位進(jìn)行比較來(lái)確定相移。然后可以使用該相移來(lái)確定從捕捉設(shè)備到目標(biāo)或物體上的特定位置的物理距離。根據(jù)另一示例實(shí)施例,可使用飛行時(shí)間分析,通過(guò)經(jīng)由包括例如快門式光脈沖成像在內(nèi)的各種技術(shù)來(lái)分析反射光束隨時(shí)間的強(qiáng)度變化以間接地確定從捕捉設(shè)備306到目標(biāo)或物體上的特定位置的物理距離。在另一示例實(shí)施例中,捕捉設(shè)備306可使用結(jié)構(gòu)化光來(lái)捕捉深度信息。在這一分析中,圖案化光(即,被顯示為諸如網(wǎng)格圖案或條紋圖案等已知圖案的光)可經(jīng)由例如頂光組件5M被投影到場(chǎng)景上。在落到場(chǎng)景中的一個(gè)或多個(gè)目標(biāo)或物體的表面上時(shí),作為響應(yīng),圖案可變形。圖案的這種變形可由例如3-D相機(jī)5 和/或RGB相機(jī)5 來(lái)捕捉,然后可被分析來(lái)確定從捕捉設(shè)備到目標(biāo)或物體上的特定位置的物理距離。根據(jù)另一實(shí)施例,捕捉設(shè)備306可包括兩個(gè)或更多個(gè)物理上分開(kāi)的相機(jī),這些相機(jī)可從不同角度查看場(chǎng)景以獲得視覺(jué)立體數(shù)據(jù),該視覺(jué)立體數(shù)據(jù)可被解析以生成深度信肩、ο捕捉設(shè)備306還可包括話筒530。話筒530可包括可接收聲音并將其轉(zhuǎn)換成電信號(hào)的換能器或傳感器。根據(jù)一個(gè)實(shí)施例,話筒530可以被用來(lái)減少目標(biāo)識(shí)別、分析及跟蹤系統(tǒng)300中的捕捉設(shè)備306和計(jì)算環(huán)境304之間的反饋。另外,話筒530可用于接收也可由用戶提供的音頻信號(hào),以控制可由計(jì)算環(huán)境304執(zhí)行的諸如游戲應(yīng)用、非游戲應(yīng)用等應(yīng)用。在示例實(shí)施例中,捕捉設(shè)備306還可以包括可與圖像相機(jī)組件502進(jìn)行可操作的通信的邏輯處理器532。捕捉設(shè)備306還可以包括存儲(chǔ)器組件534,該存儲(chǔ)器組件534可以存儲(chǔ)可以由處理器532執(zhí)行的指令、由3-D相機(jī)或RGB相機(jī)捕捉到的圖像或圖像的幀、或任何其他合適的信息、圖像等等。根據(jù)一個(gè)示例實(shí)施例,存儲(chǔ)器組件534可包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、高速緩存、閃存、硬盤或任何其他合適的存儲(chǔ)組件。如圖5所示,在一個(gè)實(shí)施例中,存儲(chǔ)器組件534可以是與圖像捕捉組件520和邏輯處理器532進(jìn)行通信的單獨(dú)的組件。根據(jù)另一實(shí)施例,存儲(chǔ)器組件534可被集成到處理器532和/或圖像捕捉組件520中。捕捉設(shè)備306可被配置來(lái)獲取由例如,捕捉設(shè)備306的3-D相機(jī)4 和/或RGB 相機(jī)5 捕捉到的場(chǎng)景的圖像或幀。在示例實(shí)施例中,深度圖像可包括所捕捉的場(chǎng)景中的人類目標(biāo)和一個(gè)或多個(gè)非人類目標(biāo),諸如墻壁、桌子、監(jiān)視器等。深度圖像可包括多個(gè)觀測(cè)到的像素,其中每一觀測(cè)到的像素具有與其相關(guān)聯(lián)的觀測(cè)到的深度值。例如,深度圖像可包括所捕捉的場(chǎng)景的二維O-D)像素區(qū)域,其中2-D像素區(qū)域中的每一像素可表示深度值,諸如例如以厘米、毫米等計(jì)的、所捕捉的場(chǎng)景中的對(duì)象或目標(biāo)距捕捉設(shè)備的長(zhǎng)度或距離。在一示例實(shí)施例中,深度圖像可被著色從而使得深度圖像的像素的不同顏色對(duì)應(yīng)于人類目標(biāo)和非人類目標(biāo)離捕捉設(shè)備的不同距離。例如,根據(jù)一個(gè)實(shí)施例,深度圖像中與最接近捕捉設(shè)備的目標(biāo)相關(guān)聯(lián)的像素可用紅色和/或橙色陰影來(lái)著色,而深度圖像中與較遠(yuǎn)的目標(biāo)相關(guān)聯(lián)的像素可用綠色和/或藍(lán)色陰影來(lái)著色。另外,如上所述,捕捉設(shè)備可將包括深度圖像的所計(jì)算的深度信息組織成“Z層”, 即可垂直于從相機(jī)沿著其視線延伸到觀察者的Z軸的層??苫谒_定的邊緣來(lái)對(duì)Z層的可能Z值進(jìn)行泛色填充。例如,與所確定的邊相關(guān)聯(lián)的像素以及該所確定的邊內(nèi)的區(qū)域的像素可互相關(guān)聯(lián)來(lái)定義可與模式進(jìn)行比較的場(chǎng)景中的目標(biāo)或?qū)ο?。如以下所描述,圖像可接著被用來(lái)生成用戶的骨架模型。繼續(xù)圖5的一般描述,捕捉設(shè)備306可以經(jīng)由通信鏈路536與計(jì)算環(huán)境304通信。 通信鏈路536可以是包括例如USB連接、火線連接、以太網(wǎng)電纜連接等的有線連接和/或諸如無(wú)線802. lib,802. llg、802. Ila或802. Iln連接等的無(wú)線連接。根據(jù)一個(gè)實(shí)施例,計(jì)算環(huán)境304可以經(jīng)由通信鏈路536向捕捉設(shè)備306提供時(shí)鐘,可以使用該時(shí)鐘來(lái)確定何時(shí)捕捉例如場(chǎng)景。另外,捕捉設(shè)備306可經(jīng)由通信鏈路536向計(jì)算環(huán)境304提供深度信息和由例如 3-D相機(jī)5 和/或RGB相機(jī)5 捕捉的圖像,和/或可由捕捉設(shè)備306生成的骨架模型。 計(jì)算環(huán)境304然后可使用該模型、深度信息、以及所捕捉的圖像來(lái)例如控制諸如游戲或文字處理程序等的應(yīng)用和/或動(dòng)畫化化身或屏幕上人物。例如,如圖5所述,計(jì)算環(huán)境304可包括應(yīng)用560、模型庫(kù)570、映射系統(tǒng)580,和/ 或反向運(yùn)動(dòng)學(xué)系統(tǒng)509。通常,元件560-590的每一個(gè)可通過(guò)電路實(shí)現(xiàn),并且為了解釋方便將元件560-590表示為分立元件,在其他實(shí)施例中,結(jié)合元件560-590描述的功能的一些或全部可由相同或不同電路執(zhí)行。通常,應(yīng)用560可以是視頻游戲或任何其他包含化身的應(yīng)用。在一實(shí)施例中,計(jì)算環(huán)境304可包括可存儲(chǔ)不同化身的模型庫(kù)570。可在應(yīng)用中動(dòng)畫化化身以匹配由目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)300捕捉的用戶運(yùn)動(dòng)。特定示例可包括,包括怪物人物模型和該怪物的一系列默認(rèn)姿態(tài)的模型庫(kù)570。怪物人物模型可被用來(lái)定義在此特定應(yīng)用中怪物看起來(lái)如何?;砜杀挥脕?lái)生成具有特定姿態(tài)的怪物的游戲內(nèi)副本。在一個(gè)示例實(shí)施例中,模型庫(kù) 570可與應(yīng)用560相關(guān)聯(lián),然而在其他實(shí)施例中模型庫(kù)570可從應(yīng)用560分離而僅被應(yīng)用 560使用。繼續(xù)圖5的描述,映射系統(tǒng)580可被配置來(lái)將反映用戶空間中的用戶位置的用戶模型映射到從模型庫(kù)570獲得的化身模型。例如,在下文中更詳細(xì)地描述,用戶模型可被生成為包括節(jié)點(diǎn)。用戶模型中的每個(gè)節(jié)點(diǎn)可與用戶的一部分相關(guān)聯(lián),例如,一些節(jié)點(diǎn)可以是關(guān)節(jié)節(jié)點(diǎn),如,代表兩個(gè)或更多骨骼交互的位置的節(jié)點(diǎn),或諸如手的附屬肢體。節(jié)點(diǎn)可以由互連相連接,例如,骨骼,并且可以建立定義類似樹的父子系統(tǒng)的分級(jí)關(guān)系。父節(jié)點(diǎn)本身可以是子并且可以連接到其他節(jié)點(diǎn)。在特定示例中,手腕可以是肘之子,而肘可以是肩之子。該遞歸關(guān)系可以繼續(xù)到一個(gè)或多個(gè)根節(jié)點(diǎn),其可被用作基準(zhǔn)框架,用于從用戶模型到化身模型映射節(jié)點(diǎn)。通常,模型可包括末端效應(yīng)物,其為層級(jí)結(jié)構(gòu)內(nèi)的任何節(jié)點(diǎn),動(dòng)畫設(shè)計(jì)者想要直接安置這些節(jié)點(diǎn)來(lái),例如,與環(huán)境交互。例如,手、腳,和頭是典型的末端效應(yīng)物。然而,動(dòng)畫設(shè)計(jì)者可能希望依據(jù)應(yīng)用在特定情況中操作肩、膝或胸甲。如前實(shí)施例中所述,化身模型700可具有至少一個(gè)根節(jié)點(diǎn),并且可以使用化身的根節(jié)點(diǎn)以及用戶模型600的對(duì)應(yīng)的一個(gè)(或多個(gè))根節(jié)點(diǎn)建立關(guān)系??梢詮挠脩裟P凸?jié)點(diǎn)的位置計(jì)算出化身節(jié)點(diǎn)的位置。例如,可獲取末端效應(yīng)物的父節(jié)點(diǎn)和祖父節(jié)點(diǎn)的位置信息, 并且可在對(duì)應(yīng)的父節(jié)點(diǎn)和祖父節(jié)點(diǎn)之間建立關(guān)系。除了映射系統(tǒng)580,圖5示出了反向運(yùn)動(dòng)學(xué)系統(tǒng)590。通常,反向運(yùn)動(dòng)學(xué)被用來(lái)基于分級(jí)結(jié)構(gòu)中給定節(jié)點(diǎn)的位置來(lái)確定節(jié)點(diǎn)的一組位置。例如,由于用戶模型是從較少標(biāo)記系統(tǒng)生成的,一些節(jié)點(diǎn)角度可能沒(méi)有被接收,或者化身可能具有遠(yuǎn)多于用戶模型的節(jié)點(diǎn)。因此,在示例實(shí)施例中,反向運(yùn)動(dòng)學(xué)系統(tǒng)590可被使用。反向運(yùn)動(dòng)學(xué)系統(tǒng)590可從映射系統(tǒng)580接收末端效應(yīng)物位置,并且可生成至少模擬了末端效應(yīng)物的位置的化身模型的姿態(tài)。在一些實(shí)施例中,除末端效應(yīng)物以外的位置可被用來(lái)模擬用戶模型的姿態(tài)。反向運(yùn)動(dòng)學(xué)系統(tǒng) 590的輸出可被饋送到應(yīng)用560,在那里可使用標(biāo)準(zhǔn)動(dòng)畫來(lái)混合或修改它。在示例實(shí)施例中,反向運(yùn)動(dòng)學(xué)系統(tǒng)590可接收一組希望的末端效應(yīng)物位置/定向目標(biāo)作為輸入。從該組,反向運(yùn)動(dòng)學(xué)系統(tǒng)590可提供允許這些目標(biāo)相遇的一組節(jié)點(diǎn)角度。反向運(yùn)動(dòng)學(xué)問(wèn)題與正向運(yùn)動(dòng)學(xué)問(wèn)題緊密相關(guān),其可由以下等式簡(jiǎn)單描述χ = f ( θ )(1)在此等式中,末端效應(yīng)物位置的矢量χ可以通過(guò)某個(gè)(通常復(fù)雜且?guī)缀蹩偸欠蔷€性)函數(shù)f與全部的關(guān)節(jié)角度的矢量θ相關(guān)。因此,反向運(yùn)動(dòng)學(xué)等式可由以下描述θ = Γ1 (χ)(2)從這一點(diǎn),其中有許多方法來(lái)求解該系統(tǒng)。在示例實(shí)施例中,可用基于雅可比行列式的線性化技術(shù)來(lái)求解等式2,然而本發(fā)明不限于求解IK等式的任何特定方式。通常,雅可比行列式IK包含關(guān)于當(dāng)前感興趣姿態(tài)的問(wèn)題的線性化。為此,可構(gòu)建一雅可比矩陣作為全部末端效應(yīng)物維度相對(duì)于全部關(guān)節(jié)角度的導(dǎo)數(shù)的矩陣。Jt = J(0)0(3)
AxmtJ =^-(4)如果用戶模型是非冗余人物骨架(末端效應(yīng)物維度等于關(guān)節(jié)角度維度,在線性代數(shù)術(shù)語(yǔ)中,我們具有相同數(shù)量的等式作為未知),那么反向運(yùn)動(dòng)學(xué)系統(tǒng)590可被配置來(lái)使用標(biāo)準(zhǔn)矩陣求逆來(lái)求解IK問(wèn)題θ = Γ\θ)χ(5)然而,在一些示例實(shí)施例中,標(biāo)準(zhǔn)矩陣求逆不可被使用是因?yàn)榇嬖跓o(wú)窮多關(guān)節(jié)角度速度i,對(duì)于給定末端效應(yīng)物速度i,其滿足等式5。在這些情況中,代替標(biāo)準(zhǔn)矩陣可使用替換矩陣,以獲得根據(jù)某性能準(zhǔn)則的“最佳”解。在一實(shí)施例中,該準(zhǔn)則為最少均方誤差,并且可使用Moore-Penrose偽逆(用上標(biāo)+來(lái)表示)來(lái)求解它。例如,可描述對(duì)于被破壞的系統(tǒng)的解,并且特解和齊次解兩者之和,這可以被表示為O = J+ (θ)χ + (I-J+ (0)J(0))y(6)這里,(l-J+( θ ) J( θ ))是零空間投影,且y是不對(duì)末端效應(yīng)物的速度作出貢獻(xiàn)但允許我們利用骨架中的任何冗余性的任意矢量。在一實(shí)施例中,矢量i可被用來(lái)控制末端效應(yīng)物位置且矢量y被用作驅(qū)動(dòng)姿態(tài)以匹配源骨架關(guān)節(jié)角度(倘若它們不干擾末端效應(yīng)物定位)。圖6示出了可由目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)300生成的用戶模型。例如,可配置目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)300來(lái)從由捕捉設(shè)備306獲取的深度圖像生成模型600。在此示例中,目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)300可以通過(guò)對(duì)深度圖像中的每一個(gè)目標(biāo)或?qū)ο筮M(jìn)行泛色填充并將每一個(gè)經(jīng)泛色填充的目標(biāo)或?qū)ο笈c同處于各種位置或姿態(tài)的人類的身體模型相關(guān)聯(lián)的圖案進(jìn)行比較,確定深度圖像是否包括對(duì)應(yīng)于例如諸如以上參考圖3-4描述的用戶 302等用戶的人類目標(biāo)。然后可以隔離并掃描匹配圖案的經(jīng)泛色填充的目標(biāo)或?qū)ο笠源_定包括例如對(duì)各身體部位的度量的各個(gè)值。根據(jù)一示例實(shí)施例,然后可基于該掃描來(lái)生成模型,諸如骨架模型、網(wǎng)格模型等。例如,根據(jù)一個(gè)實(shí)施例,可通過(guò)掃描來(lái)確定的度量值可被存儲(chǔ)在可用于定義模型中的一個(gè)或多個(gè)關(guān)節(jié)的一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)中??梢允褂靡粋€(gè)或多個(gè)關(guān)節(jié)來(lái)定義可以對(duì)應(yīng)于人類的身體部位的一個(gè)或多個(gè)骨骼。繼續(xù)圖6的描述,模型600可包括可將例如人類目標(biāo)表示為三維模型的一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)。每個(gè)身體部位可被表征為定義模型600的節(jié)點(diǎn)和互連的數(shù)學(xué)矢量。如圖6所示,模型600可包括一個(gè)或多個(gè)節(jié)點(diǎn),諸如關(guān)節(jié)jl-jl8。根據(jù)一示例實(shí)施例,關(guān)節(jié)jl_jl8中的每一個(gè)可使得在這些關(guān)節(jié)之間定義的一個(gè)或多個(gè)身體部位能相對(duì)于一個(gè)或多個(gè)其他身體部位移動(dòng)。例如,表示人類目標(biāo)的模型可包括多個(gè)剛性和/或可變形身體部位,這些身體部位由一個(gè)或多個(gè)諸如“骨骼”等結(jié)構(gòu)件來(lái)定義,而關(guān)節(jié)jl_jl8位于毗鄰骨骼的交叉點(diǎn)處。 關(guān)節(jié)jl-18可使得與骨骼和關(guān)節(jié)jl_jl8相關(guān)聯(lián)的各個(gè)身體部位能夠彼此獨(dú)立地移動(dòng)。例如,如圖6中所示的,在關(guān)節(jié)j7與jll之間定義的骨骼可對(duì)應(yīng)于前臂,該前臂可獨(dú)立于例如在關(guān)節(jié)jl5與jl7之間定義的骨骼(可對(duì)應(yīng)于小腿)而移動(dòng)。如上所述,每一個(gè)身體部位都可被表征為具有定義圖6所示的關(guān)節(jié)和骨骼的X值、 Y值和ζ值的數(shù)學(xué)矢量。在一示例實(shí)施例中,與圖6所示的骨骼相關(guān)聯(lián)的矢量的相交可定義與關(guān)節(jié)jl-j 18相關(guān)聯(lián)的相應(yīng)點(diǎn)。通常,目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)300從用戶捕捉移動(dòng),該移動(dòng)可用于調(diào)節(jié)模型。 例如,諸如以上描述的捕捉設(shè)備306等捕捉設(shè)備可以捕捉可用于調(diào)整模型的場(chǎng)景的多個(gè)圖像,如深度圖像、RGB圖像等。根據(jù)一實(shí)施例,可基于所定義的頻率來(lái)觀察或捕捉每一圖像。 例如,捕捉設(shè)備可每毫秒、每微秒等觀察或捕捉一次場(chǎng)景的新圖像。在接收到每一圖像后, 可將與特定圖像相關(guān)聯(lián)的信息與和模型相關(guān)聯(lián)的信息進(jìn)行比較來(lái)確定用戶是否已經(jīng)執(zhí)行了移動(dòng)。例如,在一個(gè)實(shí)施例中,該模型可被光柵化成諸如合成深度圖像等合成圖像。合成圖像中的像素可以與和每一接收到的圖像中的人類目標(biāo)相關(guān)聯(lián)的像素進(jìn)行比較來(lái)確定所接收的圖像中的人類目標(biāo)是否已移動(dòng)。根據(jù)一示例實(shí)施例,可以基于在合成圖像和所接收的圖像之間比較的像素來(lái)計(jì)算一個(gè)或多個(gè)力矢量??上蛑T如該模型的關(guān)節(jié)等一個(gè)或多個(gè)受力方面施加或映射一個(gè)或多個(gè)力,來(lái)將該模型調(diào)整成更接近地對(duì)應(yīng)于物理空間中的人類目標(biāo)或用戶姿態(tài)的姿態(tài)。例如,模型可以如上所述基于在各時(shí)間點(diǎn)接收到的深度圖像中觀測(cè)和捕捉到的在各個(gè)點(diǎn)處的用戶移動(dòng)或姿勢(shì)來(lái)調(diào)節(jié)。在特定示例中,當(dāng)用戶抬起他或她的左臂時(shí)可捕捉圖像。圖像跟蹤系統(tǒng)可應(yīng)用一個(gè)或多個(gè)力矢量或調(diào)節(jié)該用戶模型600來(lái)擬合用戶的姿態(tài)。圖7示出了示例化身模型700,其可包括可將例如人類目標(biāo)表示為三維模型的一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)??捎捎成湎到y(tǒng)580通過(guò)將用戶模型600的節(jié)點(diǎn)映射到化身模型700的節(jié)點(diǎn)上來(lái)生成化身模型700。在所描繪的實(shí)施例中,化身模型700可具有類似用戶模型600 的構(gòu)架,然而,化身模型可具有與用戶模型600略微不同的架構(gòu)或節(jié)點(diǎn)分層結(jié)構(gòu)。此外,化身模型700可具有比用戶模型多的節(jié)點(diǎn),或它可能比用戶模型600更大或更小。在所描繪的示例中,化身模型更矮和更寬。與以上類似,每個(gè)身體部位可被表征為定義化身模型700 的節(jié)點(diǎn)和互連的數(shù)學(xué)矢量??膳渲糜成湎到y(tǒng)580來(lái)在應(yīng)用560實(shí)時(shí)執(zhí)行期間接收用戶節(jié)點(diǎn)的位置,并將它們重新映射到化身節(jié)點(diǎn)。在一實(shí)施例中,化身模型700可具有根節(jié)點(diǎn)并且可在其與用戶模塊的根節(jié)點(diǎn)之間建立關(guān)系。例如,模型庫(kù)570可包括定義在運(yùn)行時(shí)要被使用的關(guān)系的信息。使用該關(guān)系,化身節(jié)點(diǎn)的位置可從用戶節(jié)點(diǎn)的位置中計(jì)算出來(lái)。
圖8A示出了用戶模型600且圖8B示出了可能已經(jīng)從模型600中生成的化身模型 700。例如,在圖8A中,用戶模型600可被生成為他或她左臂揮動(dòng)。映射系統(tǒng)580可被用來(lái)調(diào)整用戶模型600的大小以擬合,例如,圖8B的更小的化身模型700。在一實(shí)施例中,例如,節(jié)點(diǎn)jl2可以是末端效應(yīng)物且其位置可被饋入反向運(yùn)動(dòng)學(xué)系統(tǒng)590。反向運(yùn)動(dòng)學(xué)系統(tǒng) 590可確定j8的位置,使得化身模型擺出解剖學(xué)上可能的姿態(tài)并且仍然夠得到末端效應(yīng)物的位置。如圖所述,在一些實(shí)施例中,由于化身700是不同大小的這一事實(shí),化身700的姿態(tài)可能不匹配于用戶模型600的姿態(tài)。例如,化身700的手臂可能比用戶模型600的手臂更直以夠到位置。圖9示出了可能從化身模型700動(dòng)畫化得到的化身或游戲人物900的一示例實(shí)施例。如圖9所示,可對(duì)化身或游戲人物700動(dòng)畫化來(lái)模擬對(duì)以上所描述的所跟蹤的模型600 捕捉的揮手運(yùn)動(dòng)。例如,圖8A和8B中所示模型600的關(guān)節(jié)j8和jl2以及它們之間定義的骨骼可被映射到左肘關(guān)節(jié)j8'和左手腕關(guān)節(jié)jl2'?;砘蛴螒蛉宋?00可接著被動(dòng)畫化為姿態(tài)902。以下是描繪過(guò)程實(shí)現(xiàn)的一系列流程圖。為便于理解,流程圖被組織成使得初始流程圖通過(guò)總體“大圖”視點(diǎn)來(lái)演示各實(shí)現(xiàn),并且后續(xù)的流程圖提供進(jìn)一步的附加物和/或細(xì)節(jié)。此外,本領(lǐng)域的技術(shù)人員可以理解,虛線所描繪的操作流程被認(rèn)為是任選的。圖10它示出了用于實(shí)施本發(fā)明的各方面的操作過(guò)程,包括操作1000、1002,和 1004。如圖所示,操作1000啟動(dòng)操作過(guò)程,并且操作1002示出在應(yīng)用實(shí)時(shí)執(zhí)行期間接收化身末端效應(yīng)物的位置,化身末端效應(yīng)物被設(shè)置到使用用戶末端效應(yīng)物計(jì)算所得的位置,用戶末端效應(yīng)物的位置先前從用戶的圖像生成。例如,轉(zhuǎn)向圖5,在本發(fā)明的一實(shí)施例中,從用戶的圖像生成的數(shù)據(jù),例如,用戶模型600,可被用來(lái)在諸如視頻游戲的應(yīng)用560執(zhí)行期間, 生成化身末端效應(yīng)物的位置。例如,計(jì)算環(huán)境304可包括映射系統(tǒng)580,其可被用來(lái)例如, 將根節(jié)點(diǎn)用作基準(zhǔn)點(diǎn),將節(jié)點(diǎn)從用戶模型600映射到化身模型700。數(shù)據(jù)結(jié)構(gòu)中的每個(gè)節(jié)點(diǎn)可具有可以是例如與其父的偏移(包括長(zhǎng)度值、垂直角度,和水平角度)的位置。在另一實(shí)施例中,每個(gè)節(jié)點(diǎn)可以具有空間內(nèi)的地理坐標(biāo),例如X值、Y值,和Z值。在此示例實(shí)施例中,映射系統(tǒng)580可接收標(biāo)識(shí)用戶的末端效應(yīng)物的位置的信息。在一實(shí)施例中,用戶末端效應(yīng)物的位置可從存儲(chǔ)在計(jì)算環(huán)境304的存儲(chǔ)器RAM、 ROM中的圖像生成。在該實(shí)施例中,捕捉設(shè)備306可使用照相機(jī)組件502捕捉用戶302的圖像。該圖像可被用來(lái)使用上述技術(shù)生成用戶模型600。繼續(xù)對(duì)圖10的描述,操作1004示出了在應(yīng)用的實(shí)時(shí)執(zhí)行期間,確定化身模型關(guān)節(jié)的位置以獲得化身模型的解剖學(xué)上可能的姿態(tài),化身模型關(guān)節(jié)的位置至少?gòu)幕砟┒诵?yīng)物的位置確定。例如,繼續(xù)上述示例,一旦映射系統(tǒng)580獲取應(yīng)用空間中的末端效應(yīng)物的位置,該位置可被饋送到反向運(yùn)動(dòng)學(xué)系統(tǒng)190。反向運(yùn)動(dòng)學(xué)系統(tǒng)590可被配置為使用上述技術(shù)確定考慮末端效應(yīng)物的位置的化身的姿態(tài)。在一實(shí)施例中,反向運(yùn)動(dòng)學(xué)系統(tǒng)590可使用定義可由各節(jié)點(diǎn)執(zhí)行的移動(dòng)的信息來(lái)確定模型的解剖學(xué)上可能的姿態(tài)。例如,代表肘的節(jié)點(diǎn)可與定義在該節(jié)點(diǎn)可能的兩個(gè)移動(dòng)的信息相關(guān)聯(lián)類似鉸鏈的彎曲和伸直,以及將前臂翻轉(zhuǎn)的移動(dòng)。反向運(yùn)動(dòng)學(xué)系統(tǒng)590可使用此信息來(lái)生成基于此信息有效的節(jié)點(diǎn)的位置,并允許末端效應(yīng)物夠到所希望的位置?,F(xiàn)在轉(zhuǎn)向圖11,其示出圖10的操作過(guò)程的替換實(shí)施例,包括操作1106-1118?,F(xiàn)在轉(zhuǎn)到操作1106,它示出了確定特定化身模型關(guān)節(jié)的方向以至少逼近用戶關(guān)節(jié)的方向,用戶關(guān)節(jié)的方向從由用戶圖像生成的數(shù)據(jù)獲得。例如,在一實(shí)施例中,用戶模型600可被生成并存儲(chǔ)在存儲(chǔ)器中。在此示例中,用戶模型600可具有標(biāo)識(shí)出末端效應(yīng)物以外的節(jié)點(diǎn)的位置的信息。例如,末端效應(yīng)物可以是手,且用戶模型可能具有代表用戶的肘和用戶的肩的節(jié)點(diǎn)的位置信息。映射系統(tǒng)580可被執(zhí)行并且這些附加節(jié)點(diǎn)的坐標(biāo)可被變換為化身模型700 的位置。這些位置,以及末端效應(yīng)物的位置可接著被發(fā)送到反向運(yùn)動(dòng)學(xué)系統(tǒng)590。反向運(yùn)動(dòng)學(xué)系統(tǒng)590可接著確定考慮關(guān)于其他節(jié)點(diǎn)的位置信息的化身模型700的姿態(tài)。在此示例中, 反向運(yùn)動(dòng)學(xué)系統(tǒng)590可被區(qū)分優(yōu)先級(jí)以正確地定位末端效應(yīng)物,并嘗試匹配任何其它節(jié)點(diǎn)的方向,無(wú)需移動(dòng)末端效應(yīng)物。因此,在一些示例實(shí)施例中,反向運(yùn)動(dòng)學(xué)系統(tǒng)590能夠準(zhǔn)確放置節(jié)點(diǎn)以模擬用戶的方向,或可將節(jié)點(diǎn)放置為逼近用戶的方向。繼續(xù)圖11的描述,操作1108示出了從用戶的圖像生成用戶模型,用戶模型包括用戶末端效應(yīng)物的位置。例如,在該實(shí)施例中,可使用上面結(jié)合圖5和6描述的技術(shù)生成用戶模型。在此示例實(shí)施例中,用戶模型600可包括可通過(guò)互連(例如骨骼)連接的節(jié)點(diǎn),例如, 末端效應(yīng)物和多個(gè)關(guān)節(jié)。轉(zhuǎn)向操作1110,它示出了生成動(dòng)畫流,動(dòng)畫流包括模型關(guān)節(jié)的位置和末端效應(yīng)物的位置;并將動(dòng)畫流發(fā)送到圖形處理器。例如,在一實(shí)施例中,化身模型700可被用來(lái)生成動(dòng)畫流。在該示例中,動(dòng)畫流可被變換為,例如,圖元并發(fā)送到圖形處理器。圖形處理器可接著執(zhí)行該圖元,使用化身模型呈現(xiàn)存儲(chǔ)器中游戲中的人物,并接著將指示已呈現(xiàn)的人物的信息發(fā)到視聽(tīng)設(shè)備320。繼續(xù)圖11的描述,操作1112示出了一實(shí)施例,其中確定化身模型關(guān)節(jié)的位置包括,但不限于,確定特定化身模型關(guān)節(jié)與特定用戶關(guān)節(jié)不相關(guān)聯(lián),其中在數(shù)據(jù)不包括特定用戶關(guān)節(jié)的位置信息時(shí)特定化身模型關(guān)節(jié)與特定用戶關(guān)節(jié)不相關(guān)聯(lián);并將特定化身模型關(guān)節(jié)的位置設(shè)置為逼近默認(rèn)位置。例如,在一實(shí)施例中,信息可被存儲(chǔ)在定義化身模型的默認(rèn)姿態(tài)和化身模型中的關(guān)節(jié)的位置信息的模型庫(kù)570中。例如,可將化身模型與定義形成類似 “T”的姿態(tài)的關(guān)節(jié)的位置的信息相關(guān)聯(lián)。模型庫(kù)570也可能包括各其他姿態(tài),諸如奔跑或走路姿態(tài)或示出化身握住物體的姿態(tài)。在該示例中,可向反向運(yùn)動(dòng)學(xué)系統(tǒng)590饋送末端效應(yīng)物的位置以及被捕捉的任何關(guān)節(jié)的位置。反向運(yùn)動(dòng)學(xué)系統(tǒng)590也可接收定義了系統(tǒng)缺乏其位置信息的關(guān)節(jié)的默認(rèn)位置的信息。例如,右膝可能是感興趣的關(guān)節(jié),然而已捕捉的圖像可能不具有右膝的任何信息或者因各種原因信息不可用。在此示例中,默認(rèn)位置信息可由反向運(yùn)動(dòng)學(xué)系統(tǒng)590使用,來(lái)生成考慮默認(rèn)位置的化身模型的姿態(tài)。在此示例中,可由映射系統(tǒng)580基于用戶模型600和模型庫(kù)570中的模型之間的比較來(lái)選擇默認(rèn)位置。在該示例中,定義末端效應(yīng)物和任何關(guān)節(jié)的已知位置的信息可與庫(kù)比較,并可使用具有最佳擬合的默認(rèn)模型。默認(rèn)的關(guān)節(jié)位置可被發(fā)送到反向運(yùn)動(dòng)學(xué)系統(tǒng)590 中用于任何未知用戶關(guān)節(jié)。在一示例實(shí)施例中,反向運(yùn)動(dòng)學(xué)系統(tǒng)590可被配置來(lái)使用優(yōu)先級(jí)設(shè)定來(lái)確定如何擺化身模型的姿勢(shì)。例如,末端效應(yīng)物可與將它們標(biāo)識(shí)為最高優(yōu)先級(jí)的信息相關(guān)聯(lián)。在此情況中,反向運(yùn)動(dòng)學(xué)系統(tǒng)590將對(duì)將末端效應(yīng)物擬合到希望的點(diǎn)區(qū)分優(yōu)先級(jí)。映射系統(tǒng)580 具有關(guān)于其的信息的關(guān)節(jié)可被設(shè)置到低于末端效應(yīng)物的優(yōu)先級(jí)級(jí)別。在此情況中,反向運(yùn)動(dòng)學(xué)系統(tǒng)590可嘗試將這些關(guān)節(jié)擬合到至少類似用戶模型關(guān)節(jié)但是不與末端效應(yīng)物的定位沖突的位置。最后,可以擬合沒(méi)有信息被接收到的關(guān)節(jié)。在此情況中,反向運(yùn)動(dòng)學(xué)系統(tǒng) 590將嘗試將這些關(guān)節(jié)擬合到至少類似默認(rèn)位置但是不與末端效應(yīng)物的定位沖突的位置。繼續(xù)圖11的描述,操作1114示出了在應(yīng)用的執(zhí)行期間,接收來(lái)自應(yīng)用的對(duì)于化身模型的請(qǐng)求,并在應(yīng)用的執(zhí)行期間,從模型的庫(kù)中選擇化身模型。例如,在一實(shí)施例中,模型的類型可在應(yīng)用被執(zhí)行時(shí)從模型庫(kù)570中加載。在該示例實(shí)施例中,應(yīng)用可定義將要被使用模型的類型,例如似人的模型、馬模型、龍模型等。映射系統(tǒng)580可接收定義將要被使用的模型的類型的請(qǐng)求,并從模型庫(kù)570中選擇化身模型。映射系統(tǒng)580還可基于從應(yīng)用給予它的參數(shù)調(diào)整化身模型的大小。例如,模型可以是某一大小,應(yīng)用可請(qǐng)求大許多倍或小許多倍的模型。在此情況中,應(yīng)用可指定所想要的大小并且映射系統(tǒng)580可適當(dāng)縮放該模型。操作1116示出了在特定用戶關(guān)節(jié)和特定模型關(guān)節(jié)之間生成關(guān)系;并且生成將用戶末端效應(yīng)物耦合到用戶關(guān)節(jié)以擬合化身模型的大小的互連。在一實(shí)施例中,映射系統(tǒng)580 可包括將特定關(guān)節(jié)映射到模型的已知關(guān)節(jié)的信息。例如,每個(gè)模型可具有映射到用戶膝蓋、 手腕、腳踝、肘部,或其他特定關(guān)節(jié)的節(jié)點(diǎn)。可在這些節(jié)點(diǎn)和化身模型700的節(jié)點(diǎn)之間建立關(guān)系。一旦關(guān)系被建立,可生成互連(例如,骨骼)來(lái)將模型中的各節(jié)點(diǎn)鏈接在一起。映射系統(tǒng)580可獲得用戶模型節(jié)點(diǎn)的位置,并且計(jì)算化身模型節(jié)點(diǎn)的位置?;砟P凸?jié)點(diǎn)然后可被饋送到反向運(yùn)動(dòng)學(xué)系統(tǒng)590以生成模型的姿態(tài)。繼續(xù)圖11的描述,操作1118示出了將用戶末端效應(yīng)物映射到具有與用戶不同的骨架構(gòu)造的化身模型。例如,在一實(shí)施例中,模型可具有不同于用戶的骨架構(gòu)造。在此示例中,化身模型可以不具有似人的骨架構(gòu)造。例如,化身模型可具有半人馬(部分人部分馬的神話生物)的構(gòu)造。因此,在該示例中,化身模型具有不同于人類的骨骼或關(guān)節(jié)。在該實(shí)施例中,映射系統(tǒng)580可包括定義人類的各節(jié)點(diǎn)和半人馬的節(jié)點(diǎn)之間關(guān)系的信息。例如,人類的腿的節(jié)點(diǎn)可被映射到半人馬的全部四條腿,而用戶的手臂可被映射到半人馬的手臂。轉(zhuǎn)向圖12,它示出了包括操作1200-1214的操作過(guò)程。操作1200開(kāi)始操作過(guò)程, 并且操作1202示出執(zhí)行視頻游戲。例如,在一實(shí)施例中,應(yīng)用160可以是視頻游戲。該視頻游戲可被配置來(lái)使用目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)300來(lái)確定在游戲中如何動(dòng)畫化化身。繼續(xù)圖12的描述,操作1204示出了基于從視頻游戲接收的信息加載化身模型,該化身模型包括化身末端效應(yīng)物和多個(gè)化身節(jié)點(diǎn)。例如,在一實(shí)施例中,化身模型可在視頻游戲被執(zhí)行時(shí)從模型庫(kù)570中加載。在該示例實(shí)施例中,視頻游戲可向計(jì)算環(huán)境304發(fā)送信號(hào),指示它使用什么類型的化身模型,例如似人模型、馬模型、龍模型等。映射系統(tǒng)580可接收定義將要被使用的模型的類型的請(qǐng)求,并從模型庫(kù)570中選擇模型。映射系統(tǒng)580還可基于從視頻游戲給予它的參數(shù)調(diào)整化身模型的大小。例如,化身模型可以是某一大小,應(yīng)用可請(qǐng)求大許多倍或小許多倍的化身模型。在此情況中,應(yīng)用可指定所想要的大小并且映射系統(tǒng)580可適當(dāng)縮放該模型。繼續(xù)圖12的描述,操作1206示出接收用戶末端效應(yīng)物的位置信息。例如,在一實(shí)施例中,捕捉設(shè)備306可使用上述技術(shù)捕捉用戶302的圖像,并且可從該圖像生成用戶模型。模型中的每個(gè)節(jié)點(diǎn)可具有可以是例如與其父的偏移(包括長(zhǎng)度值、垂直角度,和水平角度)的位置。在另一實(shí)施例中,每個(gè)節(jié)點(diǎn)可以具有空間內(nèi)的地理坐標(biāo),例如X值、Y
16值,和Z值。在此示例實(shí)施例中,映射系統(tǒng)580可接收標(biāo)識(shí)已由動(dòng)畫設(shè)計(jì)者選擇的用戶的末端效應(yīng)物的位置的信息。例如,用戶的3D模型可連同從基準(zhǔn)點(diǎn)(例如根節(jié)點(diǎn))延伸的坐標(biāo)系統(tǒng)一起被存儲(chǔ)在存儲(chǔ)器中。末端效應(yīng)物的位置可被跟蹤且坐標(biāo)可被存儲(chǔ)在存儲(chǔ)器中。繼續(xù)圖12的描述,操作1208在視頻游戲?qū)崟r(shí)執(zhí)行期間,確定化身末端效應(yīng)物的位置,其中化身末端效應(yīng)物的位置是使用用戶末端效應(yīng)物的位置信息來(lái)計(jì)算的。例如,映射系統(tǒng)580可被配置來(lái)在視頻游戲?qū)崟r(shí)執(zhí)行期間,接收用戶末端效應(yīng)物的位置并將其重新映射到合適的化身末端效應(yīng)物。例如,在一實(shí)施例中,化身可具有根節(jié)點(diǎn),并且可使用化身的根節(jié)點(diǎn)和用戶模型的根節(jié)點(diǎn)建立關(guān)系。使用該關(guān)系,化身末端效應(yīng)物的位置可從用戶末端效應(yīng)物的位置中計(jì)算出來(lái)。在另一實(shí)施例中,其他節(jié)點(diǎn)的位置可被用來(lái)確定化身末端效應(yīng)物的位置。例如,可獲取末端效應(yīng)物的父節(jié)點(diǎn)和祖父節(jié)點(diǎn)的位置信息,并且可在對(duì)應(yīng)的父節(jié)點(diǎn)和祖父節(jié)點(diǎn)之間建立關(guān)系。使用該關(guān)系,化身末端效應(yīng)物的位置可從用戶末端效應(yīng)物的位置中計(jì)算出來(lái)。轉(zhuǎn)到操作1210,它示出了接收用戶末端效應(yīng)物的第二位置信息。某點(diǎn)之后,例如 5ms之后,或以捕捉設(shè)備可獲取新圖像且已更新模型可被生成的速度,照相機(jī)可捕捉用戶 302的圖像并且映射系統(tǒng)580可接收標(biāo)識(shí)用戶的末端效應(yīng)物的已更新位置的信息。例如,用戶的3D模型可連同從基準(zhǔn)點(diǎn)(例如根節(jié)點(diǎn))延伸的坐標(biāo)系統(tǒng)一起被存儲(chǔ)在存儲(chǔ)器中。末端效應(yīng)物的第二位置可被跟蹤且坐標(biāo)可被存儲(chǔ)在存儲(chǔ)器中。操作1212接著示出,在視頻游戲?qū)崟r(shí)執(zhí)行期間,將化身末端效應(yīng)物的位置更新到第二位置,其中化身末端效應(yīng)物的位置使用用戶末端效應(yīng)物的第二位置信息來(lái)計(jì)算。例如, 映射系統(tǒng)580可被配置來(lái)在視頻游戲?qū)崟r(shí)執(zhí)行期間,接收用戶末端效應(yīng)物的已更新位置并更新合適的化身末端效應(yīng)物的位置。操作1214示出了,在視頻游戲?qū)崟r(shí)執(zhí)行期間,確定化身節(jié)點(diǎn)的位置,以獲得化身模型的解剖學(xué)上可能的姿態(tài),其中姿態(tài)維持化身末端效應(yīng)物的已更新位置。例如,末端效應(yīng)物的已更新位置可被饋送到反向運(yùn)動(dòng)學(xué)系統(tǒng)590,且該系統(tǒng)可確定沒(méi)有被動(dòng)畫設(shè)計(jì)者直接放置的化身節(jié)點(diǎn)(諸如關(guān)節(jié)和/或任何末端效應(yīng)物)的位置。反向運(yùn)動(dòng)學(xué)系統(tǒng)590可被配置為使用上述技術(shù)確定與化身末端效應(yīng)物的位置匹配的化身模型的姿態(tài)。例如,代表肘的節(jié)點(diǎn)可與定義在該節(jié)點(diǎn)可能的兩個(gè)移動(dòng)(類似鉸鏈的彎曲和伸直,以及將前臂翻轉(zhuǎn)的移動(dòng))的信息相關(guān)聯(lián)。反向運(yùn)動(dòng)學(xué)系統(tǒng)590可使用此信息來(lái)生成基于此信息有效的節(jié)點(diǎn)的位置,并仍然允許末端效應(yīng)物夠到所希望的位置。因此,該示例中的末端效應(yīng)物可被定位在正確位置,然而化身模型中的其他節(jié)點(diǎn)可能不需要反映用戶模型的方向?,F(xiàn)在轉(zhuǎn)向圖13,其示出圖12的操作過(guò)程的替換實(shí)施例,包括操作1316-1322。操作 1316示出了由照相機(jī)捕捉用戶的圖像;生成包括用戶末端效應(yīng)物的用戶模型;并從用戶模型確定用戶末端效應(yīng)物的位置信息。例如,在一實(shí)施例中,捕捉設(shè)備306可用來(lái)捕捉圖像。 在該示例中,目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)300可捕捉圖像并用它生成用戶模型600。用戶模型600可被存儲(chǔ)在存儲(chǔ)器中,并且映射系統(tǒng)580可被執(zhí)行來(lái)確定末端效應(yīng)物的位置。繼續(xù)圖13的描述,細(xì)化1318示出了在一實(shí)施例中,化身模型包括非人類化身模型。類似于上述,在一實(shí)施例中,化身可具有非似人骨架構(gòu)造和/或不同節(jié)點(diǎn)分級(jí)結(jié)構(gòu),例如非似人構(gòu)造可包括具有與人類相當(dāng)?shù)牟课徊煌倪\(yùn)動(dòng)范圍的節(jié)點(diǎn),或構(gòu)造可具有以不同于似人的方式連接的更多或更少節(jié)點(diǎn)。例如,化身可以是有四條手臂和鰭的海怪。在該示例中,用戶模型600上代表用戶手臂的節(jié)點(diǎn)可被映射到四條手臂,映射到用戶的腿的節(jié)點(diǎn)可被映射到鰭。在該示例中,由于用戶腿的節(jié)點(diǎn)可以這樣的方式映射到化身的鰭上當(dāng)用戶提起放下他的腿時(shí)使得鰭向后向前。繼續(xù)圖13的描述,操作1320示出將特定模型關(guān)節(jié)的方向設(shè)置為至少逼近用戶關(guān)節(jié)的方向,用戶關(guān)節(jié)的方向從所生成的用戶模型確定。例如,在一實(shí)施例中,用戶模型可被生成并存儲(chǔ)在存儲(chǔ)器中。在此示例中,用戶模型可具有標(biāo)識(shí)出末端效應(yīng)物以外的節(jié)點(diǎn)的位置的信息。例如,末端效應(yīng)物可以是手,且用戶模型可能具有代表用戶的肘和用戶的肩的節(jié)點(diǎn)的位置信息。映射系統(tǒng)580可被執(zhí)行并且這些附加節(jié)點(diǎn)的坐標(biāo)可被變換為化身的位置。繼續(xù)圖13的描述,操作1322示出了從化身模型生成動(dòng)畫流;并將動(dòng)畫流與預(yù)定義的動(dòng)畫混合。例如,在一實(shí)施例中,化身模型700可被用來(lái)生成動(dòng)畫流。動(dòng)畫設(shè)計(jì)者可將預(yù)定義的動(dòng)畫添加到動(dòng)畫流,以向動(dòng)畫添加附加效果。例如,預(yù)定義動(dòng)畫可包括呼吸動(dòng)畫。 動(dòng)畫可與化身混合使得在呈現(xiàn)時(shí)化身顯得在呼吸。一旦動(dòng)畫流最終確定,其可被變換為,例如,圖元并發(fā)送到圖形處理器。圖形處理器可接著執(zhí)行該圖元,呈現(xiàn)存儲(chǔ)器中的化身,并且已呈現(xiàn)的化身可被發(fā)送到監(jiān)視器?,F(xiàn)在轉(zhuǎn)向圖14,它示出了包括操作1400-1410的操作過(guò)程。操作1400開(kāi)始過(guò)程, 且操作1402示出從圖像生成用戶模型,其中用戶模型包括用戶末端效應(yīng)物。例如,在一實(shí)施例中,圖5的目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)300可被用來(lái)捕捉圖像。在該示例中,目標(biāo)識(shí)別、 分析和跟蹤系統(tǒng)300可捕捉圖像并用它生成用戶模型600。用戶模型600可被存儲(chǔ)在存儲(chǔ)器中,并且映射系統(tǒng)580可被執(zhí)行來(lái)確定末端效應(yīng)物的位置。數(shù)據(jù)結(jié)構(gòu)中的每個(gè)節(jié)點(diǎn)可具有可以是例如與其父的偏移(包括長(zhǎng)度值、垂直角度,和水平角度)的位置。在另一實(shí)施例中,每個(gè)節(jié)點(diǎn)可以具有空間內(nèi)的地理坐標(biāo),例如X 值、Y值和Z值。在此示例實(shí)施例中,映射系統(tǒng)580可接收標(biāo)識(shí)已由動(dòng)畫設(shè)計(jì)者選擇的用戶的末端效應(yīng)物的位置的信息。例如,用戶的3D模型可連同從基準(zhǔn)點(diǎn)(例如根節(jié)點(diǎn))延伸的坐標(biāo)系統(tǒng)一起被存儲(chǔ)在存儲(chǔ)器中。末端效應(yīng)物的位置可被跟蹤且坐標(biāo)可被存儲(chǔ)在存儲(chǔ)器中。繼續(xù)圖14的描述,操作1404示出了在應(yīng)用運(yùn)行時(shí)執(zhí)行期間,將用戶末端效應(yīng)物映射到化身模型。例如,可配置映射系統(tǒng)580來(lái)在應(yīng)用560實(shí)時(shí)執(zhí)行期間接收用戶末端效應(yīng)物的位置,并將它們重新映射到化身末端效應(yīng)物。例如,在一實(shí)施例中,化身模型700可具有根節(jié)點(diǎn),并且可使用化身的根節(jié)點(diǎn)和用戶模型的根節(jié)點(diǎn)建立關(guān)系。類似于上面結(jié)合圖5 和6的描述,使用該關(guān)系,可從用戶末端效應(yīng)物的位置計(jì)算化身末端效應(yīng)物的位置。繼續(xù)圖14的描述,操作1406示出了在應(yīng)用運(yùn)行時(shí)執(zhí)行期間,設(shè)置化身關(guān)節(jié)的位置以獲得模型的解剖學(xué)上可能的姿態(tài)。例如,末端效應(yīng)物的位置可被饋送到反向運(yùn)動(dòng)學(xué)系統(tǒng) 590,且該系統(tǒng)可確定沒(méi)有被動(dòng)畫設(shè)計(jì)者直接放置的化身節(jié)點(diǎn)(諸如關(guān)節(jié)和/或任何末端效應(yīng)物)的位置。反向運(yùn)動(dòng)學(xué)系統(tǒng)590可被配置為使用上述技術(shù)來(lái)確定與化身末端效應(yīng)物的位置匹配的模型的姿態(tài)。反向運(yùn)動(dòng)學(xué)系統(tǒng)590可使用此信息來(lái)生成基于此信息有效的節(jié)點(diǎn)的位置,并仍然允許末端效應(yīng)物夠到所希望的位置。因此,該示例中的末端效應(yīng)物可被定位在正確位置,然而化身模型中的其他節(jié)點(diǎn)可能不需要反映用戶模型的方向。繼續(xù)圖14的描述,操作1408示出了在應(yīng)用的運(yùn)行時(shí)執(zhí)行期間,基于對(duì)用戶模型的改變來(lái)修改化身末端效應(yīng)物的位置和化身關(guān)節(jié)。例如,映射系統(tǒng)580可被配置來(lái)接收用戶模型末端效應(yīng)物的已更新位置信息,且反向運(yùn)動(dòng)學(xué)系統(tǒng)590可被配置為基于對(duì)用戶模型的改變來(lái)生成關(guān)節(jié)的已更新位置。在一實(shí)施例中,用戶模型可例如,每5ms或以捕捉設(shè)備可獲取新圖像且已更新模型可被生成的速度發(fā)生改變。在該示例中,執(zhí)行環(huán)境12可被配置為基于對(duì)用戶模型的改變來(lái)修改化身?,F(xiàn)在轉(zhuǎn)向圖15,其示出操作過(guò)程1400的替換實(shí)施例,包括操作1510-1520。例如, 操作1410示出將特定化身關(guān)節(jié)的方向設(shè)置為逼近用戶關(guān)節(jié)的方向,用戶關(guān)節(jié)的方向從用戶模型中獲得。例如,在一實(shí)施例中,用戶模型可被生成并存儲(chǔ)在存儲(chǔ)器中。在此示例中, 用戶模型可具有標(biāo)識(shí)出末端效應(yīng)物以外的節(jié)點(diǎn)的位置的信息。例如,末端效應(yīng)物可以是手, 且用戶模型可能具有代表用戶的肘和用戶的肩的節(jié)點(diǎn)的位置信息。映射系統(tǒng)580可被執(zhí)行并且這些附加節(jié)點(diǎn)的坐標(biāo)可被變換為化身模型的位置。這一個(gè)或多個(gè)位置,以及末端效應(yīng)物的位置可接著被發(fā)送到反向運(yùn)動(dòng)學(xué)系統(tǒng)190。反向運(yùn)動(dòng)學(xué)系統(tǒng)590可被執(zhí)行,并且可以確定考慮關(guān)于其他節(jié)點(diǎn)的位置信息的化身的姿態(tài)。在此示例中,反向運(yùn)動(dòng)學(xué)系統(tǒng)590可被區(qū)分優(yōu)先級(jí)以正確地定位末端效應(yīng)物,并嘗試匹配節(jié)點(diǎn)的方向,無(wú)需移動(dòng)末端效應(yīng)物。因此, 在一些示例實(shí)施例中,反向運(yùn)動(dòng)學(xué)系統(tǒng)590能夠準(zhǔn)確放置節(jié)點(diǎn)或可將節(jié)點(diǎn)放置為逼近用戶的方向。繼續(xù)圖15的描述,操作1512示出了從化身模型生成動(dòng)畫流;并將動(dòng)畫流與預(yù)定義的動(dòng)畫混合。例如,在一實(shí)施例中,化身模型可被用來(lái)生成動(dòng)畫流。動(dòng)畫設(shè)計(jì)者可將預(yù)定義的動(dòng)畫添加到動(dòng)畫流,以向動(dòng)畫添加附加效果。例如,預(yù)定義動(dòng)畫可包括呼吸動(dòng)畫。動(dòng)畫可與化身模型混合使得在呈現(xiàn)時(shí)化身顯得在呼吸。一旦動(dòng)畫流最終確定,其可被變換為,例如,圖元并發(fā)送到圖形處理器。圖形處理器可接著執(zhí)行該圖元,呈現(xiàn)存儲(chǔ)器中的化身,并且已呈現(xiàn)的化身可被發(fā)送到監(jiān)視器。轉(zhuǎn)到操作1514,其示出了確定特定化身關(guān)節(jié)與特定用戶關(guān)節(jié)不相關(guān)聯(lián),其中當(dāng)用戶模型不包括特定用戶關(guān)節(jié)的位置信息時(shí)特定化身關(guān)節(jié)不與特定用戶關(guān)節(jié)相關(guān)聯(lián);并將特定化身關(guān)節(jié)設(shè)置到默認(rèn)位置。例如,在一實(shí)施例中,信息可被存儲(chǔ)在定義化身模型的默認(rèn)姿態(tài)和化身模型中的關(guān)節(jié)的位置信息的模型庫(kù)570中。例如,可將化身模型與定義形成類似 “T”的姿態(tài)的關(guān)節(jié)的位置的信息相關(guān)聯(lián)。模型庫(kù)570也可包括各其他姿態(tài),諸如奔跑或走路姿態(tài)或握住某些普通物體的姿態(tài)。在該示例中,可向反向運(yùn)動(dòng)學(xué)系統(tǒng)590饋送末端效應(yīng)物的位置以及被捕捉的任何關(guān)節(jié)的位置。反向運(yùn)動(dòng)學(xué)系統(tǒng)590也可接收定義了系統(tǒng)缺乏其位置信息的關(guān)節(jié)的默認(rèn)位置的信息。例如,右膝可能是感興趣的關(guān)節(jié),然而已捕捉的圖像可能不具有右膝的任何信息或者因各種原因信息不可用。在此示例中,默認(rèn)位置信息可由反向運(yùn)動(dòng)學(xué)系統(tǒng)590使用,來(lái)生成考慮默認(rèn)位置的模型的姿態(tài)。在此示例中,可由映射系統(tǒng)580基于用戶模型600和模型庫(kù)570中的模型之間的比較來(lái)選擇默認(rèn)位置。在該示例中,定義末端效應(yīng)物和任何關(guān)節(jié)的已知位置的信息可與庫(kù)比較,并可使用具有最佳擬合的默認(rèn)模型。默認(rèn)的關(guān)節(jié)位置可被發(fā)送到反向運(yùn)動(dòng)學(xué)系統(tǒng)590 中用于任何未知用戶關(guān)節(jié)。在一示例實(shí)施例中,反向運(yùn)動(dòng)學(xué)系統(tǒng)590可被配置來(lái)使用優(yōu)先級(jí)設(shè)定來(lái)確定如何擺化身模型的姿勢(shì)。例如,末端效應(yīng)物可與將它們標(biāo)識(shí)為最高優(yōu)先級(jí)的信息相關(guān)聯(lián)。在此情況中,反向運(yùn)動(dòng)學(xué)系統(tǒng)590將對(duì)將末端效應(yīng)物擬合到希望的點(diǎn)區(qū)分優(yōu)先級(jí)。映射系統(tǒng)580 具有關(guān)于其的信息的關(guān)節(jié)可被設(shè)置到低于末端效應(yīng)物的優(yōu)先級(jí)級(jí)別。在此情況中,反向運(yùn)
19動(dòng)學(xué)系統(tǒng)590可嘗試擬合這些關(guān)節(jié),或如果這樣做將改變?nèi)魏文┒诵?yīng)物的位置則不擬合這些關(guān)節(jié)。最后,可以擬合沒(méi)有信息被接收到的關(guān)節(jié)。在此情況中,反向運(yùn)動(dòng)學(xué)系統(tǒng)590將嘗試擬合這些關(guān)節(jié),但將不改變?nèi)魏文┒诵?yīng)物或系統(tǒng)具有位置信息的任何關(guān)節(jié)的位置。繼續(xù)圖15的描述,操作1516示出接收定義由應(yīng)用使用的化身類型的信息;并在應(yīng)用執(zhí)行期間,基于定義由應(yīng)用使用的化身類型的信息從化身模型的庫(kù)中選擇化身模型。例如,在一實(shí)施例中,化身模型可在應(yīng)用被執(zhí)行時(shí)從模型庫(kù)570中加載。在該示例實(shí)施例中, 應(yīng)用可請(qǐng)求模型,例如似人模型、馬模型、龍模型等。映射系統(tǒng)580可接收定義將要被使用的模型的類型的請(qǐng)求,并可從模型庫(kù)570中選擇模型。映射系統(tǒng)580還可基于從應(yīng)用給予它的參數(shù)調(diào)整模型的大小。例如,模型可以是某一大小,應(yīng)用可請(qǐng)求大許多倍或小許多倍的模型。在此情況中,應(yīng)用可指定所想要的大小并且映射系統(tǒng)580可適當(dāng)縮放該模型。繼續(xù)圖15的描述,操作1518示出調(diào)整將用戶末端效應(yīng)物耦合到關(guān)節(jié)的互連的大小,以擬合化身模型的大小。在一實(shí)施例中,映射系統(tǒng)580可包括將特定關(guān)節(jié)映射到模型的已知關(guān)節(jié)的信息。例如,每個(gè)模型可具有映射到用戶膝蓋、手腕、腳踝、肘部,或其他特定關(guān)節(jié)的節(jié)點(diǎn)??稍谶@些節(jié)點(diǎn)和用戶模型600的節(jié)點(diǎn)之間建立關(guān)系。一旦在用戶模型600的節(jié)點(diǎn)和化身模型700中的節(jié)點(diǎn)之間建立關(guān)系,例如骨骼的互連可被生成以將化身700中的各種節(jié)點(diǎn)鏈接在一起。在這一點(diǎn)上,映射系統(tǒng)580可獲得用戶模型節(jié)點(diǎn)的位置,并且計(jì)算化身模型節(jié)點(diǎn)的位置?;砟P凸?jié)點(diǎn)然后可被饋送到反向運(yùn)動(dòng)學(xué)系統(tǒng)590以生成模型的姿態(tài)。繼續(xù)圖15的描述,操作1520示出了將用戶末端效應(yīng)物映射到具有與用戶模型不同的骨架構(gòu)造的化身模型。類似于上述,在一實(shí)施例中,化身可具有非似人骨架構(gòu)造和/ 或不同節(jié)點(diǎn)分級(jí)結(jié)構(gòu),例如非似人構(gòu)造可包括具有與人類相當(dāng)?shù)牟课徊煌倪\(yùn)動(dòng)范圍的節(jié)點(diǎn),或構(gòu)造可具有以不同于似人的方式連接的更多或更少節(jié)點(diǎn)。上述詳細(xì)描述通過(guò)示例和/或操作圖闡明了系統(tǒng)和/或過(guò)程的各種實(shí)施例。就這些框圖和/或示例包含一個(gè)或多個(gè)功能和/或操作而言,本領(lǐng)域技術(shù)人員將理解,這些框圖或示例中的每一功能和/或操作都可由各種各樣的硬件、軟件、固件、或?qū)嶋H上其任意組合來(lái)單獨(dú)地和/或共同地實(shí)現(xiàn)。盡管示出和描述了此處所描述的本主題的特定方面,但是,對(duì)于本領(lǐng)域的技術(shù)人員顯而易見(jiàn)的是,基于此處的原理,在不偏離此處所描述的主題以及其廣泛的方面的情況下,可以作出更改和修改,因此,所附權(quán)利要求書將包含在它們的范圍內(nèi),所有這樣的更改和修改都將在此處所描述的主題的真正的精神和范圍內(nèi)。
權(quán)利要求
1.一種系統(tǒng),包括用于在應(yīng)用的實(shí)時(shí)執(zhí)行期間接收化身末端效應(yīng)物(圖7的jl,jll,jl2,jl7,或jl8) 的位置的電路(304),所述化身末端效應(yīng)物(圖7的jl,jll,jl2,jl7,或jl8)被設(shè)置到使用用戶末端效應(yīng)物(圖6的」1,」11,」12,」17,或」18)所計(jì)算的位置,所述用戶末端效應(yīng)物 (圖6的jl,jll, jl2,jl7,或jl8)的位置是從先前用戶的圖像中生成的;以及用于在應(yīng)用的實(shí)時(shí)執(zhí)行期間確定化身模型關(guān)節(jié)(圖7的j2-jl0和jl3-jl6)的位置以獲取化身模型(702)的解剖學(xué)上可能的姿態(tài)的電路(590),所述化身模型關(guān)節(jié)(圖7的 j'2-jlO和jl3-jl6)的位置至少?gòu)乃龌砟┒诵?yīng)物(圖7的jl,jll,jl2,jl7,或jl8) 的位置來(lái)確定。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述用于確定化身模型關(guān)節(jié)的位置的電路還包括用于確定特定化身模型關(guān)節(jié)的方向以至少逼近用戶關(guān)節(jié)的方向的電路,所述用戶關(guān)節(jié)的方向從由用戶圖像生成的數(shù)據(jù)獲得。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于從用戶的圖像生成用戶模型的電路,所述用戶模型包括所述用戶末端效應(yīng)物的位置。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于生成動(dòng)畫流的電路,所述動(dòng)畫流包括所述化身模型關(guān)節(jié)的位置和所述末端效應(yīng)物的位置;以及用于將所述動(dòng)畫流發(fā)送到圖形處理器的電路。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述用于確定化身模型關(guān)節(jié)的位置的電路還包括用于確定特定化身模型關(guān)節(jié)與特定用戶關(guān)節(jié)不相關(guān)聯(lián)的電路,其中在數(shù)據(jù)不包括特定用戶關(guān)節(jié)的位置信息時(shí)特定化身模型關(guān)節(jié)與特定用戶關(guān)節(jié)不相關(guān)聯(lián);以及用于將特定化身模型關(guān)節(jié)的位置設(shè)置為逼近默認(rèn)位置的電路。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于在應(yīng)用執(zhí)行期間從所述應(yīng)用接收對(duì)化身模型的請(qǐng)求的電路;以及用于在應(yīng)用執(zhí)行期間從模型的庫(kù)選擇化身模型的電路。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于生成特定用戶關(guān)節(jié)和特定模型關(guān)節(jié)之間的關(guān)系的電路;以及用于生成將用戶末端效應(yīng)物與用戶關(guān)節(jié)耦合的互連以擬合所述化身模型的大小的電路。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于將用戶末端效應(yīng)物映射到具有與所述用戶不同的骨架構(gòu)造的化身模型的電路。
9.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括 用于生成包括用戶末端效應(yīng)物的用戶模型的電路;以及用于從所述用戶模型確定所述用戶末端效應(yīng)物的位置的電路。
10.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述化身模型包括非人類化身模型。
11.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于接收定義由應(yīng)用使用的化身類型的信息的電路;以及用于在應(yīng)用執(zhí)行期間基于定義了由應(yīng)用使用的化身類型的信息從化身模型的庫(kù)中選擇化身模型的電路。
12.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于調(diào)整將用戶末端效應(yīng)物與關(guān)節(jié)耦合的互連的大小以擬合所述化身模型的大小的電路。
13.如權(quán)利要求1所述的系統(tǒng),還包括用于將用戶末端效應(yīng)物映射到具有與所述用戶模型不同的骨架構(gòu)造的化身模型的電路。
14.一種方法,包括 執(zhí)行視頻游戲(304);基于從所述視頻游戲接收的信息加載化身模型(570),所述化身模型(700)包括化身末端效應(yīng)物(圖7的jl)和多個(gè)化身關(guān)節(jié)(圖7的j2-jl0和jl3-jl6); 接收用戶末端效應(yīng)物(圖6的jl)的位置信息;在所述視頻游戲?qū)崟r(shí)執(zhí)行期間,確定化身末端效應(yīng)物(圖7的jl)的位置,其中所述化身末端效應(yīng)物(圖7的jl)的位置使用用戶末端效應(yīng)物(圖6的jl)的位置信息來(lái)計(jì)算; 接收所述用戶末端效應(yīng)物(圖6的jl)的第二位置信息;在所述視頻游戲?qū)崟r(shí)執(zhí)行期間,將化身末端效應(yīng)物(圖7的jl)的位置更新到第二位置,其中化身末端效應(yīng)物(圖7的jl)的位置使用所述用戶末端效應(yīng)物(圖6的jl)的第二位置信息來(lái)計(jì)算;以及在所述視頻游戲?qū)崟r(shí)執(zhí)行期間,確定所述化身關(guān)節(jié)(圖7的j2-jl0和jl3-jl6)的位置以獲取所述化身模型(700)的解剖學(xué)上可能的姿態(tài),其中所述姿態(tài)維持所述化身末端效應(yīng)物(圖7的jl)的已更新位置。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,還包括將特定模型關(guān)節(jié)的方向設(shè)置為至少逼近用戶關(guān)節(jié)的方向,所述用戶關(guān)節(jié)的方向從已生成的用戶模型中確定。
全文摘要
在此揭示了用于在應(yīng)用運(yùn)行時(shí)期間生成化身模型的技術(shù)。該化身模型可從由捕捉設(shè)備捕捉的圖像生成??啥ㄎ荒┒诵?yīng)物反向運(yùn)動(dòng)學(xué)可被用來(lái)確定化身模型中的其他節(jié)點(diǎn)的位置。
文檔編號(hào)A63F13/00GK102448565SQ201080024688
公開(kāi)日2012年5月9日 申請(qǐng)日期2010年5月26日 優(yōu)先權(quán)日2009年5月29日
發(fā)明者A·A·基普曼, A·威爾遜, J·N·馬戈利斯, K·茲努達(dá), N·D·伯頓, S·W·西姆斯 申請(qǐng)人:微軟公司