• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      面向數(shù)據(jù)融合計算的動畫角色處理平臺

      2014-12-31 11:32:58夏新宇劉曉平
      關(guān)鍵詞:動畫網(wǎng)格建模

      陶 濤, 夏新宇, 李 琳, 劉曉平

      (合肥工業(yè)大學 計算機與信息學院,安徽 合肥 230009)

      隨著計算機和網(wǎng)絡(luò)技術(shù)的發(fā)展,動畫角色已經(jīng)被廣泛應用于影視動畫創(chuàng)作、多媒體網(wǎng)絡(luò)游戲、電影特效、主題公園等諸多領(lǐng)域,動畫產(chǎn)業(yè)已成為對全球經(jīng)濟具有舉足輕重影響力的產(chǎn)業(yè)。

      動畫角色模型是材質(zhì)的載體和燈光渲染的對象,任何三維特效都是建立在正確的模型基礎(chǔ)上[1]。目前,新動畫角色的設(shè)計不僅周期長,制作過程還需要專業(yè)的美工來操作。如何方便高效地得到新的創(chuàng)意性新角色日漸成為研究的熱點。對動畫角色的研究和處理離不開三維建模軟件,近年來,各種三維建模軟件在業(yè)界得到了廣泛的應用,比如Autodesk公司的3DS MAX和Maya建模軟件功能強大,可以用于多種三維模型設(shè)計,然而它們都屬于商業(yè)軟件,底層的不透明使得用戶在這些軟件上實現(xiàn)動畫角色模型的算法設(shè)計尤為困難。SolidWorks是基于Windows平臺的全參數(shù)化特征造型軟件,可以十分方便地實現(xiàn)復雜的三維零件實體造型、復雜裝配和生成功能圖。UG建模軟件首次突破傳統(tǒng)CAD/CAM模式,為用戶提供一個全面的產(chǎn)品建模系統(tǒng)。AutoCAD建模軟件應用也十分廣泛,在二維繪圖領(lǐng)域處于領(lǐng)先地位,它擁有強大的二維功能,如繪圖、編輯、剖面線和圖案繪制、尺寸標注以及二次開發(fā)等功能,同時也擁有部分三維建模功能。CATIA建模軟件是主流的CAD/CAE/CAM建模軟件,廣泛應用于航空航天、汽車制造、造船、機械設(shè)計等制造產(chǎn)業(yè)領(lǐng)域。但是這類建模軟件大多面向機械設(shè)計和建筑設(shè)計領(lǐng)域[2],并不適用于動畫角色建模和算法設(shè)計。目前,在動畫角色處理方面,仍沒有很好的底層平臺支持。

      目前,制作效率低下、水平不足仍是動畫產(chǎn)業(yè)發(fā)展初期的阻礙,動畫角色作為其核心表現(xiàn),創(chuàng)新性建模方式成為亟待解決的問題。在CAD領(lǐng)域的產(chǎn)品創(chuàng)新中,組合原理有著重要的意義,其包括切割和組合2種操作。借鑒組合原理的思想,采用切割再組合的方式,在動畫角色方面理論上也能實現(xiàn)創(chuàng)新設(shè)計,即動畫角色的數(shù)據(jù)融合。本文面向動畫角色數(shù)據(jù)融合計算,設(shè)計并實現(xiàn)針對動畫角色網(wǎng)格和運動融合數(shù)據(jù)的處理平臺,整個平臺支持各種常用的動畫角色數(shù)據(jù)表示,并做到完全透明化,給予用戶最大化權(quán)限;同時,平臺還集成了可擴展算法庫模塊,包含了許多經(jīng)典的算法,用戶可調(diào)用已有庫中算法來滿足自己的設(shè)計需求,也可以將自己的算法入庫來完善整體功能。平臺針對動畫角色設(shè)計了外部統(tǒng)一存儲格式,并支持常用建模軟件的導出功能,減小了模型文件格式和數(shù)據(jù)格式的約束性;透明化的數(shù)據(jù)格式,更有利于用戶開發(fā)動畫角色的算法;為用戶提供了透明的經(jīng)典算法調(diào)用和編輯接口,加快了算法設(shè)計的進程。

      1 平臺的架構(gòu)設(shè)計

      動畫角色的數(shù)據(jù)融合計算,不僅需要編輯動畫角色的數(shù)據(jù)信息,還需要其他圖形學算法的支持。現(xiàn)有的支持動畫角色模型編輯的建模軟件大多封裝了底層實現(xiàn)過程,用戶難以直接在其上設(shè)計動畫角色的處理算法。本文針對動畫角色的數(shù)據(jù)形式,設(shè)計了帶有算法庫功能的平臺。

      圖1所示為本文平臺的設(shè)計架構(gòu)圖,以動畫角色的數(shù)據(jù)表示為基礎(chǔ),設(shè)計了支持多格式多數(shù)據(jù)形式的三維動畫角色模型,制定了用于存儲動畫角色信息的VCC格式文件,支持常用建模軟件的導出功能,減小了平臺對模型文件格式的依賴性;同時,針對動畫角色的特點,摒棄了常見三維模型軟件的冗余信息,提高了平臺的執(zhí)行效率和穩(wěn)定性。

      圖1 平臺的架構(gòu)

      動畫角色的處理是圖形學的重要研究問題,包含了很多的經(jīng)典圖形學問題,如網(wǎng)格分割、網(wǎng)格融合、運動歸一化、運動重定向等。針對這些問題都已有很多的研究成果,經(jīng)典的圖形學處理算法也經(jīng)常被后人使用。目前,大多數(shù)建模軟件內(nèi)置的都是穩(wěn)定的算法,而想在其上二次開發(fā)用戶自己的算法,仍是一個難題。本文針對動畫角色的融合計算的特點,在平臺中集成了可擴展的算法庫功能,平臺提供了很多的經(jīng)典算法的支持,也可由用戶添加,算法接口完全透明,縮短了算法的開發(fā)周期。

      2 動畫角色的數(shù)據(jù)表示

      本文設(shè)計的平臺面向動畫角色的處理?;诠羌艿慕巧珓赢媽⒕W(wǎng)格表面的點關(guān)聯(lián)到骨架結(jié)構(gòu),網(wǎng)格變形由骨架的運動來帶動。動畫角色的三要素如下:① 表示角色外形和表面細節(jié)的三維模型;② 表示角色運動結(jié)構(gòu)的骨骼模型及動作序列;③ 表示網(wǎng)格模型和骨骼模型之間映射關(guān)系。

      如圖2所示,本平臺的設(shè)計圍繞著動畫角色的計算機輔助設(shè)計制作方法,實現(xiàn)了對動畫角色的數(shù)據(jù)透明支持,為了進一步提高平臺效率和穩(wěn)定性,輔助設(shè)計了專門針對動畫角色的數(shù)據(jù)存儲格式,統(tǒng)一化數(shù)據(jù)結(jié)構(gòu),支持常用建模軟件的定向?qū)С?,最小化三維模型數(shù)據(jù)的依賴性,最大化用戶對模型數(shù)據(jù)的操作權(quán)限,為算法設(shè)計鋪平了道路。

      圖2 動畫角色三要素組成

      現(xiàn)已有部分建模軟件支持對三維動畫角色的編輯,但由于底層數(shù)據(jù)的不透明導致在其上設(shè)計算法較為困難。比如3DS MAX軟件在處理網(wǎng)格模型時,需要將模型轉(zhuǎn)化為可編輯多邊形,通過加載自帶的網(wǎng)格編輯器來實現(xiàn);而在處理運動數(shù)據(jù)時,同樣只能使用運動編輯模塊來進行調(diào)整[3]。然而研究者可能需要在網(wǎng)格上測試自己的新算法,而建模軟件固有網(wǎng)格編輯功能以及底層接口的局限性導致了研究者無法在其上完成算法設(shè)計,同時,從零開始設(shè)計整個算法平臺無疑也是耗時耗力。本文設(shè)計的動畫角色處理平臺,支持動畫角色的網(wǎng)格、運動以及蒙皮功能,并且數(shù)據(jù)底層做到了完全透明化,使得用戶可直接在其上設(shè)計高效算法。

      2.1 網(wǎng)格數(shù)據(jù)表示

      三維模型可分為線框模型、表面網(wǎng)格模型和實體模型3類。網(wǎng)格模型只保留了物體最為重要的可視信息,結(jié)構(gòu)簡單易于存儲,同時對于網(wǎng)格模型的信息存儲量較小,因此其繪制和處理比實體模型更加快速,而且比線框模型能表達更多的可視信息。動畫角色的模型數(shù)據(jù)信息采用的是表面網(wǎng)格數(shù)據(jù)的表現(xiàn)形式,通過對網(wǎng)格表面頂點集合的繪制以及面片貼圖的渲染,得到逼近真實的效果。

      平臺中采用三角網(wǎng)格來表示模型的表面信息,主要包含以下5種網(wǎng)格數(shù)據(jù):① 頂點信息,網(wǎng)格的頂點三維坐標數(shù)組,用于標記頂點的空間位置;② 法線信息,用于控制場景中光線的傳播特性;③ 頂點顏色,頂點的渲染顏色;④ 紋理頂點信息,記錄了網(wǎng)格頂點的紋理坐標信息,用于紋理映射;⑤ 面片信息,存儲了網(wǎng)格的面片屬性,主要存儲每個面片的各頂點對應的頂點索引、法線索引以及紋理頂點索引等信息。這些數(shù)據(jù)基本包含網(wǎng)格計算中所要用到的特征信息,平臺將網(wǎng)格的數(shù)據(jù)接口完全開放,用戶不僅可以編輯網(wǎng)格數(shù)據(jù),還可跳過數(shù)據(jù)結(jié)構(gòu)設(shè)計而直接開發(fā)應用。

      2.2 運動數(shù)據(jù)表示

      運動數(shù)據(jù)是動畫角色模型骨架的數(shù)據(jù)表現(xiàn)形式,是動畫角色隨著時間變化姿態(tài)信息的存儲形式。常用的運動數(shù)據(jù)表示方法有旋轉(zhuǎn)矩陣、歐拉角和四元數(shù)3種,這3種運動數(shù)據(jù)的存儲都存在一定的利弊,表1所列為對比結(jié)果。本平臺對這3種結(jié)構(gòu)都做到了數(shù)據(jù)支持,用戶可根據(jù)需求選擇對應的運動數(shù)據(jù)表現(xiàn)形式。

      表1 旋轉(zhuǎn)矩陣、歐拉角和四元數(shù)的比較

      旋轉(zhuǎn)矩陣、歐拉角和四元數(shù)都有自己的優(yōu)缺點,但是它們之間是可以相互轉(zhuǎn)化的[4]。平臺以矩陣來表示底層運動數(shù)據(jù),并提供了運動數(shù)據(jù)轉(zhuǎn)化接口來提供用戶需求的運動數(shù)據(jù)。

      2.3 蒙皮數(shù)據(jù)表示

      網(wǎng)格數(shù)據(jù)是動畫角色的靜態(tài)空間結(jié)構(gòu)表示,而運動數(shù)據(jù)是動畫角色骨架動態(tài)位姿信息。蒙皮數(shù)據(jù)就是聯(lián)系骨架的動態(tài)信息與靜態(tài)網(wǎng)格之間的橋梁。當隨著時間軸的前進,骨架的運動通過蒙皮使得每個頂點產(chǎn)生對應的位置變化信息,進而發(fā)生網(wǎng)格變形,即為動畫。

      權(quán)重表是蒙皮數(shù)據(jù)的核心,它存儲著每根骨架對網(wǎng)格各頂點的約束比重。權(quán)重表由權(quán)重項組成,表2所列為權(quán)重項的數(shù)據(jù)結(jié)構(gòu)形式,它包含了影響當前頂點的各骨骼信息以及對應的約束權(quán)重。

      表2 權(quán)重項的數(shù)據(jù)結(jié)構(gòu)形式

      2.4 外部存儲形式

      動畫角色模型是網(wǎng)格數(shù)據(jù)、運動數(shù)據(jù)和蒙皮約束數(shù)據(jù)的結(jié)合,類似于3DS MAX的建模軟件,大都支持對單一數(shù)據(jù)的基本處理,而作為整體進行考量時,其底層數(shù)據(jù)的不透明,則是相應算法設(shè)計的一大制肘。為了更好地提升平臺對于動畫角色的支持,本平臺不僅支持常用的3D文件,如OBJ、OFF等,還配套設(shè)計了一種專用于存儲動畫角色的文件格式(VCC動畫文件格式),并開發(fā)了3DS MAX的對應導出插件,實現(xiàn)動畫角色的數(shù)據(jù)共享。

      如圖3所示,VCC動畫文件格式分為5個部分:文件頭、運動數(shù)據(jù)、蒙皮數(shù)據(jù)、網(wǎng)格數(shù)據(jù)以及紋理數(shù)據(jù)。文件頭是對后4項的描述,介紹文件中包含哪幾個數(shù)據(jù)模塊,用于文件讀取的預處理。

      圖3 VCC文件格式說明

      VCC文件是本平臺的輔助動畫角色文件存儲格式,支持多種格式的數(shù)據(jù)形式,而3DS MAX軟件對于不同格式的數(shù)據(jù)形式(比如蒙皮約束的表現(xiàn)就有skin和physique 2種修改器)通常需要不同的模塊來處理,而且功能單一,用戶自定義算法困難。VCC文件的導出插件針對常用的數(shù)據(jù)存儲形式,在導出的過程中智能識別,轉(zhuǎn)化為統(tǒng)一的格式,使得平臺的實現(xiàn)擺脫了文件格式和數(shù)據(jù)格式的局限性,為用戶提供了更方便更透明的數(shù)據(jù)接口。

      3 可擴充算法庫

      在動畫角色的研究中,存在著許多經(jīng)典的研究問題和解決算法。目前,針對動畫角色的單一基礎(chǔ)問題(比如單純計算網(wǎng)格的曲率、測地線等)的研究越來越少,隨著時間的推移,針對這些問題的算法越來越多,創(chuàng)新也越來越少。而經(jīng)典問題的經(jīng)典算法,則是現(xiàn)階段研究問題的子問題或前提,在此基礎(chǔ)上,設(shè)計實現(xiàn)更高層的算法。圖形學中經(jīng)典的算法很多,如CGAL庫,如果在新算法設(shè)計過程中總是重寫這些算法,則非常耗時耗力。

      同時,動畫角色的處理注重算法效率的高低,對比經(jīng)典同類別算法是常見的算法優(yōu)劣的評估手段,而為此去復現(xiàn)他人的算法也是設(shè)計者不可避免的過程。簡單的尚可,更加復雜的算法則會消耗設(shè)計者太多的精力。

      部分建模軟件中集成了經(jīng)典的圖形學算法,但由于底層數(shù)據(jù)和算法的不開放,設(shè)計者無法得知算法的細節(jié)特征,更無法控制算法的執(zhí)行過程,因此,設(shè)計不得不從零出發(fā)親自復現(xiàn)這些經(jīng)典算法,而這勢必會給研究設(shè)計帶來很大的不利影響。

      為此,本平臺提出了可擴展算法庫的設(shè)計模式,針對大多數(shù)開發(fā)者對經(jīng)典算法的需求,收納了許多關(guān)于動畫角色處理過程中使用的經(jīng)典算法,比如網(wǎng)格特征計算的曲率計算[5]、測地線計算[6]、運動序列歸一化處理等,并提供調(diào)用接口。

      圖4所示為平臺的算法庫設(shè)計模式,算法庫由經(jīng)典問題組成,同一問題又可能包含多種解決方法,算法庫完全透明,用戶可以根據(jù)需求編輯已有算法,還能添加自己的算法至算法庫。

      圖4 算法庫設(shè)計模式

      如圖5所示,網(wǎng)格分割中常常需要計算頂點的測地線,而網(wǎng)格測地線的計算方法有很多種,近似測地線計算有圖論中的最短路徑方法Dijkstra算法,精確算法以經(jīng)典的MMP窗口傳播算法為代表,此外還有很多研究者在這2個基礎(chǔ)上改進了新算法。當開發(fā)者需要計算測地線時,并不需要復現(xiàn)這些算法,而只需要調(diào)用平臺算法庫中測地線計算中的對應方法即可。同時用戶自己提出的新測地線計算方法也可以入庫供后期使用。

      圖5 測地線算法調(diào)用過程

      可擴充算法庫的設(shè)計使得用戶設(shè)計新算法更加簡單,回避了繁復的算法復現(xiàn)過程,極大地提高了在此平臺上設(shè)計動畫角色相應算法的效率。

      4 平臺界面和結(jié)論

      本文以MFC作為UI的設(shè)計工具,以O(shè)pen-GL[7-8]作為場景的渲染引擎,實現(xiàn)了動畫角色處理平臺。平臺支持動畫角色模型的多種渲染風格,還支持模型的動畫效果。圖6所示為犀牛模型的線框、點和面片紋理方式的顯示風格以及攻擊動作部分動畫。

      圖6 犀牛的顯示效果

      平臺的實現(xiàn)為動畫角色的處理提供了條件,為動畫角色的網(wǎng)格和運動融合計算奠定了基礎(chǔ),圖7所示為在此平臺上完成的網(wǎng)格分割[9]和運動歸一化算法的效果圖,進一步證明了在此平臺上實現(xiàn)數(shù)據(jù)融合計算應用設(shè)計的可行性。

      圖7 平臺的算法設(shè)計示例

      本文針對動畫角色模型的數(shù)據(jù)融合計算應用需求,設(shè)計并實現(xiàn)了算法設(shè)計的平臺。整個平臺透明化支持多格式的底層數(shù)據(jù)表示,設(shè)計了可擴展和調(diào)用的經(jīng)典算法庫,為動畫角色的處理提供了便利的條件,極大地縮短了動畫角色處理和算法設(shè)計的進程。

      [1] 陳大剛.神工鬼斧:3D模型的最優(yōu)化建立[M].北京:機械工業(yè)出版社,2004:10.

      [2] 梅小妹,蘇劍鳴,張荔軍.建筑設(shè)計中CAD技術(shù)應用現(xiàn)狀與發(fā)展研究[J].合肥工業(yè)大學學報:自然科學版,2007,30(7):899-902,907.

      [3] 默多克.3ds Max 9寶典[M].北京:人民郵電出版社,2008:240-265.

      [4] Shoemake K.Animating rotation with quaternion curves[J].SIGGRAPH Computer Graph,1985,19(3):245-254.

      [5] 方慧蘭,王國瑾.網(wǎng)格曲面上離散曲率計算方法的比較和研究[J].計算機輔助設(shè)計與圖形學學報,2005,17(11):2500-2507.

      [6] Surazhsky V,Surazhsky T,Kirsanov D,et al.Fast exact and approximate geodesics on meshes[J].ACM SIGGRAPH,2005,24(3):553-560.

      [7] Woo M,Neider J,Davis T,et al.OpenGL programming guide:the official guide to learning openGL[M].USA:Addison-Wesley Longman Publishing Co,Inc,1993:51-112.

      [8] Rost J R,Licea-Kane B,Ginsburg D,et al.OpenGL Shading Language[M].3rd ed.USA:Addison-Wesley Professional,2006:17-48.

      [9] 全紅燕,張?zhí)镂?基于區(qū)域生長的網(wǎng)格模型的分割技術(shù)[J].計算機輔助設(shè)計與圖形學學報,2006,18(7):1011-1016.

      猜你喜歡
      動畫網(wǎng)格建模
      用全等三角形破解網(wǎng)格題
      做個動畫給你看
      聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃鲋凶鰣A周運動”為例
      動畫發(fā)展史
      我的動畫夢
      文苑(2019年22期)2019-12-07 05:28:56
      反射的橢圓隨機偏微分方程的網(wǎng)格逼近
      基于PSS/E的風電場建模與動態(tài)分析
      電子制作(2018年17期)2018-09-28 01:56:44
      不對稱半橋變換器的建模與仿真
      重疊網(wǎng)格裝配中的一種改進ADT搜索方法
      基于曲面展開的自由曲面網(wǎng)格劃分
      七台河市| 伊通| 保定市| 加查县| 德令哈市| 叙永县| 汉寿县| 阿拉善盟| 兴隆县| 偏关县| 隆林| 涪陵区| 阳江市| 苗栗县| 岢岚县| 漳州市| 林芝县| 隆回县| 顺昌县| 东乡族自治县| 晋城| 宣威市| 翁牛特旗| 赫章县| 巴林右旗| 礼泉县| 手游| 长子县| 昆明市| 桦川县| 江口县| 铜梁县| 桦川县| 淅川县| 大同市| 来凤县| 永新县| 奉贤区| 成都市| 通化市| 兴国县|