麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

對象動作裝置及方法與流程

文檔序號:12009084閱讀:526來源:國知局
對象動作裝置及方法與流程
本發明是關于為了將連續執行的對象的兩個不同動作無不協調感的連接而將運動數據混合的對象動作裝置。

背景技術:
以往,在三維視頻游戲中已廣泛運用了使存在于假想三維空間的角色等對象動作而透過假想攝影機將這些對象動作的樣子透視轉換并生成的方法。此處,為了忠實的再現對象動作,在連續執行兩個不同動作的情形,是在其之前的動作與之后的動作的移行期間,進行這些不同動作的運動數據的混合,根據該混合后的運動數據使對象動作,借此將該動作的移行無不協調感的表現。作為此種混合運動數據經常使用的技法,有一種在連續的前后動作的運動數據中,在其之前的動作與之后的動作重復的期間一邊慢慢改變那些動作的運動數據的混合率、一邊加以混合的方式。詳細的說,是通過繞X軸、繞Y軸的旋轉角度求出運動合成率(運動混合率),并以所求出的運動合成率合成基準動作生成角色的運動數據,以所生成的運動數據使角色動作(專利文獻1)。又,亦有通過樣條插補來將兩個不同動作的移行無不協調感的表現的方式。專利文獻1:日本特開2010-237882號公報(段落0118等)

