內容介紹
《計算機動畫設計指南:運動捕捉、角色特徵、點圖及Maya Winning技術》詳細闡述了與計算機動畫相關的高效解決方案及相應的數據結構和算法,主要包括計算機動畫概述、技術背景、運動捕捉入門、運動數據、面部特徵動畫、實體空間的動畫、流體和氣體的動畫化、動畫生物學、基於點的動畫、Maya內部原理解析、MEL動畫、MEL的剛體動力學範例、MEL的角色裝配範例、建立你的角色以及MEL命令基礎等內容。此外,書中還提供了相應的算法、代碼以及偽代碼,以幫助讀者進一步理解相關方案的實現過程。《計算機動畫設計指南:運動捕捉、角色特徵、點圖及Maya Winning技術》適合作為高等院校計算機及相關專業的教材和教學參考書,也可作為相關開發人員的自學教材和參考手冊。
作品目錄
目 錄第1章計算機動畫概述 1
1.1感知 1
1.2動畫的變遷 3
1.2.1早期設備 3
1.2.2早期的傳統動畫 5
1.2.3迪斯尼(Disney) 6
1.2.4其他貢獻者 7
1.2.5其他動畫媒介 8
1.2.6動畫的原理 8
1.2.7電影製作的原理 9
1.3動畫的生產 12
1.4計算機動畫的生產 16
1.4.1計算機動畫的生產任務 17
1.4.2數字編輯 19
1.4.3數字視頻 21
1.4.4數字音頻 22
1.5計算機動畫簡史 23
1.5.1早期的活躍者(1980年以前) 23
1.5.2中間的幾年(1980年左右) 25
1.5.3動畫時代(20世紀80年代中期至今) 27
1.6本章總結 30
參考文獻 30
第2章技術背景 33
2.1空間與變換 33
2.1.1顯示流水線 34
2.1.2齊次坐標和變換矩陣 38
2.1.3變換的合成:級聯變換矩陣 38
2.1.4基本變換 39
2.1.5任意方位的重新表達 41
2.1.6從矩陣中分解變換 44
2.1.7顯示流水線中的變換操作 45
2.1.8誤差估計 46
2.2方位的表達 49
2.2.1固定角度(Fixed-Angle)表示法 50
2.2.2歐拉角度(Euler Angle)表示法 52
2.2.3角度與軸(Angle and Axis)表示法 53
2.2.4四元數(Quaternion)表示法 54
2.2.5指數映射(Exponential Map)表示法 56
2.3本章總結 56
參考文獻 56
第3章運動捕捉入門 57
3.1運動捕捉與表演動畫 57
3.2表演動畫在娛樂業的發展歷史 57
3.2.1轉描(Rotoscope) 57
3.2.2Brilliance 58
3.2.3Pacific Data Images 60
3.2.4deGraf/Wahrman 63
3.2.5Kleiser-Walczak公司 63
3.2.6Homer and Associates 64
3.3動作捕捉的類型 66
3.3.1光學動作捕捉系統 66
3.3.2電磁追蹤器 69
3.3.3機電設備 72
3.3.4數字電樞 73
3.3.5其他動作捕捉系統 75
3.4動作捕捉在各行各業中的套用 77
3.4.1醫學界 77
3.4.2體育界 78
3.4.3娛樂界 78
3.4.4法律界 79
第4章運動數據 81
4.1運動數據類型與格式 81
4.1.1Acclaim檔案格式 82
4.1.2.asf檔案 83
4.1.3.amc檔案 85
4.1.4.bva檔案格式 87
4.1.5.bvh檔案格式 88
4.1.6.trc檔案格式 91
4.1.7.htr檔案格式 94
4.2編寫運動捕捉解析工具 102
第5章面部特徵動畫 132
5.1人臉 132
5.1.1面部結構解析 132
5.1.2面部表情編碼系統(FACS) 132
5.2面部模型 134
5.2.1構建連續的表面模型 135
5.2.2紋理 139
5.3製作面部動畫 139
5.3.1參數化模型 139
5.3.2融合變形 140
5.3.3肌肉模型 140
5.3.4表情 143
5.3.5總結 144
5.4口型同步動畫製作 144
5.4.1發音器 144
5.4.2音素 145
5.4.3協同發音 146
5.4.4韻律學 146
5.5本章總結 146
參考文獻 146
第6章實體空間的動畫 149
6.1動畫路徑 150
6.2實體紋理(solid texture)的動畫化 150
6.2.1大理石生成 151
6.2.2大理石運動 153
6.2.3實體紋理透明(solid-textured transparency)的動畫 154
6.3氣體體積的動畫 155
6.4三維晶格體 162
6.4.1訪問晶格體數據 163
6.4.2功能流程形式的晶格體 163
6.4.3功能流程函式 164
6.4.4功能的集合 167
6.5超紋理(hypertexture)的動畫化 170
6.6粒子系統:另一種過程動畫技術 171
6.7本章總結 174
參考文獻 174
第7章流體和氣體的動畫化 176
7.1特殊的流體類型 176
7.1.1水的模型 176
7.1.2雲的模型(作者:David Ebert) 185
7.1.3火的模型 192
7.2計算流體力學 194
7.2.1建模流體的一般方法 195
7.2.2計算流體力學方程 196
7.3本章總結 200
參考文獻 200
第8章動畫生物學 203
8.1概述 203
8.2動畫和電影的感知 203
8.2.1視覺的簡述 203
8.2.2運動和動畫的視覺 205
8.3動畫師的工作流程 206
8.4工作流程三段論 207
8.4.1流程階段1:預生產 208
8.4.2流程階段2:生產 213
8.4.3流程階段3:生產後處理 220
8.4.4放在一起考慮 220
8.5動畫 221
8.6Maya 221
8.6.1過程式動畫與關鍵幀動畫 221
8.6.2關鍵幀與記憶體 222
8.6.3Animation選單集 222
8.6.4設定關鍵幀 223
8.6.5自動關鍵幀 224
8.6.6圖示動畫 224
8.6.7刪除關鍵幀 226
8.6.8時間單位 226
8.6.9回放設定 226
8.7教程08.01:關鍵幀動畫 227
8.7.1準備工作 227
8.7.2設定關鍵幀 228
8.7.3播放、拖動和停止動畫 229
8.7.4編輯動畫曲線 229
8.7.5Graph Editor 230
8.7.6Graph Editor的Graph View 230
8.7.7Graph Editor工具列 231
8.7.8移動關鍵幀項 232
8.8Hypergraph和Attribute Editor中的動畫節點 232
8.9教程08.02:簡單的過程式動畫 233
8.9.1動畫表達式概述 233
8.9.2創建動畫表達式 233
8.9.3動畫表達式節點 235
8.10本章總結 235
參考文獻 236
第9章基於點的動畫 237
9.1導言 237
9.2無格線的有限元 237
9.2.1概述 237
9.2.2連續彈力 238
9.2.3無格線的離散化 241
9.2.4移動最小二乘法 242
9.2.5更新應變與應力 243
9.2.6通過應變能量計算受力 244
9.2.7彈性物體的動畫化 245
9.2.8塑膠 247
9.2.9被動的表麵點集(surfel)對流 248
9.2.10總結 248
9.3碎裂材質的動畫 248
9.3.1概述 249
9.3.2歷史背景 250
9.3.3不連續的建模 250
9.3.4表面模型 252
9.3.5裂縫的初始化和增殖 253
9.3.6拓撲控制 253
9.3.7體積採樣 255
9.3.8破碎的控制 257
9.3.9模擬流水線 257
9.3.10結論 258
9.4流體模擬 258
9.4.1概述 258
9.4.2模擬方法 258
9.4.3平滑粒子的流體動力學 260
9.4.4表面表達 264
9.4.5使用採樣點進行表面跟蹤 265
9.4.6總結 268
參考文獻 268
第10章Maya內部原理解析 272
10.1為什麼要剖析Maya內部原理 272
10.2從屬圖、屬性、屬性連線 272
10.3範例1:使用Hypergraph瀏覽從屬圖 277
10.4變換層次與父子關係 280
10.5檢查層次結構 281
10.6變換節點(Transform)和形狀節點(Shape) 282
10.7範例2:了解變換節點和形狀節點、實例化,以及歷史節點 282
10.8MEL和Maya用戶界面 285
10.9Maya場景的後台處理備忘錄 285
第11章MEL動畫 286
11.1動畫 286
11.1.1時間 286
11.1.2實時回放 288
11.1.3動畫曲線 289
11.1.4骨骼系統 305
11.1.5運動路徑(motion path) 317
第12章MEL的剛體動力學範例 320
12.1範例1:粒子碰撞 320
12.1.1創建場景 320
12.1.2與粒子碰撞 323
12.1.3對碰撞進行控制 325
12.1.4geoConnector中的其他控制手段 325
12.1.5在MEL中完成場景 326
12.2範例2:碰撞事件 327
12.2.1概述 328
12.2.2添加發射器和粒子 328
12.2.3動力學關係 330
12.2.4限制粒子數目,添加重力 331
12.2.5添加更多的碰撞 332
12.2.6事件 332
12.2.7籃子的表達式 334
12.2.8編輯設定來修復問題 336
12.2.9速度 337
12.3範例3:剛體動力學的物體間碰撞 337
12.3.1編寫複製和定位的腳本 339
12.3.2組裝字元串變數時的常見錯誤 340
12.3.3創建碰撞盒 341
12.3.4反轉碰撞盒的法線 342
12.3.5主動和被動的剛體 343
12.3.6將每個格線平面都變成被動碰撞對象 346
12.3.7打開碰撞數據選項 347
12.3.8改變格線碰撞時的顏色 348
12.4範例4:剛體動力學與粒子 351
12.4.1使用MEL創建瞄準視窗 352
12.4.2向工具列添加新的視窗控制項 353
12.4.3將平面轉換為多邊形,並且分解為多片 354
12.4.4向分片添加動力學和表達式 356
12.4.5創建完整的MEL腳本 358
12.4.6載入場景並運行腳本 360
12.4.7向panelBreakup傳遞一個浮點數 361
第13章MEL的角色裝配範例 362
13.1範例1:角色控制 362
13.1.1場景載入 363
13.1.2場景概述 363
13.1.3mrBlah控制的概述 364
13.1.4鎖定屬性 366
13.1.5手臂控制 367
13.1.6建立mrBlah的脊柱控制 368
13.1.7選中足部時產生搖擺的效果 371
13.2範例2:創建角色的用戶界面 373
13.2.1載入保存的mrBlah場景 374
13.2.2設計用戶控制項 374
13.2.3創建 mrBlahControls.mel 375
13.2.4創建滑塊來控制spinCtrl的屬性 378
13.2.5為視窗空間創建布局 379
13.2.6測試視窗 380
13.2.7向用戶顯示有限的信息 381
13.2.8給視窗創建一個腳本節點 381
13.2.9創建工具列圖示來打開視窗 382
13.2.10mrBlahControls.mel的完整代碼 382
第14章建立你的角色 386
14.1設定角色的旋轉數據 386
14.2設定角色的平移數據 387
14.3提示與技巧 396
14.3.1改變旋轉的順序 396
14.3.2旋轉的分配 398
14.3.3使用三次參數曲線 402
14.3.4插值 403
14.3.5關鍵幀簡化 405
14.3.6捕捉數據的重適應 406
第15章MEL命令基礎 407
15.1不寫腳本也能使用MEL嗎 407
15.2命令行和命令反饋行 407
15.3Shell 408
15.4腳本編輯器 408
15.5腳本編輯器 VS Shell 409
15.6腳本編輯器的信息作為MEL代碼 410
15.7把一個MEL腳本製作成工具列按鈕 411
15.8保存一個MEL腳本 411
15.9狀態訊息區的危險誘惑 412
15.10whatIs命令 413
15.11MEL命令的基本結構 413
15.12在網路上哪裡可以找到關於Maya 和MEL的信息 414
15.13如何使用在網上找到的MEL腳本 414
15.14備忘錄 415