阿榮
(內蒙古電子信息職業(yè)技術學院,內蒙古呼和浩特,010010)
動漫能夠充分展現(xiàn)自己的創(chuàng)意,但是動漫制作的軟件的操作性都較強,并且比較復雜,一般人無法在短時間內將自己的創(chuàng)意轉換成為動漫作品。研究簡單的動漫制作引擎具有重要的現(xiàn)實意義。本文就研究了以OGRE為基礎的動漫制作引擎,開發(fā)了三維動漫虛擬制作軟件。
本文研究的動漫制作引擎使用OGRE(面向對象的圖形渲染引擎)制作動畫制作軟件,其能夠利用自帶素材及模板就能夠實現(xiàn)三維動漫的制作。用戶能夠在場景管理模塊器中選擇自己需要的角色,之后對其進行修改,利用不同劇情及動作對故事情節(jié)進行安排,之后通過虛擬攝像模塊對拍攝方式進行調整,然后就能夠實現(xiàn)虛擬場景的拍攝,從而在短時間內生成動漫短片。本文系統(tǒng)使用模塊化進行設計,以下對系統(tǒng)功能進行介紹,圖1為動漫制作引擎的設計框架。

圖1 動漫制作引擎的設計框架
本文設計的動漫引擎主要包括三層,第一層主要包括場景管理器、角色管理器、動畫系統(tǒng)和GUI,第二層主要包括文件系統(tǒng)、聲音系統(tǒng)、腳本系統(tǒng)及物理系統(tǒng),第三層主要包括資源管理器、輸入輸出、渲染系統(tǒng)和網絡系統(tǒng)。第一層屬于動漫制作引擎中的最高層,其中的場景管理器能夠實現(xiàn)動漫場景的模擬,從而實現(xiàn)場景的更新及處理;角色管理器能夠實現(xiàn)動漫角色的模擬和創(chuàng)建,使創(chuàng)建的角色能夠更加的形象化和個性化;動畫系統(tǒng)主要是實現(xiàn)關鍵幀及骨骼動畫的管理,并且還能夠實現(xiàn)角色表現(xiàn)力的豐富,使設計的角色動作更加的逼真;GUI能夠實現(xiàn)系統(tǒng)和用戶兩者的交互。第二層中的物理系統(tǒng)使用開源物理引擎,其能夠實現(xiàn)不同圖形庫的支持,并且還能夠實現(xiàn)真實對象物理特性的仿真,從而對其進行實施檢測,開源物理引擎能夠利用C++對程序進行編寫,還能夠提供更加清晰的接口,所以便于和OGRE兩者的相互集成。第三層為系統(tǒng)的最底層,其中的渲染系統(tǒng)屬于動漫引擎過程中的主要模塊,其主要目的就是實現(xiàn)動漫畫面的實時渲染。網絡系統(tǒng)屬于以UDP網絡傳輸協(xié)議為基礎的C++網絡庫,其能夠為用戶提供相應的編程接口,通過其能夠創(chuàng)建套接字連接和傳送動漫制作過程中相互交互的素材數據包。
渲染系統(tǒng)的主要功能就是為用戶提供三維場景、照明模型、光源、虛擬攝像機及紋理,在屏幕中制作二維圖像,其中的場景在屏幕中的位置和形狀主要是根據物體自身、相機位置及參數構成的,物體在屏幕中的外觀主要是通過物體的材質、紋理、光源和光照模型設置的。如果底層圖形繪制API不一樣,但是渲染流程及實現(xiàn)功能也是大致相同的,其主要差別就是不同階段實現(xiàn)的細節(jié)不一樣。
渲染主要包括三部分,分別為物體層、像素層及頂點層,圖形在實際繪制過程中還包括多個子階段,物體層通過應用程序實現(xiàn)驅動,實現(xiàn)是通過軟件進行,比如可見性的判斷、碰撞檢測、變形動畫等。頂點層的實現(xiàn)主要是通過硬件進行,最后階段為在圖形硬件實現(xiàn)頂點層的數據著色,從而成為最后自己設計的圖像。
動漫素材中主要包括角色模型及動畫,用戶能夠在客戶端中選擇自己需要的動畫及模型,并且還能夠通過三維軟件實現(xiàn)動畫及模型的制作。但是因為OGRE中的骨骼數據格式及模型較為特點,不能夠對第三方模型進行直接使用,所以就要利用導出工具將第三方的模型轉換成為能夠支持的格式,比如變形動畫、骨骼動畫和姿態(tài)動畫。
場景管理屬于動漫制作引擎的核心部分,其能夠對場景中的虛擬物品進行管理,使用高層或者底層服務對對象進行操控。場景組織就像是導演,對燈光、場景及服飾進行布置,并且還能夠對演員表演進行指揮。場景組織就如同舞臺一樣,要求配備燈光、服飾、道具、攝像機及演員。本文中引擎的場景組織原理就是實現(xiàn)現(xiàn)實世界的劃分,使其成為多個抽象區(qū)域,這些區(qū)域還能夠劃分成為多個小空間,不同空間通過場景節(jié)點進行管理,每個場景節(jié)點中就能夠和場景元素相互連接。
本文所制作的動漫引擎通過C/S模式結構,三維引擎設計比較復雜,一般都需要多次的修改和完善,并且還會因為策劃不斷的變動,導致引擎出現(xiàn)一定的變化。所以,就要設計完善并且規(guī)范的開發(fā)模式。其中MVC設計模式能夠實現(xiàn)顯示和模式的分離,通過控制器實現(xiàn)流程的控制,滿足現(xiàn)代應用系統(tǒng)在開發(fā)過程中的需求。MVC設計模式較為完善,并且其屬于面向對象設計。
動漫引擎中的實體并不是屏幕中的模型,其主要指的是任何事務,比如虛擬攝像機。虛擬攝像機在我們所在的世界中的主要目的就是尋找角度點,其中的幀能夠重復刷新,直到渲染器找到滿足視野需求的數據。一般在進行轉載時候使用的方法就是將地圖場景進行裝載,然后實現(xiàn)其他實體的裝載。并且為了便于渲染系統(tǒng)及物理系統(tǒng)的相互集成,引擎中大部分的系統(tǒng)都是通過面向對象的語言結構實現(xiàn),腳本系統(tǒng)通過Python語言進行實現(xiàn),之后通過插件方式實現(xiàn)擴展,從而不僅方便了后期調整,還能夠有效實現(xiàn)功能的升級。
本文研究了動漫制作引擎的設計,其能夠將動漫制作和虛擬現(xiàn)實兩種技術相互結合,引擎能夠利用網絡得到服務其中的角色和素材,便于用戶根據自己的想法直接使用素材,從而快速的制作動漫。
[1]王鑫.增加網絡游戲的吸引力——讓MMO游戲成為動畫的制作平臺[J].程序員:游戲創(chuàng)造, 2007(7):24-27.
[2]黃曦臻,許懋琦.基于引擎電影平臺的三維動畫制作新研究[C]全國數字娛樂與藝術大會.2011.