技術實現要素:
然而,專利文獻1所揭示的技術,是進行以依其旋轉角度等決定的模塊的形狀作為特征的合成,當在前后各個的動作的運動數據中有不同的移動或旋轉速度的特征時,即會忽視其速度特征。又,在進行前后各個運動數據的混合的重復的多個幀期間,亦必須設定算出慢慢變化的運動數據的混合率的方法,又,此種運動數據的混合,若運動數據重復的多個幀期間較短,則難以適用。另一方面,當通過樣條插補表現兩個不同動作的移行時,針對將上述的混合率慢慢改變來移行的情形所需要的運動數據中的多個幀期間的重復,不論是其重復較短的情形或無重復的情形均能適用。然而,在對前后動作的位置或角度的數據進行樣條曲線的搭配時,會需要花費步驟來進行該曲線種類的選擇或曲線參數的最佳化。又,在樣條插補的情形,也會忽視前后各個不同動作中的移動或旋轉速度的特征,不論何種方式都是將運動的邊界平滑化以將之隱藏,借此執行動作的移行。本發明,其目的在于提供以包含旋轉動作的連續執行的對象的兩個不同動作可順暢連接的方式生成介于該兩個動作之間的運動數據的對象動作裝置等。為了達成上述目的,本發明第1觀點的對象動作裝置,是在使存在于假想三維空間的對象進行第1動作后,使該對象進行與該第1動作不同的第2動作,并以使該第1動作和該第2動作中的至少一個動作包含三維旋轉動作的方式使上述對象動作,其特征在于,包括:運動數據存儲構件,存儲由規定上述第1動作的多個單位時間的數據構成的第1運動數據與由規定上述第2動作的多個單位時間的數據構成的第2運動數據;第1運動數據設定構件,對構成上述第1運動數據的多個單位時間的數據中的使上述對象依據上述第1運動數據動作的終端數據進行設定;第2運動數據設定構件,對構成上述第2運動數據的多個單位時間的數據中的使上述對象依據上述第2運動數據動作的始端數據進行設定;插補運動數據生成構件,作為運動數據生成介于使上述對象依據上述第1運動數據動作的終端和使上述對象依據上述第2運動數據動作的始端之間的多個單位時間的數據;以及對象動作構件,使用至上述第1運動數據的上述終端為止的各單位時間的數據、通過上述插補運動數據生成構件生成的各單位時間的數據、從上述第2運動數據的上述始端開始的各單位時間的數據,使上述對象動作;上述插補運動數據生成構件包括:旋轉量特定構件,在介于上述終端和上述始端之間的多個單位時間的各單位時間中,分別特定出依據上述第1運動數據時的上述對象的三維旋轉動作的旋轉量、和依據上述第2運動數據時的上述對象的三維旋轉動作的旋轉量;旋轉量分解構件,將上述旋轉量特定構件所特定出的依據上述第1運動數據時的上述對象的三維旋轉動作的各單位時間中的旋轉量、和依據上述第2運動數據時的上述對象的三維旋轉動作的各單位時間中的旋轉量,分別分解成標量旋轉量;標量速度算出構件,根據上述旋轉量分解構件所分解出的依據上述第1運動數據時的各單位時間中的標量旋轉量、和依據上述第2運動數據時的各單位時間中的標量旋轉量,算出依據上述第1運動數據時的上述對象的三維旋轉動作的各單位時間中的標量速度、和依據上述第2運動數據時的上述對象的三維旋轉動作的各單位時間中的標量速度;標量速度特定構件,根據上述標量速度算出構件所算出的依據上述第1運動數據時的各單位時間中的標量速度、和依據上述第2運動數據時的各單位時間中的標量速度,特定出介于上述終端和上述始端之間的多個單位時間中應適用的上述對象的三維旋轉動作的各單位時間中的標量速度;標量旋轉量算出構件,對上述標量速度特定構件所特定出的各單位時間的標量速度進行規定的運算,算出介于上述終端和上述始端之間的多個單位時間中的各單位時間中應適用的上述對象的三維旋轉動作的標量旋轉量;以及旋轉量再生構件,根據上述標量旋轉量算出構件所算出的標量旋轉量,再生介于上述終端和上述始端之間的多個單位時間的各單位時間中應適用的上述對象的旋轉量。上述第1觀點的對象動作裝置中,上述標量旋轉量算出構件作為上述規定的運算進行使用了規定的矩陣的矩陣運算。此處,上述使用了規定的矩陣的矩陣運算可以是利用泊松方程的運算。上述第1觀點的對象動作裝置中,上述標量旋轉量算出構件也可以是在算出介于上述終端與上述始端之間的多個單位時間的各單位時間中應適用的標量旋轉量時,對上述標量速度的第X個要素僅使用上述規定的矩陣的X行來進行運算。上述第1觀點的對象動作裝置中,上述旋轉量分解構件,也可以通過指數映像將上述對象的三維旋轉動作的旋轉量分解成標量旋轉量;上述旋轉量再生構件,也可以通過對數映像根據上述標量旋轉量再生上述對象的旋轉量。上述對象動作裝置中,對存在于假想三維空間的對象,使該對象成為設定有第1運動數據所規定的第1動作的終端的數據后,使該對象從設定有第2運動數據所規定的第2動作的始端的數據開始。此處,在從第1動作移行至第2動作為止,通過插補運動數據生成構件生成的多個單位時間的數據是作為運動數據而介在。此外,于第1動作與第2動作中的至少一動作包含三維旋轉動作。三維旋轉動作的數據是非線性數據,欲以至少一動作包含此種非線性數據的第1運動數據與第2運動數據無不協調感而順暢連接的方式生成從第1動作移行至第2動作的運動數據,并不簡單。不過,上述對象動作裝置,是將三維旋轉動作的旋轉量依每個單位時間特定,并分別分解成標量旋轉量。接著,從分解出的各單位時間的標量旋轉量特定出標量速度,進而算出標量旋轉量。接著,根據所算出的標量旋轉量,在從第1動作移行至第2動作的運動數據中,再生在依據第1運動數據動作的終端與依據第2運動數據動作的始端之間的多個單位時間中的各單位時間中應適用的對象的旋轉量。由于使用此種方法生成依據第1運動數據動作的終端與依據第2運動數據動作的始端之間的多個單位時間的運動數據來作為利用線性數據的計算,因此以第1運動數據與第2運動數據無不協調感而順暢連接的方式生成從至少一方包含旋轉動作的第1動作移行至第2動作的運動數據,可較為單純。又,用以算出標量旋轉量的規定的運算,是以使用了規定的矩陣的矩陣運算、例如利用泊松方程的運算來進行,運算較為單純。而且,進行對標量速度的第X個要素僅使用規定的矩陣的X行來算出標量旋轉量的運算,借此能減輕該運算的處理量。進而,通過將指數映像適用于分解標量旋轉量,將對數映像適用于對象旋轉量的再生,而能使對標量旋轉量的分解或對象旋轉量的再生較為單純。上述第1觀點的對象動作裝置中,上述第1動作與上述第2動作均包括三維旋轉動作;上述標量速度特定構件是按照每個對應的單位時間對上述標量速度算出構件所算出的依據上述第1運動數據時的各單位時間的標量速度、和依據上述第2運動數據時的各單位時間的標量速度,將各單位時間中絕對值較大者的標量速度特定為介于上述終端和上述始端之間的多個單位時間中應適用的上述對象的三維旋轉動作的各單位時間的標量速度。如上述,通過將各單位時間中絕對值較大者的標量速度特定為在依據第1運動數據動作的終端與依據第2運動數據動作的始端之間的多個單位時間的各單位時間的標量速度,即能生成第1運動數據與第2運動數據無不協調感而順暢連接的從第1動作移行至第2動作的運動數據。上述第1觀點的對象動作裝置中,包括:近似數據特定構件,分別對構成上述第1運動數據的多個單位時間的數據中的上述終端之后的單位時間的數據、和構成上述第2運動數據的多個單位時間的數據中的上述始端之前的單位時間的數據進行比較,針對各個數據特定出彼此最近似的單位時間的數據;以及時移構件,使上述第1運動數據和上述第2運動數據時移以使其與上述近似數據特定構件所特定出的單位時間的數據一致,上述插補運動數據生成構件根據被上述時移構件進行時移后的上述第1運動數據和上述第2運動數據,生成介于使上述對象依據上述第1運動數據動作的終端和使上述對象依據上述第2運動數據動作的始端之間的多個單位時間的數據。此情形下,于依據第1運動數據動作的終端與依據第2運動數據動作的始端之間的多個單位時間的各單位時間中的數據中,包含根據第1運動數據所含的各單位時間的數據與第2運動數據所含的各單位時間的數據中最近似的數據彼此而生成的數據、亦即第1運動數據與第2運動數據均為差最少的數據。借此,即能生成第1運動數據與第2運動數據無不協調感而順暢連接的從第1動作移行至第2動作的運動數據。為了達成上述目的,本發明第2觀點的對象動作方法,是在計算機裝置中,在使存在于假想三維空間的對象進行第1動作后,使該對象進行與該第1動作不同的第2動作,并以使該第1動作和該第2動作中的至少一個動作包含三維旋轉動作的方式使上述對象動作的方法,其特征在于,包括:第1步驟,使上述計算機裝置預先存儲由規定上述第1動作的多個單位時間的數據構成的第1運動數據、和由規定上述第2動作的多個單位時間的數據構成的第2運動數據;第2步驟,對構成上述第1運動數據的多個單位時間的數據中的使上述對象依據上述第1運動數據動作的終端數據進行設定;第3步驟,對構成上述第2運動數據的多個單位時間的數據中的使上述對象依據上述第2運動數據動作的始端數據進行設定;第4步驟,作為運動數據生成介于使上述對象依據上述第1運動數據動作的終端和使上述對象依據上述第2運動數據動作的始端之間的多個單位時間的數據來;以及第5步驟,使用至上述第1運動數據的上述終端為止的各單位時間的數據、上述生成的各單位時間的數據、從上述第2運動數據的上述始端開始的各單位時間的數據,使上述對象動作;上述第4步驟包括:在介于上述終端和上述始端之間的多個單位時間的各單位時間中,分別特定出依據上述第1運動數據時的上述對象的三維旋轉動作的旋轉量、和依據上述第2運動數據時的上述對象的三維旋轉動作的旋轉量的步驟;將依據上述第1運動數據時的上述對象的三維旋轉動作的各單位時間中的旋轉量、和依據上述第2運動數據時的上述對象的三維旋轉動作的各單位時間中的旋轉量分別分解成標量旋轉量的步驟;根據依據上述第1運動數據時的各單位時間中的標量旋轉量、和依據上述第2運動數據時的各單位時間中的標量旋轉量,算出依據上述第1運動數據時的上述對象的三維旋轉動作的各單位時間中的標量速度、和依據上述第2運動數據時的上述對象的三維旋轉動作的各單位時間中的標量速度的步驟;根據依據上述第1運動數據時的各單位時間中的標量速度、和依據上述第2運動數據時的各單位時間中的標量速度,特定出介于上述終端和上述始端之間的多個單位時間中應適用的上述對象的三維旋轉動作的各單位時間中的標量速度的步驟;對上述各單位時間的標量速度進行規定的運算,算出介于上述終端和上述始端之間的多個單位時間中的各單位時間中應適用的上述對象的三維旋轉動作的標量旋轉量的步驟;以及根據上述標量旋轉量,再生介于上述終端和上述始端之間的多個單位時間中的各單位時間中應適用的上述對象的旋轉量的步驟。為了達成上述目的,本發明第3觀點的程序,是在計算機裝置中,在使存在于假想三維空間的對象進行第1動作后,使該對象進行與該第1動作不同的第2動作,并以使該第1動作和該第2動作中的至少一個動作包含三維旋轉動作的方式使上述對象動作的程序,其特征在于,該程序使上述計算機裝置發揮以下構件的功能:運動數據存儲構件,將由規定上述第1動作的多個單位時間的數據構成的第1運動數據和由規定上述第2動作的多個單位時間的數據構成的第2運動數據預先存儲在上述計算機裝置;第1運動數據設定構件,對構成上述第1運動數據的多個單位時間的數據中的使上述對象依據上述第1運動數據動作的終端數據進行設定;第2運動數據設定構件,對構成上述第2運動數據的多個單位時間的數據中的使上述對象依據上述第2運動數據動作的始端數據進行設定;插補運動數據生成構件,作為運動數據生成介于使上述對象依據上述第1運動數據動作的終端和使上述對象依據上述第2運動數據動作的始端之間的多個單位時間的數據;以及對象動作構件,使用至上述第1運動數據的上述終端為止的各單位時間的數據、通過上述插補運動數據生成構件生成的各單位時間的數據、從上述第2運動數據的上述始端開始的各單位時間的數據,使上述對象動作;上述插補運動數據生成構件包括:旋轉量特定構件,在介于上述終端和上述始端之間的多個單位時間的各單位時間中,分別特定出依據上述第1運動數據時的上述對象的三維旋轉動作的旋轉量和依據上述第2運動數據時的上述對象的三維旋轉動作的旋轉量;旋轉量分解構件,將上述旋轉量特定構件所特定出的依據上述第1運動數據時的上述對象的三維旋轉動作的各單位時間中的旋轉量、和依據上述第2運動數據時的上述對象的三維旋轉動作的各單位時間中的旋轉量分別分解成標量旋轉量;標量速度算出構件,根據上述旋轉量分解構件所分解出的依據上述第1運動數據時的各單位時間中的標量旋轉量、和依據上述第2運動數據時的各單位時間中的標量旋轉量,算出在依據上述第1運動數據時的上述對象的三維旋轉動作的單位時間中的標量速度、和依據上述第2運動數據時的上述對象的三維旋轉動作的各單位時間中的標量速度;標量速度特定構件,根據上述標量速度算出構件所算出的依據上述第1運動數據時的各單位時間中的標量速度、和依據上述第2運動數據時的各單位時間中的標量速度,特定出介于上述終端和上述始端之間的多個單位時間中應適用的上述對象的三維旋轉動作的各單位時間中的標量速度;標量旋轉量算出構件,對上述標量速度特定構件所特定出的各單位時間的標量速度進行規定的運算,算出介于上述終端和上述始端之間的多個單位時間中的各單位時間中應適用的上述對象的三維旋轉動作的標量旋轉量;以及旋轉量再生構件,根據上述標量旋轉量算出構件所算出的標量旋轉量,再生介于上述終端和上述始端之間的多個單位時間的各單位時間中應適用的上述對象的旋轉量。上述第3觀點的程序,也可以記錄于計算機可讀取記錄媒體來提供。此計算機可讀取記錄媒體,可以是構成為能拆裝于上述計算機裝置,而與上述計算機裝置個別提供的記錄媒體。此計算機可讀取記錄媒體也可以是設于上述計算機裝置內、與上述計算機裝置一起被提供的硬盤裝置等記錄媒體。上述第3觀點的程序,也可以從存在于網絡上的服務器裝置將其數據訊號重迭于載波并透過網絡對上述計算機裝置傳送。又,將上述第3觀點的程序所含的各構件執行的處理作為各步驟的處理的方法也包含于本發明的范圍。附圖說明圖1是顯示適用于本發明的實施形態的視頻游戲裝置構成的方塊圖。圖2是表示移行動作被混合時所執行的動作的流程的模式圖。圖3是顯示終端后幀與始端前幀的時點的設定的模式圖。圖4是表示插補速度的抽出的模式圖。圖5是表示適用于移行運動的插補速度曲線的模式圖。圖6是表示適用了泊松方程的移行運動的運動數據的生成的模式圖。【主要組件符號說明】100視頻游戲裝置101視頻游戲裝置本體103控制部105RAM107HDD109聲音處理部111圖形處理部112幀存儲器113DVD/CD-R驅動器115通訊接口117接口部119內部總線121顯示裝置122顯示畫面125聲音輸出裝置131記錄媒體151網絡161輸入部162存儲卡具體實施方式圖1是顯示適用于本實施形態的視頻游戲裝置構成的方塊圖。如圖標,視頻游戲裝置100是以裝置本體101為中心建構。此裝置本體101,包含連接于其內部總線119的控制部103、RAM(RandomAccessMemory)105、硬盤(HDD)107、聲音處理部109、圖形處理部111、DVD/CD-R驅動器113、通訊接口115、以及接口部117。此裝置本體101的聲音處理部109連接于揚聲器即聲音輸出裝置125,圖形處理部111連接于具有顯示畫面122的顯示裝置121。于DVD/CD-R驅動器113能安裝記錄媒體(本實施形態中為DVD-ROM或CD-ROM)131。通訊接口115連接于網絡151。于接口部117連接有輸入部(控制器)161與存儲卡162。控制部103包含CPU(CentralProcessingUnit)或ROM(ReadOnlyMemory)等,執行存儲于HDD107或記錄媒體131上的程序,進行裝置本體101的控制。控制部103具備內部定時器。RAM105是控制部103的工作區,后述的與游玩角色的基本動作等相關的信息暫存于RAM105。HDD107是用以保存程序或與游玩角色的基本動作等相關的數據的存儲區域。聲音處理部109,在通過控制部103執行的程序指示進行聲音輸出時,即譯碼該指示,對聲音輸出裝置125輸出聲音訊號。圖形處理部111,依據從控制部103輸出的描繪命令,于幀存儲器112(圖中雖描繪于圖形處理部111外側,但實際上設于構成圖形處理部111的芯片所含的RAM內)展開影像數據,輸出于顯示裝置121的顯示畫面122上顯示影像的視頻訊號。從圖形處理部111輸出的視頻訊號所含的影像的1幀時間,例如是60分之1秒。幀存儲器112設有兩組,數據的寫入用與讀出用依每個幀期間被切換。圖形處理部111,生成將存在于假想三維空間的對象(游玩角色、非游玩角色、以及角色以外的對象)通過假想攝影機透視轉換而成的二次元影像的影像數據,寫入幀存儲器112。DVD/CD-R驅動器113是對記錄媒體131進行程序及數據的讀出。通訊接口115連接于網絡151,與其它計算機進行通訊。輸入部161具備方向鍵及復數個操作按鈕。游玩角色在假想三維空間的位置,是通過從輸入部161的方向鍵輸入的指示而移動。接口部117將來自輸入部161的輸入數據輸出至RAM105,控制部103將其譯碼而實施運算處理。接口部117又根據來自控制部103的指示使RAM105所存儲的顯示游戲進行狀況的數據保存于存儲卡162,讀出保存于存儲卡162的中斷時的游戲數據,傳送至RAM105。用以以視頻游戲裝置100進行游戲的程序及數據,最初例如存儲于記錄媒體131。作為存儲于記錄媒體131的數據,包含用以構成游戲空間(假想三維空間)的對象的圖形數據、與游玩角色的基本動作等相關的數據。存儲于記錄媒體131的程序及數據,在執行時通過DVD/CD-R驅動器113讀出,載入至RAM105。控制部103處理加載RAM105的程序及數據,將描繪命令輸出至圖形處理部111,將聲音輸出的指示輸出至聲音處理部109。在控制部103進行處理的期間的中間數據存儲于RAM105。本實施形態的視頻游戲,于作為游戲空間的假想三維空間存在多數個三維對象,將這些對象通過假想攝影機透視轉換后的影像作為游戲的影像顯示于顯示裝置121的顯示畫面122。作為存在于假想三維空間的對象,包含通過玩家對輸入部161的輸入而動作的游玩角色、游玩角色以外的角色即非游玩角色(通過控制部103而動作)、角色以外的地形、建筑物等在假想三維空間內的位置不會移動的對象。玩家能使其游玩角色執行手腕動作或腳的動作等各種不同動作,如作為此游玩角色的基本動作的走路、跑步、坐下、站起、投擲等。接著,這些基本動作,是通過與決定各幀的姿勢的三維位置P(t)及三維旋轉R(t)相關的數據被分別定義。這些與三維位置P(t)及三維旋轉R(t)相關的數據,作為構成游戲程序的一部分的運動數據存儲于記錄媒體131,傳送至HDD107等。接著,針對無法僅以此基本動作表現的動作,將這些基本動作混合而生成為其次說明的復合動作、移行動作。復合動作,是將同時執行的兩個不同的基本動作的數據混合而生成,又,復合動作,例如是通過將跑步動作與投擲動作、或走路動作與投擲動作之類同時執行的兩個不同基本動作的數據混合、或從緩慢跑步的動作與快速跑步的動作改成以中間速度跑步的動作的數據加以運動混合(motionblend)而生成。此混合由于與本發明無直接的關聯,因此詳細說明省略。另一方面,移行動作,是在連續執行兩個不同的基本動作時動作被移行期間的接續動作,是為了從之前的基本動作往之后的基本動作的移行無不協調感的被進行而生成。又,移行動作,例如是游玩角色從走路中的狀態改成跑步、或從跑步中的狀態改成走路的情況,為了在游戲進行中兩個不同的基本動作以一連串流程連續進行時連接該兩個不同的基本動作而生成。如上述,針對以一連串流程連續執行的用以連接兩個不同的動作的接續在之前的動作后執行的移行動作,如圖2所示,為了消除在往之后的動作的遷移時的不自然,以不快速變更動作的方式接續在之前的動作后執行將其前后的動作(運動,motion)混合(運動混合,motionblend)而生成的移行運動,使之往次一動作遷移。以下,說明用于此實施形態的移行動作的運動混合。首先,如圖3所圖示,存儲于HDD107的兩個不同的基本動作(以下單稱為運動),是針對連續執行的兩個運動,對之前的運動(以下稱為運動A)設定作為終端姿勢的幀(以下稱為終端幀)與對之后的運動(以下稱為運動B)設定作為始端姿勢的幀(以下稱為始端幀)。此外,運動A的終端姿勢及運動B的始端姿勢的設定,只要使用以往的方法即可,例如也可以由程序設計者對連續執行的運動的每個組合預先決定之前的運動的終端姿勢與之后的運動的始端姿勢,此預先決定的終端姿勢與始端姿勢,與決定連續執行的兩個運動的同時自動的設定。接著,在運動混合時,首先從此運動A的運動數據中在作為終端姿勢的幀之后的各幀(以下稱為終端后幀)的數據與此運動B的運動數據中在作為始端姿勢的幀之前的各幀(以下稱為始端前幀)的數據以循環比對的方式檢索各個數據彼此最近似的幀。此外,關于幀的循環比對檢索,由于只要使用圖案匹配等以往的方法即可,因此詳細說明省略。只要能檢索終端后幀與始端前幀中最近似的幀(圖3中運動A的終端后幀的附網點部分與運動B的始端前幀的附網點部分),即如圖3中所圖示,以始端前幀中的該幀不與終端后幀中該幀的時點重復的方式相對運動A設定運動B的執行時點。在以此方式設定的運動A、運動B的終端姿勢至始端姿勢的幀期間,將終端后幀與始端前幀相關的運動混合而生成移行運動相關的運動數據。此外,介于運動A的終端幀至運動B的始端幀之間的運動的混合詳細情形,留待后述。如上述,在使游玩角色進行運動A的動作后,要使之進行運動B的動作時,是使用至如上述方式設定的終端姿勢為止運動A相關的運動數據、通過混合而生成的移行運動相關的運動數據、以及自如上述方式設定的始端姿勢開始運動B相關的運動數據,在其間的各幀進行動作。此實施形態的運動混合,是從決定在決定連續執行的兩個運動的終端后幀與始端前幀的姿勢的三維位置P(t)及三維旋轉R(t)相關的數據算出速度成分,并根據所算出的各運動的速度成分進行運動混合。接著,通過對該混合后的運動的速度成分適用泊松方程,求出決定在該混合后的運動的各幀的游玩角色的姿勢的三維位置P(t)及三維旋轉R(t)的相關數據。此處,首先算出決定運動混合前的運動A的終端后幀、及運動B的始端前幀的各幀的游玩角色的姿勢的三維位置P(t)及三維旋轉R(t)的速度成分。此處,三維位置P(t)是為了表示假想三維空間上的位置而具有px(t)、py(t)、pz(t)作為個別獨立的線性值。雖對此三維位置P(t)能直接適用泊松方程,但非線性的三維旋轉R(t)無法表示絕對量,無法直接適用泊松方程。因此,為了適用泊松方程,系通過對決定游玩角色姿勢的三維旋轉R(t)適用指數映像(Exponentialmaps),來近似于線性數值。此處說明指數映像對三維旋轉R(t)的適用。由于三維旋轉R(t)無法表示絕對量,因此適用指數映像來求出自基準旋轉起的相對旋轉。此處,由于表示三維旋轉R(t)的相對量rx(t)、ry(t)、rz(t),因此作為基準旋轉,是在作為前后運動的混合對象的各幀期間算出平均旋轉Rm。例如,在兩個幀的三維旋轉R1、R2中,平均旋轉Rm及rx(t)、ry(t)、rz(t)是以下述方式表現。[數式1]Rm=mean(R1,R2)R1→(R1-Rm)→Expmap[rx1,ry1,rz1]R2→(R2-Rm)→Expmap[rx2,ry2,rz2]又,關于此平均旋轉Rm,是用以將適用對數映像(Logarithmicmaps)而混合后的運動相關的rx(t)、ry(t)、rz(t)再度轉換成三維旋轉R(t)。此外,關于平均旋轉Rm的算出、以及使用指數映像、對數映像的詳細計算方法,由于在本發明中并無直接關系,因此省略說明。接著,從以上述方式在指數映像表現中求出的三維旋轉R(t)相關的rx(t)、ry(t)、rz(t)與三維位置P(t)相關的px(t)、py(t)、pz(t)分別適用微分方程,來算出各個的速度成分。以此方式,針對求出的三維位置P(t)及三維旋轉R(t)的各速度成分,從如圖4所示設定有先前執行的時點的混合的兩個不同運動相關的運動數據的終端后幀與始端前幀,抽出各幀的各速度成分的絕對值的最大值。將該值作為插補用速度v(t)(此處并不就三維位置P(t)及三維旋轉R(t)各要素的速度成分作區別),如圖5所示,作為從運動A的終端姿勢至運動B的始端姿勢所執行的移行運動所適用的三維位置P(t)及三維旋轉R(t)的各要素速度成分。接著,通過對插補用速度v(t)適用泊松方程,求出混合后的運動中的各幀的三維位置P(t)及三維旋轉R(t)相關的各要素px(t)、py(t)、pz(t)、rx(t)、ry(t)、rz(t)(以下總稱為要素d(t))。此外,關于三維旋轉R(t),必須對通過泊松方程求出的rx(t)、ry(t)、rz(t)適用上述的對數映像。接著,適用了泊松方程的要素d(i)與此插補用速度v(i)的關系能如下表示。[數式2]接著,通過從上述式使用聯立方程的反復解法(使用Gauss-seidel法等),針對要素d(i)能如下表示。[數式3]通過以上述方式表示,矩陣的各要素d規律地被決定,解析上能算出相反矩陣(以下稱數式5)。又,計算要素d(i)需要相反矩陣的第i行。接著,數式2所適用的矩陣能以如下般加以一般化,因此在數式3所適用的相反矩陣的一般式能如下求出。[數式4][數式5]如上述,能從所求出的一般式(數式5),僅以四則運算計算要素d(i),且也可以就各要素d獨立計算。圖6是顯示將如上述般適用泊松方程而從運動A的運動數據的終端后幀與運動B的運動數據的始端前幀將終端姿勢至始端姿勢的移行運動相關的運動數據混合并生成的流程。如圖示,由于混合前的運動A與運動B的各個運動數據中關于三維位置P(t)的數據是線性數值,因此能直接適用泊松方程。另一方面,由于三維旋轉R(t)是非線性數值,因此無法直接適用泊松方程。因此,通過將指數映像適用于三維旋轉R(t),并分解成表示獨立的線性旋轉量的rx(t)、ry(t)、rz(t),并根據這些來適用泊松方程。針對通過適用泊松方程所得的rx(t)、ry(t)、rz(t),為了表現成移行運動的運動數據相關的三維旋轉R(t),而通過再度使用為了分解成線性旋轉量所使用的平均旋轉Rm,再度合成三維旋轉。如以上所說明,對存在于假想三維空間的游玩角色,使運動A的運動數據所定義的動作進行至成為終端姿勢后,使之從設定有運動B的運動數據所定義的動作的始端姿勢開始進行。此處,從運動A移行至運動B為止,是通過利用混合而生成的移行運動的運動數據來動作。此外,于運動A的動作與運動B中的至少一動作包含三維旋轉R相關的動作。三維旋轉R相關的動作的數據是非線性數據,欲以包含此種非線性數據的運動A的運動數據與運動B的運動數據無不協調感而順暢連接的方式生成從運動A移行至運動B的運動數據,并不簡單。不過,本實施形態中,通過在運動A的終端后幀與運動B的始端前幀中適用指數映像,將三維旋轉R(t)算出為rx(t)、ry(t)、rz(t)。接著,從算出的終端后幀與始端前幀的各幀期間中的rx(t)、ry(t)、rz(t)算出速度成分,將運動A的終端后幀、設定有執行時點的運動B的始端前幀中的各速度成分的絕對值最大值抽出作為移行運動期間中的插補用速度v(t)。接著,移行運動相關的混合后的運動數據的各幀的rx(t)、ry(t)、rz(t),能通過在與所抽出的插補用速度v(t)中適用泊松方程來求出。由于使用此種方法生成介于依據運動A相關的運動數據動作的終端姿勢之后和依據運動B相關的運動數據動作的始端姿勢之前之間的多個幀期間的運動數據來作為利用線性數據的計算,因此以運動A的運動數據與運動B的運動數據無不協調感而順暢連接的方式生成從包含三維旋轉動作的運動A移行至運動B的運動數據,可較為單純。又,用以求出移行運動相關的混合后的運動數據的各幀的rx(t)、ry(t)、rz(t)的運算,是采用泊松方程的運算來進行,借此運算較為單純。而且,對第i個速度成分v(t)僅使用規定的矩陣的i行來算出混合后的運動數據的各幀的rx(t)、ry(t)、rz(t),借此能減輕該運算的處理量。進而,通過將指數映像適用于將非線性三維旋轉R(t)轉換至線性的rx(t)、ry(t)、rz(t),將對數映像適用于三維旋轉R(t)的再生,而能使對rx(t)、ry(t)、rz(t)的轉換或三維旋轉R(t)的再生較為單純。又,通過將幀中絕對值較大者的要素d(i)的各速度成分特定為介于依據運動A相關的運動數據動作的終端姿勢之后和依據運動B相關的運動數據動作的始端姿勢之前之間的多個幀期間的各幀中的插補用速度v(t),而能生成運動A相關的運動數據與運動B相關的運動數據無不協調感而順暢連接的從運動A移行至運動B的運動數據。又,介于依據運動A相關的運動數據動作的終端姿勢之后和依據運動B相關的運動數據動作的始端姿勢之前之間的多個幀期間的各幀中的數據,包含根據運動A的運動數據所含的各幀的數據與運動B的運動數據所含的各幀的數據中最近似的數據彼此而生成的數據、亦即運動A的運動數據與運動B的運動數據均為差最少的數據。借此,即能生成運動A的運動數據與運動B的運動數據無不協調感而順暢連接的從運動A移行至運動B的運動數據。本發明不限于上述的實施形態,能作各種變形、應用。以下,說明能適用于本發明的上述實施形態的變形態樣。上述實施形態中,生成移行運動的前后動作即運動A、運動B雖是基本動作,但也可以對從基本動作生成的不同的兩個復合動作間的動作移行生成移行動作。例如,也可以將本發明適用于從復合有運動A與運動B的運動A+C移行至復合有運動B與運動D的運動B+D時的移行運動生成。又,也可以將移行動作生成為生成移行運動前后的動作中的一方是復合動作、另一方是基本動作。借此,由于移行運動即不僅從基本動作生成,能執行多樣化的移行運動,即使不是預先存儲于記錄媒體131等的動作,也能執行對應前后動作遷移的無不協調感而順暢的移行運動。再者,本發明也可以適用于,生成從運動A移行至運動B時的移行運動、從運動C移行至運動D時的移行運動,并使運動變化成復合有運動A與運動C的運動、復合有各移行運動的運動、復合有運動B與運動D的運動。不過,這個情形,并不是對從運動A移行至運動B時的移行運動的生成及從運動C移行至運動D時的移行運動的生成的各個直接適用使上述實施形態中近似幀的時點一致的處理,而必須使從運動A移行至運動B時的移行運動與從運動C移行至運動D時的移行運動的時點一致。上述實施形態中,雖是在運動A的運動數據、運動B的運動數據的各個中生成移行運動來作為包含三維旋轉R(t)相關的動作,但此種三維旋轉R(t)相關的動作只要包含于任一方的運動即可,也可以任一方中不包含此種旋轉動作。上述實施形態中,雖從兩個不同動作相關的運動數據的終端后幀與始端前幀抽出各幀中的各速度成分的絕對值最大值,并將該值作為插補用速度v(t)而作為適用于移行運動的各要素速度成分,不過也可以使用加權平均或權重平均來作為各要素的速度成分,或使用各個的最大值來作為各要素的速度成分。上述實施形態中,雖通過對插補用速度v(t)適用泊松方程來進行三維位置P(t)及三維旋轉R(t)相關的各要素px(t)、py(t)、pz(t)、rx(t)、ry(t)、rz(t)的計算,但只要是如同泊松方程般能得到較佳結果的運算,也可以是其它的矩陣運算,也可以是矩陣運算以外的運算。當然,利用泊松方程的運算可作為本發明較佳方法來適用。又,雖僅以相反矩陣的第i行使運算簡化來計算要素d(i),但也可以不簡化此種運算。上述實施形態中,雖通過將指數映像適用于三維旋轉R(t),分別分解成表示獨立的線性旋轉量的rx(t)、ry(t)、rz(t),對通過適用泊松方程而取得的rx(t)、ry(t)、rz(t)適用對數映像來進行三維旋轉的再度合成,但只要是能進行利用了泊松方程的運算來作為線性的值,也可以適用除此以外的方法。當然,指數映像或對數映像的適用對本發明而言是較佳手法。上述實施形態中,雖舉出對三維視頻游戲中的游玩角色的動作適用本發明的情形為例進行了說明,但也可以將本發明適用于不是通過玩家的操作來動作而是與玩家操作無關系的通過規定處理例程的執行來動作的非游玩角色的動作。又,即使不是角色,只要是進行包含三維旋轉動作的動作者例如機械類或構造物等其它對象的動作,也可以適用本發明。上述實施形態中,是將本發明適用于視頻游戲的情形,作為各玩家進行游戲所使用的終端裝置是適用游戲專用機的視頻游戲裝置100。相對于此,本發明只要是三維計算機圖像的運動混合,也可以適用于視頻游戲以外、混合對象動作的情形。只要不是實時計算機圖像,運動A的終端姿勢與運動B的始端姿勢,也可以按照使用者視狀況來個別手動設定。又,以本發明的手法進行運動混合的處理的裝置,只要是具備與視頻游戲裝置100相同的構成要素者,則也可以適用通用的個人計算機等。只要有能處理三維計算機圖像的能力,也可以適用具有將顯示裝置121及聲音輸出裝置125與裝置本體101收納于相同殼體內的構成的攜帶游戲機(包含具有應用程序執行功能的攜帶電話)。作為記錄媒體131,能取代DVD-ROM或CD-ROM而適用半導體存儲卡。也可以取代DVD/CD-R驅動器113而設置用以插入此存儲卡的卡槽。當是通用個人計算機的情形,也可以不將本發明的程序及數據存放于記錄媒體131來提供,而是預先存放于HDD107來提供。用以存放本發明的程序及數據來提供的記錄媒體,能按照硬件的物理形態及流通形態來適用任何物。上述實施形態中,視頻游戲裝置100的程序及數據,視存放于記錄媒體131來發送。相對于此,也可以將這些程序及數據存放于網絡151上存在的服務器裝置所具有的硬盤裝置,并過網絡151來配送至裝置本體101。視頻游戲裝置100中,通訊接口115從服務器裝置接收的程序及數據,能保存于HDD107,在執行時加載至RAM105。
當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 澎湖县| 普安县| 鲁山县| 达日县| 志丹县| 布拖县| 洮南市| 林芝县| 怀仁县| 吉水县| 浑源县| 黄冈市| 滦南县| 洞口县| 库车县| 宝坻区| 宁乡县| 洛南县| 临漳县| 建阳市| 贵港市| 玛曲县| 伊金霍洛旗| 湛江市| 抚顺县| 南江县| 昌吉市| 奉新县| 利辛县| 怀集县| 榆中县| 西充县| 萝北县| 东莞市| 电白县| 榕江县| 定安县| 广水市| 上林县| 洛宁县| 松江区|