圖書信息
出版社: 兵器工業出版社,北京希望電子出版社; 第1版 (2005年3月1日)
平裝: 344頁
開本: 16開
ISBN: 7801722493
條形碼: 9787801722492
尺寸: 27 x 19.6 x 4.2 cm
重量: 699 g
內容簡介
《MayaMEL動畫編程從入門到精通》(1CD)作者在一線專攻Maya多年,積累了豐富的實戰經驗。全書共分13章,第1章為Maya入門之作,主要針對Maya入門級用戶,3個經典實例可以讓讀者迅速掌握Maya的所有功能設定;第2~10章為MEL篇,主要針對Maya中高級用戶,由淺入深、詳細講解了MEL語法結構和各種函式命令;第11~13章為實戰篇,通過精彩實例讓讀者系統地運用MEL做出高級別的製作效果。《MayaMEL動畫編程從入門到精通》(1CD)最大特點是拋棄大量繁瑣的文字講解,運用圖形來陳述步驟。每一張圖形都儘量採用全螢幕圖,且標註了步驟流程線和操作項,簡潔直觀,讓讀者從文字講解的苦海中脫離出來。Maya是時下一個極端流行的三維動畫製作軟體,MEL是Maya追求者渴望的巔峰技術,掌握MEL代表著Maya技能的全面逾越。
目錄
第1章 Maya入門 1
1.1 Maya的界面 1
1.1.1 Maya的界面 1
1.1.2 選單欄 1
1.1.3 狀態欄 3
1.1.4 工具架 3
1.1.5 通道欄 4
1.1.6 時間和時間範圍滑塊 4
1.1.7 命令行 4
1.1.8 腳本編輯器圖示 5
1.1.9 Maya的工作空間 5
1.2 Maya的基本操作 11
1.2.1 滑鼠的操作 11
1.2.2 浮動選單 12
1.3 實例1——紅蘋果 12
1.3.1 建模 12
1.3.2 材質 17
1.3.3 渲染 28
1.3.4 保存圖像 29
1.3.5 Maya檔案的保存、導入與導出 30
1.4 實例2——水晶蘋果 33
1.4.1 導入 33
1.4.2 繪畫水晶 34
1.4.3 水晶蘋果 37
1.5 實例3——魔幻蘋果 41
1.5.1 材質 41
1.5.2 蘋果蒂 61
1.5.3 環境 71
第2章 編輯器和語法規則 79
2.1 腳本編輯器簡介 79
2.1.1 打開方式 79
2.1.2 腳本編輯器視窗 80
2.1.3 使用腳本編輯器的選單 80
2.2 命令行(Command Line) 96
2.3 表達式編輯器Expression Editor簡介 96
2.3.1 啟動Expression Editor 96
2.3.2 表達式簡介 98
2.4 MEL命令、MEL腳本和Expression的區別與聯繫 99
2.5 MEL的基本語法規則 99
第3章 MEL的核心——算法 101
3.1 算法 101
3.2 B-J流程圖表示算法 101
3.3 三種基本結構 104
3.3.1 三種基本結構圖解 104
3.3.2 三種基本結構的共同特點 104
3.4 N-S流程圖 105
3.4.1 三種基本結構 105
3.4.2 N-S流程圖表示算法的優點 106
3.5 偽代碼 107
3.6 結構化程式設計方法 107
第4章 變數和常量 108
4.1 變數 108
4.1.1 概念 108
4.1.2 語法規則 108
4.1.3 聲明變數並賦值 109
4.1.4 保留字 110
4.2 六種變數類型 111
4.2.1 整型變數 111
4.2.2 浮點型變數 111
4.2.3 字元串 112
4.2.4 矢量 112
4.2.5 數組 113
4.2.6 矩陣 114
4.3 數據類型的轉換 115
4.3.1 數據類型的轉換結果 115
4.3.2 自動轉換 116
4.3.3 手動的轉換 117
4.3.4 Maya的局限性 118
4.3.5 精確度和最大數值長度 119
4.3.6 溢出錯誤 119
4.4 物體屬性 119
4.4.1 屬性 119
4.4.2 物體屬性的命名 119
4.4.3 路徑 120
4.4.4 物體屬性的數據類型 120
4.5 全局和局部變數 121
4.5.1 局部變數 121
4.5.2 全局變數 121
4.6 常量 121
第5章 MEL的順序結構 122
5.1 順序結構 122
5.2 四種類型的運算 122
5.2.1 賦值運算 122
5.2.2 算術運算 124
5.2.3 關係運算 129
5.2.4 條件運算 133
5.3 運算的順序 133
5.3.1 優先性 133
5.3.2 成組 134
5.4 習題 134
第6章 MEL的選擇結構 141
6.1 if語句 141
6.1.1 if 語句 141
6.1.2 if else 語句 142
6.1.3 if else if 語句 144
6.1.4 if 語句的嵌套 146
6.2 switch語句 149
6.3 習題 151
第7章 MEL的循環結構 160
7.1 循環結構 160
7.1.1 while語句 160
7.1.2 do-while語句 162
7.1.3 for語句 163
7.1.4 for-in語句 166
7.1.5 循環嵌套 167
7.1.6 break語句 169
7.1.7 continue 語句 171
7.2 習題 172
第8章 數組 178
8.1 一維數組 178
8.1.1 一維數組的定義和引用 178
8.1.2 一維數組的初始化 181
8.2 二維數組 188
8.2.1 二維數組的定義 188
8.2.2 矩陣元素的引用 189
第9章 函式 193
9.1 函式概述 193
9.2 函式分類 193
9.3 函式定義的一般形式 194
9.3.1 無參函式的定義形式 194
9.3.2 有參函式定義的一般形式 196
9.3.3 形式參數和實際參數 196
9.4 函式的調用 197
9.4.1 函式調用的一般形式 197
9.4.2 函式調用的方式 197
9.4.3 函式的嵌套調用 198
9.4.4 函式的遞歸調用 199
9.5 數組作為函式參數 201
9.5.1 數組元素做函式實參 201
9.5.2 數組名做函式參數 202
9.6 習題 204
第10章 常用函式和命令 213
10.1 三角函式 213
10.1.1 正弦函式sin() 213
10.1.2 餘弦函式cos ( ) 217
10.1.3 hypot()函式 221
10.2 隨機函式 222
10.2.1 rand()函式 222
10.2.2 noise()函式 223
10.2.3 gauss()函式 224
10.2.4 sphrand()函式 225
10.3 矢量函式 227
10.4 曲線函式 227
10.4.1 linestep()函式 227
10.4.2 smoothstep()函式 229
10.5 數組函式 231
10.5.1 size函式 231
10.5.2 clear函式 231
10.6 界限函式 232
10.6.1 Abs函式 232
10.6.2 ceil函式 232
10.6.3 MAX函式 233
10.7 指數函式 233
10.7.1 pow函式 233
10.7.2 sqrt 234
10.8 其他命令和函式 234
10.8.1 ls命令 234
10.8.2 tokenize命令 235
第11章 模擬全局光——球燈 237
11.1 模擬全局光外掛程式 237
11.2 ballLight的整體構架 237
11.2.1 主程式ballLight( ) 238
11.2.2 面光源splane() 238
11.2.3 球光源ssphere() 239
11.2.4 柱光源scylinder() 240
11.2.5 成組parent() 241
11.2.6 連線屬性connect() 241
11.2.7 渲染屬性renders() 242
11.3 ballLight( )的安裝 242
11.3.1 拷貝檔案 242
11.3.2 更改圖示 244
11.3.3 創建一個球光源 245
11.4 簡單的室外全局光模擬 248
11.4.1 創建球燈 248
11.4.2 渲染和效果 253
11.5 按照需要模擬全局光 254
11.6 照片級的三維自畫像 260
11.7 主程式ballLight( ) 266
11.7.1 主程式ballLight( )創意 266
11.7.2 主程式ballLight( )思路圖 266
11.7.3 主程式ballLight( )流程圖 267
11.7.4 主程式ballLight( )程式分析 268
11.8 子程式ssphere() 268
11.8.1 子程式ssphere()思路圖 268
11.8.2 子程式ssphere()流程圖 269
11.8.3 子程式ssphere()程式分析 270
11.9 子程式成組parent() 272
11.9.1 子程式成組parent()思路圖 272
11.9.2 子程式成組parent()流程圖 272
11.9.3 子程式成組parent()程式分析 273
11.10 子程式連線connect( ) 273
11.10.1 子程式連線connect( )思路圖 273
11.10.2 子程式連線connect( )流程圖 274
11.10.3 子程式連線connect( )程式分析 274
11.11 子程式渲染renders( ) 275
11.11.1 子程式渲染renders( )思路圖 275
11.11.2 子程式渲染renders( )流程圖 276
11.11.3 子程式渲染renders( )程式分析 276
第12章 鏡像光滑外掛程式lhsmooth 277
12.1 lhsmooth外掛程式思路圖 277
12.2 鏡像圓滑 277
12.2.1 導入 277
12.2.2 鏡像 278
12.2.3 光滑 285
12.2.4 撤銷 287
12.3 整理MEL腳本 288
12.4 lhsmooth熱鍵外掛程式 288
12.4.1 打開Hotkey Editor 288
12.4.2 創建lhsmooth外掛程式 289
12.4.3 創建lhundo 291
12.5 測試熱鍵效果 292
第13章 坦克大戰 296
13.1 戰情通報 296
13.2 坦克作戰規劃 297
13.2.1 坦克作戰思路 297
13.2.2 坦克作戰思路圖 298
13.3 藍軍坦克的運動 298
13.3.1 藍軍坦克的運動 298
13.3.2 BlueMove思路 300
13.3.3 BlueMove流程圖 301
13.3.4 BlueMove程式分析 301
13.4 藍軍坦克的射擊 302
13.4.1 創建一個發射器 302
13.4.2 調整發射器和粒子屬性 304
13.4.3 創建一個碰撞 306
13.4.4 重命名新粒子,並調整屬性 307
13.5 藍軍坦克的瞄準 310
13.5.1 創建Aim約束 310
13.5.2 創建Aim的表達式 311
13.6 藍軍坦克的命中與結束 313
13.6.1 創建hitRed表達式 313
13.6.2 創建redColorAndOver表達式 316
13.6.3 HitRed流程圖 319
13.6.4 HitRed程式分析 320
13.6.5 RedColorAndOver程式思路 321
13.6.6 RedColorAndOver程式分析 322
13.7 紅軍坦克的運動 323
13.7.1 打開Hotkey Editor 323
13.7.2 設定6個熱鍵 324
13.7.3 移動紅軍坦克 327
13.8 紅軍坦克的射擊 331
13.8.1 創建一個發射器 331
13.8.2 調整發射器和粒子的屬性 333
13.8.3 創建一個發射炮彈的熱鍵 334
13.9 紅軍坦克的命中與結束 337
參考文獻 349