版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第12章動畫技術骨骼動畫基礎剛體動畫蒙皮動畫剛體動畫蒙皮動畫剛體動畫蒙皮動畫理解骨骼動畫原理理解蒙皮動畫原理12.1骨骼動畫基礎1.為什么使用頂點混合12.1.1頂點混合概念骨骼動畫是用于在計算機上模擬或再現(xiàn)動物運行的技術。一個骨骼動畫由骨骼支撐下的頂點運動構成。如果有網(wǎng)格附著在骨骼上,就必須將網(wǎng)格分割成受不同骨骼控制的片斷,骨骼運動時勢必導致網(wǎng)格斷裂,或者部分重疊。實際應用模型動畫是采用網(wǎng)格與多個骨骼共同協(xié)作完成的。將蒙皮分割成受到不同骨骼控制的片段適合剛體動畫例如機器人關節(jié)處出現(xiàn)斷裂、重疊現(xiàn)象12.1骨骼動畫基礎2.頂點權重12.1.1頂點混合概念假設頂點為Vn,該頂點的權重為Wn。一般由建模軟件計算。vBlend=V1W1+V2(1.0-W1)//2個影響vBlend=V1W1+V2W2+V3(1.0-(W1+W2))//3個影響vBlend=V1W1+V2W2+V3W3+V4(1.0-(W1+W2+W3))//4個影響幾個權重之和為1.0,因此其中一個可以通過其他權重計算出來,在存儲時可以少存儲1個權重。DirectX支持最多4個世界頂點的混合,因此每個頂點可以包含2~4個矩陣信息(矩陣索引)和1~3個權重信息。12.1骨骼動畫基礎2.頂點權重12.1.1頂點混合概念權重信息由美術師設計角色時用建模工具定義。水平部分受到水平骨骼影響的權重為1,在關節(jié)附近影響的程度減小,權重也減小,超過一定范圍不受水平骨骼影響。12.1骨骼動畫基礎3.在DirectX中使用頂點混合12.1.1頂點混合概念Vn=VTnWn權重存儲每個頂點受到各個骨骼影響的權重各不相同。骨骼數(shù)量較少在頂點中附加幾個骨骼的權重信息很容易。權重信息是存儲在頂點中的DirectX支持最多頂點3個權重用于混合,每個權重對應特定的矩陣。12.1骨骼動畫基礎3.在DirectX中使用頂點混合12.1.1頂點混合概念1)設置世界變換矩陣。頂點混合使用額外的世界變換矩陣。矩陣類型:D3DTS_WORLDMATRIX(n)或D3DTS_WORLDn。其中n取0~255,矩陣索引可使用一個字節(jié)存儲。m_pD3DDevice->SetTransform(D3DTS_WORLDMATRIX(0),&matBlend[0]);m_pD3DDevice->SetTransform(D3DTS_WORLDMATRIX(1),&matBlend[1]);m_pD3DDevice->SetTransform(D3DTS_WORLDMATRIX(2),&matBlend[2]);12.1骨骼動畫基礎3.在DirectX中使用頂點混合12.1.1頂點混合概念3)頂點定義。權重的格式:D3DFVF_XYZB1、D3DFVF_XYZB2或D3DFVF_XYZB3。頂點應該包含每個矩陣的權重信息,用于指定頂點混合系數(shù)。#defineD3DFVF_BLENDVERTEX(D3DFVF_XYZB3|D3DFVF_NORMAL|D3DFVF_TEX1)structBLENDVERTEX{D3DXVECTOR3v;//位置FLOATblend1;//權重1FLOATblend2;//權重2FLOATblend3;//權重3D3DXVECTOR3n;//法線FLOATtu,tv;//紋理坐標};12.1骨骼動畫基礎12.1.2運動插值 關鍵幀動畫使用像素圖,因此只能做到近似的平滑。骨骼動畫也使用關鍵幀存儲一系列關鍵的狀態(tài)數(shù)據(jù),利用這些數(shù)據(jù)可以計算出關鍵幀中間的一些狀態(tài),因此能夠?qū)崿F(xiàn)平滑的動畫。矩陣存儲骨骼狀態(tài),但插值困難,一般都是用縮放、旋轉(zhuǎn)和平移變量進行插值。存儲運動數(shù)據(jù)的數(shù)據(jù)類型:向量:存儲縮放比例和平移量。四元數(shù):存儲轉(zhuǎn)動量。骨骼動畫也是利用類似傳統(tǒng)2維動畫關鍵楨實現(xiàn)的,由于一個模型的皮膚頂點數(shù)據(jù)量龐大,所以不可能記錄每楨皮膚頂點的坐標信息,所以我們存儲的是數(shù)量較少的骨骼的每楨的頂點變化信息,播放時讓每個骨骼按照記錄的狀態(tài)切換到相應的位置,再去用某種方式再去影響皮膚位置就能模擬動物運動了。12.2剛體動畫12.2.1骨骼模型的構成1.為什么要使用骨骼動畫直接存儲、播放頂點幀動畫,由于頂點較多,存儲和渲染效率較低。實際使用骨骼存儲動畫信息。皮膚的位置由骨骼驅(qū)動,骨骼的運動是造成動物運動的關鍵。動畫數(shù)據(jù)只要存儲每個骨骼的運動信息。動畫設計師可以專門地從事動畫設計,可以用動作捕捉儀或是用三維建模工具建立動畫序列。骨骼動畫的思想很簡單,自然界中的大多數(shù)動物都用有一套骨骼,身體的皮毛血肉都依附于骨骼,當骨骼開始運動的時候,都依附于骨骼的皮肉都隨骨骼一起運動。在三維圖形編程領域,角色的軀體是由網(wǎng)格來表示的,網(wǎng)格由大量三角形組成,三角形由定點組成,為了模仿現(xiàn)實世界中角色自身的動作,就需要為角色網(wǎng)格添加一套骨骼,同時需要確定那些頂點依附于那塊骨骼,這樣當骨骼運動的時候就能牽引依附骨骼的頂點一起運動,這就是骨骼動畫的基本原理。每個骨骼都包含完整的坐標系統(tǒng),在這個坐標系下如果存在一個網(wǎng)格,頂點都是以本地坐標系的形式存儲的,那么在渲染他的時候需要將他轉(zhuǎn)換到世界坐標系。骨骼在轉(zhuǎn)化為數(shù)學模型時,包含名稱和一個矩陣,這個矩陣用于將頂點從本地空間轉(zhuǎn)換到父結(jié)點空間的變換矩陣。那么我們就需要將子結(jié)點的所有頂點和這個矩陣進行相×,然后父結(jié)點再乘以父結(jié)點的父結(jié)點,直到根節(jié)點為止。最終才能把模型中所有的頂點轉(zhuǎn)換到世界空間。12.2剛體動畫12.2.1骨骼模型的構成3.骨骼的數(shù)學模型MCM2=MTM2*MTM1從bone2轉(zhuǎn)換到世界坐標系的變換矩陣為:其中:從bone1的坐標系轉(zhuǎn)換到世界坐標系的轉(zhuǎn)換矩陣為MTM1從bone2的坐標系轉(zhuǎn)換到bone1的坐標系的轉(zhuǎn)換矩陣為MTM2MCM3=MTM3*MCM212.2剛體動畫12.2.1骨骼模型的構成3.骨骼的數(shù)學模型12.2剛體動畫12.2.2動畫信息1.動畫序列一個骨骼系統(tǒng)可以有多個動畫序列和它對應。骨骼系統(tǒng)支持多種動畫。在播放的時候可以切換不同的動畫序列就可以了。在DirectX中:實現(xiàn)動畫序列的接口為:ID3DXAnimationSet。單個骨骼動畫控制的接口為:ID3DXKeyFrameInterpolator。它內(nèi)置了縮放,平移,和旋轉(zhuǎn)的關鍵楨。動畫控制接口:ID3DXAnimationController。負責管理骨骼,蒙皮和動畫信息。12.2剛體動畫12.2.2動畫信息2.動畫的播放當要更新骨骼時,需要遍歷當前動作序列,更新所有骨骼的狀態(tài)信息。狀態(tài)信息是相對于父節(jié)點的,因而不能直接用于三角形渲染,必須計算骨骼的世界變換矩陣。首先根據(jù)動畫序列中每個骨骼的關鍵楨信息,計算當前的時刻的狀態(tài),這個狀態(tài)以向量和四元數(shù)的形式存儲,需要轉(zhuǎn)為矩陣,然后用這些矩陣逐一的更新所有的骨骼節(jié)點的本地父結(jié)點空間的變換矩陣。Directx使用AnimationController實現(xiàn)本地到父結(jié)點的空間變化根據(jù)動畫序列中每個骨骼的關鍵幀信息更新骨骼相對變換矩陣更新骨骼節(jié)點的世界變換矩陣(遞歸函數(shù))12.3蒙皮蒙皮即Mesh,它和骨骼關聯(lián)(綁定)后才能在骨骼的作用下產(chǎn)生變形,從而實現(xiàn)動畫。小測驗(題目部分)單選題1.下列選項中對頂點混合理解正確的是()。A.頂點混合就是將幾個頂點合并生成一個頂點以減少三角形面數(shù)B.頂點混合就是將幾個矩陣合并成一個矩陣以便減少計算量C.頂點混合就是將一個頂點經(jīng)過幾種不同的變換再求平均值D.頂點混合就是對一個頂點進行幾種不同變換,再求加權平均值2.DirectX中一個頂點最多支持幾個權重?()A.2 B.8 C.3 D.2553.DirectX中當使用索引頂點混合時,最多有幾個權重和幾個矩陣索引?()A.4,4 B.4,3 C.3,4 D.3,255多選題4.關于插值方法,下列說法錯誤的是()。A.二次曲線插值比線性插值平滑B.四元數(shù)最好使用線性插值,即Q=Q1*w1+Q2*(1-W1)C.一個頂點所有權重之和為1D.骨骼動畫中的插值是對矩陣加權平均求一個混合矩陣小測驗(答案部分)單選題1.下列選項中對頂點混合理解正確的是(D)。A.頂點混合就是將幾個頂點合并生成一個頂點以減少三角形面數(shù)B.頂點混合就是將幾個矩陣合并成一個矩陣以便減少計算量C.頂點混合就是將一個頂點經(jīng)過幾種不同的變換再求平均值D.頂點混合就是對一個頂點進行幾種不同變換,再求加權平均值2.DirectX中一個頂點最多支持幾個權重?(C)A.2 B.8 C.3 D.2553.DirectX
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 具有晶圓駐留時間約束的雙組合設備協(xié)同調(diào)度研究
- UHRF1對肝癌干細胞的調(diào)控作用及機制研究
- 平茬對檸條林生境影響及大型優(yōu)勢真菌鑒定
- 改性氧化石墨烯-聚砜超濾膜的制備及性能研究
- 2025年度車輛改裝店定點洗車與保養(yǎng)服務協(xié)議
- 溫江別墅樓頂防水施工方案
- 衛(wèi)生間管道防腐施工方案
- 二零二五年度健康養(yǎng)生館鋪面轉(zhuǎn)租租賃合同
- 二零二五年度合伙人投資協(xié)議書-新能源汽車充電樁投資合作
- 2025年度股東公司退股及公司品牌重塑合作協(xié)議
- 銷售與銷售目標管理制度
- 人教版(2025新版)七年級下冊英語:寒假課內(nèi)預習重點知識默寫練習
- 2024年食品行業(yè)員工勞動合同標準文本
- 全屋整裝售后保修合同模板
- 高中生物學科學推理能力測試
- GB/T 44423-2024近紅外腦功能康復評估設備通用要求
- 六年級上冊數(shù)學應用題練習100題及答案
- 死亡報告年終分析報告
- 棋牌室禁止賭博警示語
- 2022-2023學年四川省南充市九年級(上)期末數(shù)學試卷
- 公轉(zhuǎn)私人轉(zhuǎn)賬協(xié)議
評論
0/150
提交評論