本書以《虛擬現(xiàn)實應用開發(fā)職業(yè)技能等級標準》為編寫依據(jù),圍繞虛擬現(xiàn)實技術的人才需求與崗位能力進行內(nèi)容設計。在初級、中級內(nèi)容的基礎上,本書介紹了高級三維技術、項目架構設計、高級應用編程、基于虛擬現(xiàn)實引擎的高級開發(fā)、性能優(yōu)化等內(nèi)容,涵蓋了次世代建模、角色動畫制作和三維特效制作等技術,以及項目架構需求分析與設計、面向過程和面向?qū)ο蟮母呒壘幊碳夹g、網(wǎng)絡編程技術、動畫合成技術、運動學原理運用和渲染系統(tǒng)運用等基于虛擬現(xiàn)實引擎的高級開發(fā)、性能分析與優(yōu)化等內(nèi)容。本書以模塊化的結(jié)構組織章節(jié),以任務驅(qū)動的方式安排內(nèi)容。本書可作為1+X證書制度試點工作中虛擬現(xiàn)實應用開發(fā)職業(yè)技能等級證書培訓的教材,也可作為期望從事虛擬現(xiàn)實應用開發(fā)工作的人員和視覺傳達、數(shù)字媒體技術、影視制作、動漫游戲開發(fā)等相關專業(yè)的學生的參考書。
北京大學無線電電子學系碩士畢業(yè),曾在高科技企業(yè)從事辦公自動化系統(tǒng)的開發(fā)應用,是國家計算機和通信專業(yè)技術資格考試標準的主要起草或?qū)彾ㄕ,主持開發(fā)過考務管理系統(tǒng)、上機考試系統(tǒng)、閱卷系統(tǒng)。
目 錄
第1章 高級三維技術 1
1.1 制作次世代模型 2
1.1.1 導入?yún)⒖紙D 2
1.1.2 創(chuàng)建模型基本體 2
1.1.3 模型的UVW展開 5
1.1.4 烘焙 7
1.1.5 繪制高度貼圖 8
1.1.6 繪制材質(zhì)貼圖 10
1.1.7 輸出貼圖 13
1.1.8 添加貼圖 13
1.2 制作角色動畫 14
1.2.1 蒙皮的概念 14
1.2.2 骨骼綁定 20
1.2.3 添加蒙皮 33
1.2.4 分配整體權重 34
1.2.5 設定動畫 37
1.2.6 細致調(diào)節(jié)權重 38
1.2.7 制作行走動畫 46
1.3 制作三維特效 60
1.3.1 Unity粒子系統(tǒng) 60
1.3.2 制作篝火火焰特效 74
1.3.3 制作目的地提示特效 87
1.4 本章小結(jié) 94
第2章 項目架構設計 95
2.1 項目架構的需求分析 97
2.1.1 需求的梳理 97
2.1.2 功能和子系統(tǒng)的劃分 98
2.1.3 子系統(tǒng)層級結(jié)構的設計 99
2.1.4 業(yè)務框架的抽象 101
2.1.5 系統(tǒng)架構的規(guī)劃及優(yōu)化 102
2.2 項目架構的概要設計 102
2.2.1 模塊功能的劃分 103
2.2.2 子系統(tǒng)之間交互關系的定義 103
2.2.3 系統(tǒng)架構的描述 105
2.2.4 架構圖的搭建 106
2.3 項目架構的詳細設計 107
2.3.1 系統(tǒng)框架的搭建 107
2.3.2 公共組件的提取 107
2.3.3 系統(tǒng)框架的完善與優(yōu)化 108
2.3.4 基礎框架的封裝 109
2.3.5 基礎框架結(jié)構的描述 110
2.3.6 業(yè)務框架的封裝 111
2.3.7 模塊功能的開發(fā) 112
2.4 本章小結(jié) 121
第3章 高級應用編程 122
3.1 面向過程高級編程 123
3.1.1 日志輸出與代碼調(diào)試 123
3.1.2 枚舉與結(jié)構體 126
3.1.3 位運算 128
3.1.4 函數(shù)應用詳解 131
3.2 面向?qū)ο蟾呒壘幊?133
3.2.1 構造函數(shù) 133
3.2.2 繼承 136
3.2.3 多態(tài) 139
3.2.4 委托 144
3.2.5 設計模式 145
3.2.6 重載 152
3.2.7 事件 152
3.2.8 接口 154
3.3 網(wǎng)絡編程 157
3.3.1 網(wǎng)絡編程中的基本概念 157
3.3.2 Socket API簡介 160
3.3.3 TCP流式套接字編程 164
3.4 本章小結(jié) 175
第4章 基于虛擬現(xiàn)實引擎的高級開發(fā) 176
4.1 動畫合成 178
4.1.1 動畫的創(chuàng)建 178
4.1.2 動畫過渡的實現(xiàn) 183
4.1.3 動畫中事件的插入 188
4.1.4 動畫的混合 189
4.1.5 動畫層的使用 193
4.1.6 復雜動畫的組合 197
4.1.7 逆運動組件的使用 200
4.1.8 復雜逆運動動畫的實現(xiàn) 203
4.2 運動學原理的運用 204
4.2.1 三維坐標函數(shù)類的運用——物體位置、旋轉(zhuǎn)和縮放的表示 204
4.2.2 三維坐標函數(shù)類的運用——物體移動和旋轉(zhuǎn)效果的實現(xiàn) 205
4.2.3 三維坐標函數(shù)類的運用——向量大小和長度的計算 206
4.2.4 三維坐標函數(shù)類的運用——插值計算和平滑效果的實現(xiàn) 206
4.2.5 三維坐標函數(shù)類的運用——局部坐標與世界坐標的變換 207
4.2.6 運動方向及方向調(diào)整的表示 208
4.2.7 向量夾角的計算 209
4.2.8 矩陣函數(shù)的運用——物體坐標變換的實現(xiàn) 210
4.2.9 四元數(shù)的運用——物體旋轉(zhuǎn)的實現(xiàn) 210
4.2.10 鼠標拖動物體效果的實現(xiàn) 211
4.2.11 攝像機函數(shù)的運用——攝像機坐標和世界坐標變換的實現(xiàn) 212
4.3 渲染系統(tǒng)的運用 213
4.3.1 常見的著色器類型 213
4.3.2 著色器代碼的基本結(jié)構 214
4.3.3 頂點動畫的編寫及頂點位移的實現(xiàn) 215
4.3.4 片段動畫的編寫及貼圖滾動的實現(xiàn) 217
4.3.5 光照模型的編寫及光照變化的實現(xiàn) 219
4.3.6 物體邊緣高光效果的實現(xiàn) 221
4.3.7 噪聲貼圖的代碼采樣及物體溶解效果的實現(xiàn) 222
4.3.8 運用著色器進行畫質(zhì)顏色的修改 225
4.3.9 著色器代碼的優(yōu)化 229
4.4 本章小結(jié) 230
第5章 性能優(yōu)化 232
5.1 性能優(yōu)化分析 233
5.1.1 運用性能優(yōu)化工具進行性能分析 233
5.1.2 幀率性能影響因素分析 237
5.1.3 畫面渲染原理及渲染過程的分析 238
5.2 基本性能優(yōu)化 239
5.2.1 對CPU性能的優(yōu)化 239
5.2.2 對GPU性能的優(yōu)化 242
5.2.3 對內(nèi)存性能的優(yōu)化 243
5.3 高級性能優(yōu)化 245
5.3.1 渲染模塊的優(yōu)化 245
5.3.2 內(nèi)存頻繁申請及占用過高的規(guī)避 262
5.3.3 用戶界面組件的優(yōu)化 263
5.3.4 物理引擎組件的優(yōu)化 264
5.3.5 內(nèi)存泄漏的防止 265
5.4 本章小結(jié) 266