關(guān)于我們
書單推薦
新書推薦
|
虛擬現(xiàn)實與增強現(xiàn)實理論與實踐 讀者對象:可以作為高等院校虛擬現(xiàn)實技術(shù)、數(shù)字媒體技術(shù)和教育技術(shù)專業(yè)的教學用書,也可以作為虛擬現(xiàn)實和增強現(xiàn)實工程技術(shù)人員和VR/AR項目開發(fā)愛好者的參考用書。
本書圍繞虛擬現(xiàn)實技術(shù)領(lǐng)域的人才需求和崗位要求進行內(nèi)容設計,首先介紹虛擬現(xiàn)實與增強現(xiàn)實的基礎(chǔ)理論和關(guān)鍵技術(shù),分析虛擬現(xiàn)實與增強現(xiàn)實在相關(guān)專業(yè)領(lǐng)域中的應用狀況及人才需求;然后重點介紹Unity(VR 引擎工具)的基本操作與開發(fā)基礎(chǔ)、C#語言基礎(chǔ)、基于Unity 進行用戶界面的開發(fā)及交互邏輯和物理引擎的應用、HTC VIVE 平臺的VR 開發(fā)基礎(chǔ)、AR 應用的開發(fā)基礎(chǔ)等內(nèi)容。 本書以虛擬現(xiàn)實與增強現(xiàn)實項目開發(fā)流程中涉及的基礎(chǔ)知識和關(guān)鍵技術(shù)為主線,輔以相關(guān)的應用開發(fā)案例,緊扣虛擬現(xiàn)實與增強現(xiàn)實行業(yè)的人才培養(yǎng)要求。 本書結(jié)構(gòu)完整、內(nèi)容系統(tǒng)全面、案例豐富,既適合Unity 3D 開發(fā)的初學者學習,也適合對游戲開發(fā)、工業(yè)設計、建筑設計等虛擬現(xiàn)實與增強現(xiàn)實應用開發(fā)感興趣的設計者學習,還可以作為相關(guān)高校及培訓機構(gòu)虛擬現(xiàn)實與增強現(xiàn)實相關(guān)專業(yè)的教材或參考書。
單美賢,南京郵電大學教育科學技術(shù)學院教授。從教超過20年,擁有豐富的從教經(jīng)驗。編寫過多部專著、教材等,寫作經(jīng)驗豐富。曾獲"江蘇高校第九屆哲學社會科學研究優(yōu)秀成果獎二等獎(2014.7)、江蘇高校第八屆哲學社會科學研究優(yōu)秀成果獎二等獎(2012.11)、江蘇省第三屆教育科學優(yōu)秀成果獎三等獎(2011.11)、江蘇省高校教學管理研究會優(yōu)秀論文二等獎(2013.7)、2012年度南京郵電大學先進工作者”等多項獎勵。
第1 章 緒論 ......................................... 1
1.1 VR 與AR 的概念 .................................. 1 1.1.1 VR 的定義 ................................. 1 1.1.2 VR 的特點 ................................. 2 1.1.3 AR 的定義 ................................. 3 1.1.4 AR 的特點 ................................. 4 1.1.5 MR 和XR 的定義 ..................... 4 1.2 VR 的發(fā)展歷史 ..................................... 6 1.2.1 探索階段 ................................... 6 1.2.2 萌芽階段 ................................... 8 1.2.3 發(fā)展階段 ................................... 9 1.2.4 成熟階段 ................................. 10 1.3 AR 的發(fā)展歷史 ................................... 12 1.4 VR 系統(tǒng)與AR 系統(tǒng)的組成 ................ 13 1.4.1 VR 系統(tǒng)的組成 ....................... 13 1.4.2 VR 系統(tǒng)的生成設備 ............... 14 1.4.3 VR 系統(tǒng)的輸入設備 ............... 17 1.4.4 VR 系統(tǒng)的輸出設備 ............... 24 1.4.5 AR 系統(tǒng)的組成 ....................... 32 1.5 VR 技術(shù)與AR 技術(shù)的應用 ................ 34 1.5.1 VR 技術(shù)的應用 ....................... 34 1.5.2 AR 技術(shù)的應用 ....................... 37 1.6 數(shù)字孿生 .............................................. 39 1.6.1 數(shù)字孿生的概念 ..................... 39 1.6.2 數(shù)字孿生與仿真的區(qū)別 .......... 40 1.6.3 數(shù)字孿生與VR 的區(qū)別 .......... 41 1.7 元宇宙 ................................................. 41 1.7.1 元宇宙的概念 ......................... 42 1.7.2 元宇宙與VR 的區(qū)別 .............. 43 本章小結(jié) ...................................................... 44 習題 ............................................................ 44 第2 章 VR 系統(tǒng)的關(guān)鍵技術(shù) ............... 45 2.1 VR 中的計算機圖形學基礎(chǔ) ............... 45 2.1.1 坐標系 ..................................... 46 2.1.2 視圖變換 ................................. 47 2.1.3 渲染管線 ................................. 55 2.2 VR 建模方法 ....................................... 58 2.2.1 基于幾何圖形繪制的 建模方法 ................................. 58 2.2.2 基于圖像繪制的建模方法 ...... 64 2.2.3 基于圖形與圖像的 混合建模方法 ......................... 68 2.2.4 虛擬場景建模方法的對比 ...... 69 2.3 VR 內(nèi)核引擎與開發(fā)平臺 ................... 70 2.3.1 內(nèi)核引擎 ................................. 70 2.3.2 開發(fā)平臺 ................................. 74 本章小結(jié) ...................................................... 76 習題 ............................................................ 76 第3 章 77 Unity 的開發(fā)環(huán)境.................................. 77 3.1 Unity 的簡介 ....................................... 77 3.1.1 Unity 的發(fā)展歷史 ................... 77 3.1.2 Unity 的特色 ........................... 78 3.1.3 Unity 的應用領(lǐng)域 ................... 79 3.2 Unity 的下載與安裝 ............................ 81 3.2.1 Unity 的主要版本 ................... 81 3.2.2 Unity Hub 的下載與安裝 ........ 82 3.2.3 Unity 的版本選擇 ................... 84 3.2.4 首次運行Unity 軟件 .............. 84 3.3 Unity 的窗口布局 ................................ 86 3.3.1 窗口布局 ................................. 87 3.3.2 工具欄 ..................................... 88 3.3.3 常用工作視圖 ......................... 89 3.4 實例演示:創(chuàng)建靜態(tài)虛擬人物 .......... 93 3.4.1 利用基本物體創(chuàng)建 靜態(tài)虛擬人物 ......................... 93 3.4.2 綁定攝像機以實現(xiàn)第一 人稱視角的簡單運動 .............. 95 3.5 在Unity 項目中導入資源 ................... 96 3.5.1 本地資源導入 ......................... 97 3.5.2 在線資源導入 ......................... 97 本章小結(jié) ...................................................... 99 習題 ............................................................ 99 第4 章 Unity 中的地形 ..................... 100 4.1 Unity 地形編輯工具 .......................... 100 4.1.1 在Unity 中創(chuàng)建地形 ............ 100 4.1.2 地形編輯工具 ....................... 102 4.1.3 地形設置 ............................... 102 4.1.4 繪制地形 ............................... 103 4.1.5 繪制樹木與花草 ................... 106 4.1.6 添加水效果 ........................... 107 4.2 Unity 制作地形的常用插件 .............. 108 4.2.1 Gaia ........................................ 108 4.2.2 TerrainComposer2 ................. 109 4.2.3 WorldComposer ..................... 109 4.2.4 利用在線資源商店 構(gòu)建地形 ............................... 110 本章小結(jié) .................................................... 113 習題 .......................................................... 113 補充:導入環(huán)境資源包錯誤處理 ............. 113 第5 章 材質(zhì)基礎(chǔ) .............................. 116 5.1 基本概念 ........................................... 116 5.1.1 材質(zhì)的概念 ........................... 116 5.1.2 著色器的概念 ....................... 117 5.1.3 紋理的概念 ........................... 117 5.1.4 基于物理的渲染:PBR 理論 117 5.1.5 材質(zhì)、著色器與紋理的關(guān)系 118 5.2 使用方法 ........................................... 119 5.2.1 材質(zhì)的使用方法 ................... 120 5.2.2 標準著色器的使用方法 ........ 121 5.2.3 紋理的使用方法 ................... 125 5.3 Unity 的內(nèi)置著色器 .......................... 128 5.3.1 天空盒 ................................... 128 5.3.2 粒子系統(tǒng) ............................... 132 5.3.3 Unlit 渲染管線 ...................... 136 本章小結(jié) .................................................... 137 第6 章 Unity 中的光照 ..................... 138 6.1 Unity 光照 ......................................... 138 6.1.1 基本燈光的共有屬性 ............ 138 6.1.2 平行光 ................................... 139 6.1.3 點光源 ................................... 140 6.1.4 聚光燈 ................................... 140 6.2 光照貼圖 ............................................ 141 6.2.1 什么是光照信息.................... 141 6.2.2 直接光照與間接光照 ............ 142 6.2.3 Unity 中的全局光照技術(shù) ...... 143 6.3 “Lighting”窗口 .............................. 144 6.3.1 “Scene”選項卡 .................. 145 6.3.2 “Environment”選項卡 ....... 147 6.3.3 “Realtime Lightmaps” 選項卡 ................................... 149 6.3.4 “Baked Lightmaps” 選項卡 ................................... 150 6.4 Unity 中烘焙光照案例的實現(xiàn) .......... 150 6.4.1 搭建烘焙光照測試場景 ........ 150 6.4.2 設置游戲?qū)ο髤⑴c 烘焙光照貼圖 ....................... 151 6.4.3 設置Lighting Settings 參數(shù) ....................................... 151 6.5 光照探針 ............................................ 152 6.5.1 光照探針的用途.................... 153 6.5.2 光照探針組 ........................... 153 本章小結(jié) .................................................... 154 第7 章 Unity 腳本編程 ..................... 155 7.1 C#程序設計基礎(chǔ) ............................... 155 7.1.1 C#語言的數(shù)據(jù)類型 ............... 155 7.1.2 C#語言的運算符與表達式 ... 160 7.1.3 C#語言的程序控制語句 ....... 160 7.2 Hello World:你的首個程序 ............ 162 7.2.1 創(chuàng)建新項目 ........................... 162 7.2.2 創(chuàng)建C#腳本 .......................... 163 7.2.3 運行C#腳本 .......................... 165 7.2.4 Start()與Update()函數(shù)的 區(qū)別 ....................................... 166 7.2.5 Unity 中默認函數(shù)的執(zhí)行 順序 ....................................... 167 7.3 C#語言的類與對象 ........................... 169 7.3.1 在Unity 中理解類與對象 .... 169 7.3.2 類與對象 ............................... 170 7.4 Unity 的重要變量類型 ...................... 173 7.4.1 Vector3 ................................... 173 7.4.2 Color ...................................... 174 7.4.3 Screen .................................... 175 7.4.4 GameObject ........................... 176 7.5 GameObject 及其組件 ...................... 176 7.5.1 Transform 組件 ...................... 177 7.5.2 Mesh Filter 組件 .................... 179 7.5.3 Script 組件 ............................. 180 7.6 Unity 的物理系統(tǒng) ............................. 180 7.6.1 RigidBody 組件 ..................... 180 7.6.2 Collider 組件 ......................... 181 7.6.3 碰撞檢測與觸發(fā)檢測............ 183 7.6.4 綜合練習—發(fā)射小球游戲 184 本章小結(jié) .................................................... 190 習題 .......................................................... 190 第8 章 UI 系統(tǒng) ................................. 192 8.1 Canvas 組件 ....................................... 192 8.1.1 渲染模式 ............................... 193 8.1.2 自適應屏幕 ........................... 193 8.1.3 錨點及其對齊方式 ............... 194 8.1.4 Canvas 優(yōu)化 ........................... 195 8.2 基礎(chǔ)元素 ........................................... 195 8.2.1 Text 組件 ............................... 195 8.2.2 Image 組件 ............................ 196 8.2.3 Raw Image 組件 .................... 197 8.2.4 Button 組件............................ 198 8.2.5 InputField 組件 ...................... 201 8.2.6 場景管理 ............................... 203 8.3 EventSystem 組件 .............................. 206 8.3.1 輸入模塊 ............................... 206 8.3.2 UI 事件 .................................. 207 8.3.3 UI 事件管理 .......................... 208 8.4 GUI .................................................... 210 8.4.1 使用GUI 創(chuàng)建控件 .............. 210 8.4.2 GUI 基本控件 ....................... 213 8.4.3 GUILayout 自動布局 ............ 215 本章小結(jié) .................................................... 217 習題 .......................................................... 217 第9 章 Unity 數(shù)據(jù)的讀取 ................. 218 9.1 JSON 文件操作 ................................. 218 9.1.1 JSON 的基本語法 ................. 218 9.1.2 創(chuàng)建JSON 文件 .................... 219 9.1.3 讀取JSON 數(shù)據(jù) .................... 221 9.1.4 解析JSON 數(shù)據(jù) .................... 222 9.1.5 修改JSON 數(shù)據(jù) .................... 223 9.2 本地數(shù)據(jù)持久化類 ............................ 224 9.2.1 PlayerPrefs ............................. 225 9.2.2 PlayerPrefs 保存 復雜結(jié)構(gòu) ............................... 226 9.2.3 運行期間讀寫文本 ................ 227 9.3 XML 文件操作 .................................. 229 9.3.1 創(chuàng)建XML 文件 ..................... 229 9.3.2 讀取XML 數(shù)據(jù) ..................... 231 9.3.3 修改XML 數(shù)據(jù) ..................... 232 本章小結(jié) .................................................... 233 習題 .......................................................... 233 第10 章 3D 游戲原型: 《小鳥吃金幣》 ................... 234 10.1 項目準備工作 .................................. 234 10.1.1 創(chuàng)建游戲?qū)ο?..................... 235 10.1.2 攝像機位置 ......................... 238 10.1.3 設置游戲面板 ..................... 240 10.1.4 游戲?qū)ο蟮膭幼髁鞒虉D ...... 240 10.2 小鳥運動 ......................................... 241 10.2.1 小鳥飛行 ............................. 241 10.2.2 攝像機跟隨小鳥運動 .......... 243 10.2.3 音樂片段播放 ..................... 244 10.2.4 小鳥碰撞到障礙物 ............. 245 10.3 小鳥吃金幣...................................... 247 10.3.1 隨機生成金幣 ..................... 248 10.3.2 統(tǒng)計小鳥吃到的金幣數(shù) ...... 249 10.3.3 為當前場景保存一個 副本 ..................................... 251 10.4 圖形用戶界面和游戲管理 .............. 251 10.4.1 計分器界面 ......................... 251 10.4.2 吃到金幣時加分 ................. 252 10.4.3 游戲失敗界面 ..................... 253 10.4.4 彈出游戲失敗界面 ............. 254 10.4.5 添加最高分紀錄 ................. 257 10.4.6 PlayerPrefs ........................... 258 10.5 項目導出設置 .................................. 259 本章小結(jié) .................................................... 261 習題 .......................................................... 261 第11 章 HTC VIVE 平臺的 VR 開發(fā)基礎(chǔ) ...................... 262 11.1 HTC VIVE 的簡介 .......................... 262 11.1.1 HTC VIVE 設備 .................. 263 11.1.2 HTC VIVE 技術(shù) .................. 264 11.1.3 HTC VIVE 應用軟件 .......... 265 11.2 VR 項目的開發(fā)基礎(chǔ) ....................... 269 11.2.1 HTC VIVE 設備連接 .......... 269 11.2.2 VR 項目的開發(fā)流程 ........... 270 11.2.3 VR 項目開發(fā)的輔助工具 ... 271 11.3 第一個HTC VIVE 項目 .................. 272 11.3.1 設置SteamVR ..................... 272 11.3.2 設置HTC VIVE .................. 273 11.3.3 體驗VR ............................... 277 11.4 使用Unity 進行VR 交互開發(fā) ....... 278 11.4.1 使用OpenVR 實現(xiàn) 瞬間移動 ............................. 278 11.4.2 使用VRTK 實現(xiàn)物體 抓取 ..................................... 285 11.4.3 使用XR Interaction Toolkit 實現(xiàn)UI 觸控交互 ............... 288 本章小結(jié) .................................................... 292 第12 章 AR 應用的開發(fā)基礎(chǔ) ........... 293 12.1 AR 系統(tǒng)的結(jié)構(gòu)與核心技術(shù) ........... 293 12.1.1 AR 系統(tǒng)的基本結(jié)構(gòu) ........... 293 12.1.2 AR 系統(tǒng)的顯示技術(shù) ........... 294 12.1.3 AR 系統(tǒng)的跟蹤注冊技術(shù) ..... 296 12.2 Vuforia ............................................. 298 12.2.2 Vuforia 平臺組件 ................ 299 12.2.1 AR 應用的開發(fā)插件 ........... 299 12.2.3 Vuforia 開發(fā)環(huán)境的搭建 .... 300 12.3 Vuforia 的核心功能 ........................ 302 12.3.1 圖像識別 ............................. 302 12.3.2 多目標識別 ......................... 303 12.3.3 云識別 ................................. 304 12.3.4 水平面識別 ......................... 304 12.4 Vuforia 官方案例 ............................ 305 12.4.1 下載官方案例 ..................... 305 12.4.2 AR Camera .......................... 306 12.5 使用Vuforia 制作AR 項目 ............ 307 12.5.1 添加許可密鑰 ..................... 307 12.5.2 Target Manager .................... 309 12.5.3 創(chuàng)建一個ImageTarget ........ 312 本章小結(jié) .................................................... 313 習題 .......................................................... 313 附錄A 簡易第一人稱控制器的實現(xiàn) .. 314 A.1 了解角色控制器與輸入管理器 ....... 314 A.2 創(chuàng)建項目與搭建場景 ....................... 315 A.3 腳本實現(xiàn)FPS Controller .................. 316 參考文獻 ......................................... 319
你還可能感興趣
我要評論
|