[發(fā)明專利]一種基于OpenSceneGraph的三維動畫制作方法有效
| 申請?zhí)枺?/td> | 201510620905.3 | 申請日: | 2015-09-25 |
| 公開(公告)號: | CN105184843B | 公開(公告)日: | 2018-01-26 |
| 發(fā)明(設(shè)計(jì))人: | 鄒臘梅;高亞紅;楊衛(wèi)東;金留嘉;萬敏;鐘鳴 | 申請(專利權(quán))人: | 華中科技大學(xué) |
| 主分類號: | G06T13/20 | 分類號: | G06T13/20;G06T13/40 |
| 代理公司: | 華中科技大學(xué)專利中心42201 | 代理人: | 趙偉 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 openscenegraph 三維動畫 制作方法 | ||
技術(shù)領(lǐng)域
本發(fā)明屬于場景圖形模擬仿真技術(shù)領(lǐng)域,更具體地,涉及一種基于OpenSceneGraph的三維動畫制作方法。
背景技術(shù)
OpenSceneGraph(OSG)是一個開源的高性能三維圖像渲染引擎,基于修改的LGPL協(xié)議(OSGPL)免費(fèi)發(fā)布,廣泛用于視覺仿真、游戲、虛擬現(xiàn)實(shí)、科學(xué)可視化和建模等領(lǐng)域,它以成為工業(yè)標(biāo)準(zhǔn)的OpenGL為底層平臺,使用可移植性的ANSI C++編寫而成;解決了使用OpenGVS、Vega等商業(yè)引擎開發(fā)成本過高,不利于產(chǎn)品推廣的問題,從實(shí)用的角度上更有意義,效果不亞于商業(yè)視景渲染軟件。
虛擬視景技術(shù),是虛擬仿真視景技術(shù)中一個重要分支,其組成部分主要包括仿真建模技術(shù)、動畫仿真技術(shù)和實(shí)時視景生成技術(shù)。在虛擬視景中,動畫的渲染非常重要,可以添加更多的娛樂和互動。目前,OSG中實(shí)現(xiàn)逼真的動畫技術(shù)主要是骨骼動畫,其顯示效果非常逼真。但其技術(shù)難度非常高。在一些場景中,有一部分動畫起到很重要的錦上添花的效果,使得場景更加真實(shí)、絢麗,但這部分動畫效果主要是視覺上的需求,并不需要精確度;這種情況下使用骨骼動畫將會耗費(fèi)大量的資源。
以制作海底魚群運(yùn)動動畫為例,游動的魚群、波動的海草是必不可少的場景成員,若使用骨骼動畫來實(shí)現(xiàn),需要制作大量三維模型,并進(jìn)行魚類身體游動的計(jì)算,而大量的魚群游動不是簡單的平動,其還具有魚類身體的扭動;但它們大部分并非是場景中的主體目標(biāo),而是修飾整個場景,使其更具有真實(shí)性;為了實(shí)現(xiàn)真實(shí)動畫效果采用骨骼動畫,計(jì)算工作量巨大,將耗費(fèi)大量資源。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種基于OpenSceneGraph的三維動畫制作方法,其目的在于利用二維圖片運(yùn)動達(dá)到高度仿真三維動畫視覺效果,克服了傳統(tǒng)模型動畫實(shí)現(xiàn)的復(fù)雜性。
為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個方面,提供了一種基于OpenSceneGraph的三維動畫制作方法,包括以下步驟:
(1)刪除原始圖片中的背景紋理,獲得僅包含目標(biāo)物體紋理信息的第一圖片,將所述第一圖片保存為帶有透明度信息的格式,獲得僅包含目標(biāo)物體紋理信息且?guī)в型该鞫鹊牡诙D片;
(2)設(shè)置第二圖片每一幀的紋理坐標(biāo)對應(yīng)關(guān)系,獲得各幀對應(yīng)的子圖;
(3)對所述子圖添加廣告牌;
(4)采用OpenSceneGraph的路徑動畫類創(chuàng)建路徑動畫對象,并將該路徑動畫對象關(guān)聯(lián)至步驟(3)所述廣告牌的節(jié)點(diǎn),使得路徑動畫對象成為廣告牌子節(jié)點(diǎn);
(5)采用OpenSceneGraph的矩陣變換類創(chuàng)建矩陣變換對象和矩陣變化節(jié)點(diǎn),將步驟(3)所述廣告牌的節(jié)點(diǎn)關(guān)聯(lián)至所述矩陣變換對象下;通過所述矩陣變換對象改變圖片的位置和姿態(tài)信息,產(chǎn)生相對于三維場景參考系的位置和姿態(tài)變化效果;
(6)采用OpenSceneGraph的單視景器類創(chuàng)建單視景器對象,采用OpenSceneGraph的組節(jié)點(diǎn)類創(chuàng)建場景根節(jié)點(diǎn),將步驟(5)中獲得的矩陣變換對象關(guān)聯(lián)至所述根節(jié)點(diǎn)下,并將單視景器對象的場景數(shù)據(jù)設(shè)置為根節(jié)點(diǎn);
(7)采用OpenSceneGraph的幀函數(shù)完成各幀的場景數(shù)據(jù)更新并渲染繪制場景,獲得三維動畫。
優(yōu)選地,步驟(2)創(chuàng)建子圖的步驟具體如下:
(2.1)采用OpenSceneGraph的紋理類創(chuàng)建紋理對象,并設(shè)置紋理大小、紋理顏色格式特征;
(2.2)采用OpenSceneGraph的幾何體類創(chuàng)建幾何體對象,且將其設(shè)置為動態(tài)數(shù)據(jù)變量,使得該變量可在每一幀進(jìn)行數(shù)據(jù)更新,且指定所述幾何體對象局部坐標(biāo)系的笛卡爾坐標(biāo)系;
(2.3)采用OpenSceneGraph的三維數(shù)組類創(chuàng)建三維數(shù)組對象,用以存放紋理,采用OpenSceneGraph的二維數(shù)組類創(chuàng)建二維數(shù)組對象,用以存放紋理坐標(biāo);進(jìn)行紋理映射,完成幾何體對象與紋理坐標(biāo)綁定;
(2.4)將上述紋理坐標(biāo)對象與幾何體對象進(jìn)行關(guān)聯(lián),并設(shè)置幾何體的定點(diǎn)數(shù)組;
(2.5)采用OpenSceneGraph的四維數(shù)組類創(chuàng)建顏色數(shù)組對象,將顏色對象關(guān)聯(lián)到步驟(2.2)中創(chuàng)建的幾何體對象上;并將所述包含目標(biāo)物體紋理信息且?guī)в型该鞫鹊膱D片分為20*20的小格子,將小格頂點(diǎn)坐標(biāo)與顏色坐標(biāo)一對一對應(yīng),完成紋理映射;
(2.6)創(chuàng)建圖片對象,將步驟(1)獲得的包含目標(biāo)物體紋理信息且?guī)в型该鞫鹊膱D片數(shù)據(jù)存入該圖片對象,并將圖片對象關(guān)聯(lián)至(2.1)中創(chuàng)建的紋理對象上;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華中科技大學(xué),未經(jīng)華中科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510620905.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





