本發明專利技術提供了一種基于智能手機平臺的3D圖形骨骼動畫繪制算法,由3D軟件導出插件將動畫信息導成文本格式動畫信息文件,數據轉換打包工具將所述文本格式動畫信息文件轉換成專用的游戲專用二進制格式文件,將復合骨骼及基本骨骼將以4個一組為單位排列。而每個頂點信息中將會分配一個骨骼的編組號碼及4個權重信息。底層描繪端讀取分析所述二進制格式動畫文件,將每組骨骼權重通過動畫矩陣列表實現最終頂點的渲染。使用本發明專利技術的算法可以在智能手機平臺實現手機3D網絡游戲的開發,或3D設計軟件等3D應用程序的開發,優化了手機平臺的骨骼運算,提高了實時演算的3D動畫速度,還加強數據的安全性。具有可靠性高,方便使用,易于普及等優點。
【技術實現步驟摘要】
本專利技術涉及智能手機平臺的3D圖形骨骼動畫繪制算法,尤其是基于智能手機平 臺的3D圖形骨骼動畫繪制算法。
技術介紹
現有的3D游戲和應用程序主要是家用電腦平臺的。而以蘋果的iphone, ipad, ipad2以及android智能手機為代表的新型客戶應用平臺正在全球范圍內井噴增長。傳統 的3D骨骼動畫算法在手機平臺上效率低下,無法滿足正常的3D應用及3D游戲的圖形描O
技術實現思路
本專利技術的目的在于針對現有智能手機平臺上3D圖形動畫描繪的空白,提供一種 基于便攜式移動設備平臺的3D圖形骨骼動畫繪制算法,具有效率高,方便使用并且易于普 及的優點。為了實現上述目的,本專利技術的技術方案是一種基于智能手機平臺的3D圖形骨骼 動畫繪制算法,其特征在于該算法包括制作骨骼動畫,所述骨骼動畫包括基本骨骼和復合 骨骼;將上述骨骼動畫信息導成文本格式動畫信息文件,在導出時,將復合骨骼及基本骨骼 將以4個一組為單位排列,而每個頂點信息中將會分配一個骨骼的編組號碼及4個權重信 息,將所述文本格式動畫信息文件轉換成游戲用二進制格式文件;底層描繪端讀取分析所 述二進制格式動畫文件,根據權重乘骨骼矩陣列表,獲得頂點位置,實現最終頂點的渲染。本專利技術提供一種基于智能手機平臺的3D圖形骨骼動畫繪制算法,包括3D設計 軟件Maya,3dMax的動畫制作后的導出插件,數據轉換打包工具,以及骨骼信息在底層描 繪端的讀取方法與實現方式。由所述3D軟件(Maya,3dMax)導出插件將動畫信息導成文 本格式動畫信息文件,所述數據轉換打包工具將所述文本格式動畫信息文件轉換成專用的 游戲專用二進制格式文件,根據所述智能手機平臺的特點動畫信息的復合骨骼及基本骨骼 將以4個一組為單位排列。而每個頂點信息中將會分配一個骨骼的編組號碼及4個權重信 息。所述底層描繪端讀取分析所述二進制格式動畫文件,將每組骨骼權重通過動畫矩陣列 表實現最終頂點的渲染。使用本專利技術的算法可以在智能手機平臺實現手機3D網絡游戲的 開發,或者3D設計軟件等3D應用程序的開發,優化了手機平臺的骨骼運算,提高了實時演 算的3D動畫速度,還加強數據的安全性。具有可靠性高,方便使用,易于普及等優點。具體實施方式一種基于智能手機平臺的3D圖形骨骼動畫繪制算法,其特征在于該算法包括利 用3D設計軟件制作骨骼動畫,所述骨骼動畫包括基本骨骼和復合骨骼;利用3D設計軟件 導出插件將上述骨骼動畫信息導成文本格式動畫信息文件,在導出時,將復合骨骼及基本 骨骼將以4個一組為單位排列,而每個頂點信息中將會分配一個骨骼的編組號碼及4個權重信息;利用數據轉換打包工具將所述文本格式動畫信息文件轉換成游戲用二進制格式文 件;底層描繪端讀取分析所述二進制格式動畫文件,根據權重乘骨骼矩陣列表,獲得頂點位 置,實現最終頂點的渲染。上述所有算法都在手機用戶終端進行,分組,排列,和權重分配是 在導出插件時進行,并且加密保存。然后在描繪時進行解碼并實現描繪。所述3D設計軟件包括Maya, 3dMax,以及softimage, AutoCad等其他3D設計軟 件。所述智能手機用戶終端為蘋果的iPhone系列手機。優選地,所述智能手機用戶終端為 使用谷歌Android2.2以上系統的智能安卓手機。優選地,所述智能手機用戶終端還包括蘋 果的ipad, ipad2系列平板電腦。優選地,所述智能手機用戶終端為使用谷歌Android2. 2 以上系統的智能安卓平板電腦。所述3D軟件導出插件用于將制作好的動畫文件導成文本格式動畫信息文件,導 出骨骼列表是會以4個為一組,并以權重形式保存在頂點的一個32位內存塊內,而同屬一 個骨骼組的頂點將被打包到同一內存塊內,這樣加速了繪制時的導出效率。傳統的骨骼動畫算法將骨骼編號及相對應矩陣數據打包生成數據文件,在實時繪 制時通過編號索引出實用矩陣再乘以復合骨的權重信息,獲得最終骨骼位置。但這種算法 在手機平臺上存在運算效率低下,無法實用化的問題。本專利技術通過對基本骨骼和復合骨骼 進行排序+分組+編號整理,并將骨骼分組后的編號信息通過32位二進制數進行權重保 存。基本骨骼將以4個一組為單位排列,而每個頂點信息中將會分配一個骨骼的編組號碼 及4個權重信息。即骨骼的編號將以4個一組存成32位二進制數,其中每8個二進制數 代表一個骨骼的編號,如=OxffOOOOOO表示使用所述組內的第3號骨骼,并且權重為1.0, 0x00008080表示使用所述組內的第0,I號骨骼,并且權重均為O. 5。而作為3D運算模塊,底層描繪端讀取分析所述二進制格式動畫文件,將每個頂點 的骨骼權重信息除以255轉換成浮點數,然后通過乘以編排好的矩陣分組列表,獲得最終 的矩陣。再將頂點座標乘以最終矩陣得到頂點的最終座標位置,實現最終頂點的渲染。如圖所示,假設動作矩陣列表中以四個基本骨骼為一組,表示為MtxOO,MtxOl, Mtx02,Mtx03。則骨骼權重計算時,編號0x00008080:矩陣=Mtx00*0. 5+Mtx01*0. 5+ Mtx02*0. 0+Mtx03*0. 0。即每個頂點用一個 32 位的二進制數 據表示,同時指定4個骨骼的權重,每8位表示所在位置的骨骼權重,將骨骼權重乘以相對 應的每一幀的骨骼運動空間矩陣,就得到了該頂點在每一幀時的運動座標。所述打包轉換工具均為現有技術,根據本專利技術的一個實施例,打包轉換工具可以 采用 maya2010, 3dmax 的內置插件 iPad3dTo_NPF3. mel。將 iPad3dTo_NPF3. me I 安裝到 maya2010的系統插件目錄下,進入maya2010,打開做好的3D模型場景或3D模型角色,點擊 “iPad3dToNPF3”按鈕,插件將自動計算出模型的頂點,貼圖,骨骼已經動畫等信息,然后自 動生成文本式的npf3文件。而maya2010, 3dmax的內置工具Npf3ToWJT. exe,通過它將上述 的npf3文件轉換成各種平臺所需的bin文件,供游戲中使用。根據本專利技術的一個實施例,一個角色由10個基本骨骼,O號 9號骨骼組成,并且 角色的總頂點數為1000個。將10根基本骨骼按4個一組分組,如(0,1,2,3)—組,(4,5, 6,7 ) —組,(8,9 ) 一組。則為每個頂點可以被指定一組骨骼,如指定(O,I,2,3 )為500號頂 點的骨骼組,分配一個32位的數據信息,每8位表示所在位置的骨骼權重,則頂點可以同時 指定4個骨骼的權重。如(0x00001010)就表示該頂點是一一(O號骨* 50%) + (I號骨* 50%) + (2號骨* 0%) + (3號骨* 0%)。再將骨骼權重乘以相對應的每一幀的骨骼運動空間矩陣,就得到了該頂點在每一幀時的運動座標。最后通過其他的鏡頭,投影轉換將頂點畫到屏幕上。根據本專利技術的一個實施例,npf3文件結構由以下內容構成1.文件頭信息---文件的開頭保存頭信息。頭信息中包含了文件大小,貼圖數量,模型數量等基本信息。2.模型頭信息---每個模型構成一個模型內容,并且在模型內容的開頭保存一個模型頭信息。模型頭信息包含了頂點總數,貼圖索引,骨骼結構,動畫格式等基本信息。3.模型信息---緊跟模型頭信息后面是模型的具體數據。本文檔來自技高網...
【技術保護點】
一種基于智能手機平臺的3D圖形骨骼動畫繪制算法,其特征在于該算法包括:制作骨骼動畫,所述骨骼動畫包括基本骨骼和復合骨骼;將上述骨骼動畫信息導成文本格式動畫信息文件,在導出時,將復合骨骼及基本骨骼將以4個一組為單位排列,而每個頂點信息中將會分配一個骨骼的編組號碼及4個權重信息,將所述文本格式動畫信息文件轉換成游戲用二進制格式文件;底層描繪端讀取分析所述二進制格式動畫文件,根據權重乘骨骼矩陣列表,獲得頂點位置,實現最終頂點的渲染。
【技術特征摘要】
【專利技術屬性】
技術研發人員:毛春華,
申請(專利權)人:恩嘉壹上海網絡科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。