本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種基于二維動(dòng)畫(huà)的時(shí)空一致的變速內(nèi)插方法。
背景技術(shù):
計(jì)算機(jī)圖形學(xué)是研究怎樣用計(jì)算機(jī)生成、處理和顯示圖形的一門學(xué)科。計(jì)算機(jī)圖形學(xué)的分支眾多,在圖形基礎(chǔ)研究方面可以歸納為兩個(gè)主要方向:建模技術(shù)和繪制技術(shù),建模技術(shù)又可以分為兩大分支:計(jì)算機(jī)輔助幾何設(shè)計(jì)和自然景物建模,繪制技術(shù)追求的是真實(shí)感和繪制速度,即三維真實(shí)感圖形實(shí)時(shí)生成技術(shù),三維圖形學(xué)的應(yīng)用要求既能逼真的反映客觀世界的對(duì)象,又能高速的繪制它們,一方面人們對(duì)于計(jì)算機(jī)動(dòng)畫(huà)的視覺(jué)效果要求越來(lái)越高,使得三維模型越來(lái)越復(fù)雜,需要大型的軟件來(lái)實(shí)現(xiàn),界面也非常繁復(fù);另一方面,計(jì)算機(jī)動(dòng)畫(huà)的應(yīng)用領(lǐng)域,如娛樂(lè)業(yè)等,產(chǎn)業(yè)競(jìng)爭(zhēng)異常激烈,這樣就需要很好的交互方式以方便動(dòng)畫(huà)設(shè)計(jì)人員更快的制作出作品,這個(gè)矛盾就如同以上提到的“真實(shí)感”與“實(shí)時(shí)性”的矛盾一樣,是交互式圖形學(xué)迫切需要解決的問(wèn)題。
而且實(shí)時(shí)動(dòng)畫(huà)主要應(yīng)用在虛擬現(xiàn)實(shí)技術(shù)、輔助教學(xué)、娛樂(lè)等領(lǐng)域,它要求每秒鐘計(jì)算機(jī)生成的圖像數(shù)目在24幀以上,通過(guò)視覺(jué)暫留給予用戶連貫圖像的假相,由于強(qiáng)調(diào)實(shí)時(shí)性,計(jì)算機(jī)在圖像質(zhì)量和圖像生成速度之間要取得一個(gè)平衡,過(guò)分強(qiáng)調(diào)圖像質(zhì)量會(huì)使得圖像不連貫,過(guò)分強(qiáng)調(diào)圖像生成速度有會(huì)使圖像變得很粗糙。上述問(wèn)題亟需解決。
技術(shù)實(shí)現(xiàn)要素:
為解決背景技術(shù)中存在的技術(shù)問(wèn)題,本發(fā)明提出一種以時(shí)間軸為主線引導(dǎo)動(dòng)作變化的內(nèi)插過(guò)程,解決當(dāng)前計(jì)算機(jī)內(nèi)插動(dòng)畫(huà)無(wú)法處理變速運(yùn)動(dòng)的問(wèn)題,然后根據(jù)win32平臺(tái)上提供的象素格式,提高了制作效率和動(dòng)畫(huà)質(zhì)量。
為此,本發(fā)明提供了一種基于二維動(dòng)畫(huà)的時(shí)空一致的變速內(nèi)插方法,包括以下步驟:
s1、打開(kāi)應(yīng)用軟件層,設(shè)置角色的運(yùn)動(dòng)時(shí)間軸,且將物體表面上的點(diǎn)沿平行線投影到顯示平面上;
s2、客戶端獲取應(yīng)用軟件層當(dāng)前設(shè)置的任務(wù)角色觀察位置;
s3、利用變速運(yùn)動(dòng)的基本規(guī)律以及平行投影的條件在時(shí)間軸上計(jì)算出內(nèi)插中間幀的位置,且將位置信息存放在存儲(chǔ)模塊中;
s4、使用旋轉(zhuǎn)變換矩陣把旋轉(zhuǎn)變換空間的三個(gè)元素相組合,然后使用歐拉角公式計(jì)算時(shí)間軸上不同的間隔,由關(guān)鍵幀內(nèi)插得到相應(yīng)的中間幀,并通過(guò)通訊模塊將檢測(cè)到的位置信息轉(zhuǎn)存到第三方服務(wù)器;
s5、第三方服務(wù)器利用四元數(shù)旋轉(zhuǎn)關(guān)系將二維動(dòng)畫(huà)中變速運(yùn)動(dòng)的相對(duì)位置關(guān)系提取出來(lái)。
優(yōu)選地,應(yīng)用軟件層為多個(gè)opengl視圖及其在win32平臺(tái)下的優(yōu)化應(yīng)用軟件。
優(yōu)選地,平行投影的條件設(shè)置為三維景物中的平行線投影。
優(yōu)選地,歐拉角公式計(jì)算是指用三維矢量表示圖形分別繞xyz坐標(biāo)軸旋轉(zhuǎn)一定角度,并利用相對(duì)順序關(guān)系進(jìn)行計(jì)算。
優(yōu)選地,所述中間幀位置的可以通過(guò)人工指定,并且設(shè)置相對(duì)的中間幀的間隔。
本發(fā)明還提供了一種基于二維動(dòng)畫(huà)的時(shí)空一致的變速內(nèi)插方法,該方法包括以下步驟:
當(dāng)設(shè)置角色的運(yùn)動(dòng)時(shí)間軸后,利用平行線投影的方式將物體表面上的點(diǎn)顯示平面上;
當(dāng)二維動(dòng)畫(huà)的坐標(biāo)以及角度和xyz軸按照順序旋轉(zhuǎn),在繞x軸轉(zhuǎn)一定度后,又繞y軸旋轉(zhuǎn)90度,這時(shí)空間的z軸剛好映射到原坐標(biāo)系的x軸,原本期望繞z軸旋轉(zhuǎn)30度,而實(shí)際上是繞x軸旋轉(zhuǎn)了33度,這種旋轉(zhuǎn)方式使得一個(gè)旋轉(zhuǎn)軸映射到另一個(gè)旋轉(zhuǎn)軸上,能夠?qū)χ虚g幀的位置信息定位,并通過(guò)通訊模塊將中間幀位置信息反饋到第三方服務(wù)器。
本發(fā)明還提供了一種基于二維動(dòng)畫(huà)的時(shí)空一致的變速內(nèi)插方法,包括在打開(kāi)應(yīng)用軟件層后可自動(dòng)記錄當(dāng)前二維動(dòng)畫(huà)的內(nèi)插中間幀的位置信息及將信息傳遞到第三方服務(wù)器;
所述信息傳遞軟件包括數(shù)據(jù)采集模塊、存儲(chǔ)模塊、通訊模塊、精準(zhǔn)測(cè)量顯示模塊;
數(shù)據(jù)采集模塊,用于隨時(shí)采集二維動(dòng)畫(huà)的內(nèi)插中間幀的位置信息,并根據(jù)人工設(shè)置的時(shí)間軸上不同的間隔,且數(shù)據(jù)采集模塊的內(nèi)部還包括閾值設(shè)定模塊,能夠?qū)Σ杉降男畔⑦M(jìn)行校對(duì),并將校對(duì)結(jié)果發(fā)送至存儲(chǔ)模塊;
存儲(chǔ)模塊,與歐拉角旋轉(zhuǎn)算法相連接,便于與旋轉(zhuǎn)變換陣進(jìn)行相互轉(zhuǎn)換,用于存儲(chǔ)當(dāng)前二維動(dòng)畫(huà)的的二維坐標(biāo)、旋轉(zhuǎn)角度以及骨骼節(jié)點(diǎn)的相對(duì)旋轉(zhuǎn)變換角度信息,并將存儲(chǔ)信息通過(guò)win32平臺(tái)與第三方服務(wù)器連接;
win32平臺(tái),用于輸入設(shè)備的上下文,用來(lái)保存繪圖過(guò)程中的狀態(tài),使用的命令不顯式指定當(dāng)前的rc,而是在每次繪圖之前設(shè)置當(dāng)前的rc;
通訊模塊,與存儲(chǔ)模塊以及win32平臺(tái)連接,用于將存儲(chǔ)信息、輸入信息發(fā)送至第三方服務(wù)器,并可將第三方服務(wù)器的篩分出來(lái)的位置中間幀數(shù)值以及當(dāng)前二維動(dòng)畫(huà)的旋轉(zhuǎn)角度發(fā)送至win32平臺(tái)上;
第三方服務(wù)器,與通訊模塊連接,用于根據(jù)存儲(chǔ)信息建立位置數(shù)據(jù)庫(kù),當(dāng)投影變換和初始的模型變換時(shí),根據(jù)時(shí)間軸上不同的間隔,由關(guān)鍵幀內(nèi)插得到相應(yīng)的中間幀,從而實(shí)現(xiàn)對(duì)二維動(dòng)畫(huà)中變速運(yùn)動(dòng)的自動(dòng)生成。
優(yōu)選地,所述第三方服務(wù)器還包括象素格式,所述象素格式中包含一些用戶需要使用的硬件能力,比如單緩沖還是雙緩沖、色深、z緩沖深度、模板緩沖深度等。
優(yōu)選地,所述存儲(chǔ)信息還包括設(shè)備連接時(shí)的初始環(huán)境,如光照模型,光源,缺省材質(zhì)等。
優(yōu)選地,象素格式中采用了硬件和軟件中最匹配的象素格式,如果用戶需要的硬件能力硬件不支持,則opengl會(huì)選擇最接近的象素格式。
本發(fā)明提出的一種基于二維動(dòng)畫(huà)的時(shí)空一致的變速內(nèi)插方法,采用時(shí)間、空間相結(jié)合的方式,設(shè)置角色的運(yùn)動(dòng)時(shí)間軸,利用平行線投影的方式將物體表面上的點(diǎn)顯示平面上,同時(shí)根據(jù)歐拉旋轉(zhuǎn)變換方式,將二維動(dòng)畫(huà)的坐標(biāo)以及角度和xyz軸按照順序旋轉(zhuǎn),在繞x軸轉(zhuǎn)一定度后,又繞y軸旋轉(zhuǎn)90度,這時(shí)空間的z軸剛好映射到原坐標(biāo)系的x軸,原本期望繞z軸旋轉(zhuǎn)30度,而實(shí)際上是繞x軸旋轉(zhuǎn)了33度,這種旋轉(zhuǎn)方式使得一個(gè)旋轉(zhuǎn)軸映射到另一個(gè)旋轉(zhuǎn)軸上,能夠?qū)χ虚g幀的位置信息定位,并通過(guò)通訊模塊將中間幀位置信息反饋到第三方服務(wù)器,利用第三方服務(wù)器配置最接近的象素格式,設(shè)備連接時(shí)的初始環(huán)境較好,提高了制作效率和動(dòng)畫(huà)質(zhì)量。
附圖說(shuō)明
圖1是本發(fā)明具體實(shí)施例一所述的一種基于二維動(dòng)畫(huà)的時(shí)空一致的變速內(nèi)插方法的流程圖。
圖2是本發(fā)明具體實(shí)施例二所述的一種基于二維動(dòng)畫(huà)的時(shí)空一致的變速內(nèi)插方法的流程圖。
圖3為本發(fā)明提出的一種基于二維動(dòng)畫(huà)的時(shí)空一致的變速內(nèi)插方法的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面,通過(guò)具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說(shuō)明。
實(shí)施例一:
參照?qǐng)D1,本發(fā)明提出了一種基于二維動(dòng)畫(huà)的時(shí)空一致的變速內(nèi)插方法,包括以下步驟:
s1、打開(kāi)應(yīng)用軟件層,設(shè)置角色的運(yùn)動(dòng)時(shí)間軸,且將物體表面上的點(diǎn)沿平行線投影到顯示平面上;
s2、客戶端獲取應(yīng)用軟件層當(dāng)前設(shè)置的任務(wù)角色觀察位置;
s3、利用變速運(yùn)動(dòng)的基本規(guī)律以及平行投影的條件在時(shí)間軸上計(jì)算出內(nèi)插中間幀的位置,且將位置信息存放在存儲(chǔ)模塊中;
s4、使用旋轉(zhuǎn)變換矩陣把旋轉(zhuǎn)變換空間的三個(gè)元素相組合,然后使用歐拉角公式計(jì)算時(shí)間軸上不同的間隔,由關(guān)鍵幀內(nèi)插得到相應(yīng)的中間幀,并通過(guò)通訊模塊將檢測(cè)到的位置信息轉(zhuǎn)存到第三方服務(wù)器;
s5、第三方服務(wù)器利用四元數(shù)旋轉(zhuǎn)關(guān)系將二維動(dòng)畫(huà)中變速運(yùn)動(dòng)的相對(duì)位置關(guān)系提取出來(lái)。
本實(shí)施例中,采用pc電腦上的ie瀏覽器打開(kāi)應(yīng)用軟件層。
實(shí)施例二:
本發(fā)明提出了一種基于二維動(dòng)畫(huà)的時(shí)空一致的變速內(nèi)插方法,包括以下步驟:
s1、打開(kāi)應(yīng)用軟件層,自動(dòng)設(shè)置角色的運(yùn)動(dòng)時(shí)間軸;
s2、客戶端獲取應(yīng)用軟件層當(dāng)前設(shè)置的任務(wù)角色觀察位置;
s3、利用變速運(yùn)動(dòng)的基本規(guī)律在時(shí)間軸上計(jì)算出內(nèi)插中間幀的位置,且將位置信息存放在存儲(chǔ)模塊中;
s4、使用旋轉(zhuǎn)變換矩陣把旋轉(zhuǎn)變換空間的三個(gè)元素相組合,由關(guān)鍵幀內(nèi)插得到相應(yīng)的中間幀,并通過(guò)通訊模塊將檢測(cè)到的位置信息轉(zhuǎn)存到第三方服務(wù)器;
s5、第三方服務(wù)器利用四元數(shù)旋轉(zhuǎn)關(guān)系將二維動(dòng)畫(huà)中變速運(yùn)動(dòng)的相對(duì)位置關(guān)系提取出來(lái)。
本實(shí)施例中,無(wú)需通過(guò)平行投影條件檢測(cè)二維空間的位置數(shù)據(jù),并利用win32平臺(tái)提供的自動(dòng)模式設(shè)定時(shí)間軸上的間隔,本實(shí)施例中的不需要人工設(shè)定中間幀的位置間隔,可以根據(jù)關(guān)鍵幀內(nèi)插得到相應(yīng)的中間幀,從而實(shí)現(xiàn)對(duì)二維動(dòng)畫(huà)中變速運(yùn)動(dòng)的自動(dòng)生成。
實(shí)施例三:
參照?qǐng)D1、圖2,本發(fā)明提出了一種基于二維動(dòng)畫(huà)的時(shí)空一致的變速內(nèi)插方法,該方法包括以下步驟:
s1、當(dāng)設(shè)置角色的運(yùn)動(dòng)時(shí)間軸后,利用平行線投影的方式將物體表面上的點(diǎn)顯示平面上;
s2、當(dāng)二維動(dòng)畫(huà)的坐標(biāo)以及角度和xyz軸按照順序旋轉(zhuǎn),在繞x軸轉(zhuǎn)一定度后,又繞y軸旋轉(zhuǎn)90度,這時(shí)空間的z軸剛好映射到原坐標(biāo)系的x軸,原本期望繞z軸旋轉(zhuǎn)30度,而實(shí)際上是繞x軸旋轉(zhuǎn)了33度,這種旋轉(zhuǎn)方式使得一個(gè)旋轉(zhuǎn)軸映射到另一個(gè)旋轉(zhuǎn)軸上,能夠?qū)χ虚g幀的位置信息定位,并通過(guò)通訊模塊將中間幀位置信息反饋到第三方服務(wù)器。
參照?qǐng)D3,本發(fā)明提出的一種基于二維動(dòng)畫(huà)的時(shí)空一致的變速內(nèi)插方法,采用了win32操作平臺(tái),包括在打開(kāi)應(yīng)用軟件層后可自動(dòng)記錄當(dāng)前二維動(dòng)畫(huà)的內(nèi)插中間幀的位置信息及將信息傳遞到第三方服務(wù)器;
所述信息傳遞軟件包括數(shù)據(jù)采集模塊、存儲(chǔ)模塊、通訊模塊、精準(zhǔn)測(cè)量顯示模塊;
數(shù)據(jù)采集模塊,用于隨時(shí)采集二維動(dòng)畫(huà)的內(nèi)插中間幀的位置信息,并根據(jù)人工設(shè)置的時(shí)間軸上不同的間隔,且數(shù)據(jù)采集模塊的內(nèi)部還包括閾值設(shè)定模塊,能夠?qū)Σ杉降男畔⑦M(jìn)行校對(duì),并將校對(duì)結(jié)果發(fā)送至存儲(chǔ)模塊;
存儲(chǔ)模塊,與歐拉角旋轉(zhuǎn)算法相連接,便于與旋轉(zhuǎn)變換陣進(jìn)行相互轉(zhuǎn)換,用于存儲(chǔ)當(dāng)前二維動(dòng)畫(huà)的的二維坐標(biāo)、旋轉(zhuǎn)角度以及骨骼節(jié)點(diǎn)的相對(duì)旋轉(zhuǎn)變換角度信息,并將存儲(chǔ)信息通過(guò)win32平臺(tái)與第三方服務(wù)器連接;
win32平臺(tái),用于輸入設(shè)備的上下文,用來(lái)保存繪圖過(guò)程中的狀態(tài),使用的命令不顯式指定當(dāng)前的rc,而是在每次繪圖之前設(shè)置當(dāng)前的rc;
通訊模塊,與存儲(chǔ)模塊以及win32平臺(tái)連接,用于將存儲(chǔ)信息、輸入信息發(fā)送至第三方服務(wù)器,并可將第三方服務(wù)器的篩分出來(lái)的位置中間幀數(shù)值以及當(dāng)前二維動(dòng)畫(huà)的旋轉(zhuǎn)角度發(fā)送至win32平臺(tái)上;
第三方服務(wù)器,與通訊模塊連接,用于根據(jù)存儲(chǔ)信息建立位置數(shù)據(jù)庫(kù),當(dāng)投影變換和初始的模型變換時(shí),根據(jù)時(shí)間軸上不同的間隔,由關(guān)鍵幀內(nèi)插得到相應(yīng)的中間幀,從而實(shí)現(xiàn)對(duì)二維動(dòng)畫(huà)中變速運(yùn)動(dòng)的自動(dòng)生成。
上述方案中,可以在win32平臺(tái)上配置最接近的象素格式,設(shè)備連接時(shí)的初始環(huán)境較好,在設(shè)計(jì)中,還包括設(shè)備連接時(shí)的初始環(huán)境,如光照模型,光源,缺省材質(zhì)等,提高了制作效率和動(dòng)畫(huà)質(zhì)量。
本發(fā)明中,第三方服務(wù)器還包括象素格式,所述象素格式中包含一些用戶需要使用的硬件能力,比如單緩沖還是雙緩沖、色深、z緩沖深度、模板緩沖深度等,用于選擇支持客戶端上最接近的象素格式,有效提高了二維動(dòng)畫(huà)動(dòng)作之間的連貫性,解決了二維動(dòng)畫(huà)制作內(nèi)插過(guò)程中存在的動(dòng)作變化和時(shí)間相脫離的問(wèn)題,進(jìn)一步提高了制作效率和動(dòng)畫(huà)質(zhì)量。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。