Unity VR 虛擬現(xiàn)實完全自學教程
定 價:99 元
- 作者:邵偉
- 出版時間:2019/5/1
- ISBN:9787121363771
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP317.6
- 頁碼:256
- 紙張:
- 版次:01
- 開本:16開
本書是 VR 自學愛好者的一本入門書,全書共 16 章,全面講述了在制作 VR 應用程序的過程中所必備的軟/硬件知識。硬件層面以 HTC VIVE 為主要硬件平臺,同時介紹了兩款配合其使用的外部設備—— VIVE 追蹤器和 Leap Motion;軟件層面以制作 VR 應用程序的核心工作流程為主線,以 Unity 為游戲引擎,從 VR 交互原則、材質(zhì)、UI、編程開發(fā)、調(diào)試優(yōu)化等方面逐步展開介紹各工作環(huán)節(jié)的主要內(nèi)容。同時,本書輔以豐富的案例項目,重點介紹了 SteamVR、InteractionSystem、VRTK 等必備插件在實際項目中的使用方法,幫助讀者快速上手制作屬于自己的 VR 應用程序。本書適合對制作 VR 應用程序感興趣的人員,以及有志于從事 VR 軟件開發(fā)工作的人員閱讀,同時也適合院校及培訓虛擬現(xiàn)實機構(gòu)相關專業(yè)的師生參考。
邵偉,Unity 價值專家(UVP),公眾號“XR技術(shù)研習社”(ID:XRStudy)主理人,現(xiàn)居山東省淄博市,畢業(yè)于山東理工大學。淄博木子信息科技有限公司創(chuàng)始人,蠻牛教育特聘高級講師,著有《HTC VIVE房產(chǎn)項目實戰(zhàn)教程》、《HTC VIVE開發(fā)實例教程》、《VR寫實材質(zhì)技術(shù)實例教程》、《Substance Painter 2018基礎實例教程》等視頻課程,累計錄制視頻時長超過3000分鐘,線上及線下培訓學員總計超2000人,目前專注于VR/AR技術(shù)分享工作。李曄:,蠻牛教育講師,曾從事次世代美術(shù)、平面美術(shù)、前端程序、策劃、責任編輯等多個領域的不同工種,善于對接整合不同階段的技術(shù)需求,曾參與《輻射4》等大型游戲開發(fā)。
第 1 章 VR 行業(yè)概述 /1
1.1 VR 介紹 /1
1.2 VR 技術(shù)應用案例 /1
1.3 VR 技術(shù)當前面臨的挑戰(zhàn) / 5
1.3.1 硬件價格 / 5
1.3.2 運算及顯示能力 /5
1.3.3 交互 / 5
1.3.4 移動性 /6
1.3.5 內(nèi)容 / 7
1.3.6 小結(jié) / 7
第 2 章 Unity VR 概述 / 8
2.1 Unity VR / 8
2.1.1 圖形渲染 /8
2.1.2 真實物理引擎 / 9
2.1.3 多 VR 平臺原生支持 /9
2.1.4 豐富的資源 /10
2.1.5 對開發(fā)者友好 /10
2.1.6 不斷更新的 Unity 版本 / 11
2.2 使用 C#腳本進行 VR 交互開發(fā) /12
第 3 章 當前主流 VR 硬件 / 13
3.1 HTC VIVE / 13
3.2 Oculus Rift / 13
3.3 Gear VR / 14
3.4 Cardboard /14
3.5 Daydream 平臺 15
3.6 逐漸崛起的 VR 一體機 / 16
3.6.1 Oculus Go 和小米 VR 一體機 /17
3.6.2 HTC VIVE Focus /18
3.7 未來展望 /18
第 4 章 VR 應用程序開發(fā)工作流程 /20
4.1 資源準備 /20
4.2 模型優(yōu)化及重拓撲 /23
4.3 展 UV 的過程 / 24
4.4 材質(zhì)貼圖制作 /25
4.5 將資源導入 Unity / 25
4.6 導入開發(fā)工具包 /26
4.7 場景搭建 /26
4.8 設置光照環(huán)境 /27
4.9 交互開發(fā) /28
4.10 測試優(yōu)化 / 28
4.11 發(fā)布應用程序 / 28
4.12 常用開發(fā)工具 /29
第 5 章 VR 交互設計原則 / 36
5.1 設計必要的新手引導 /36
5.2 使用十字線(準星)/36
5.3 避免界面深度引起的疲勞感 /37
5.4 使用恒定的速度 /37
5.5 保持用戶在地面上 /38
5.6 保持頭部的跟蹤 /38
5.7 用光來引導用戶的注意力 /39
5.8 借助比例 /39
5.9 使用空間音頻 /40
5.10 充分使用反饋 /40
第 6 章 HTC VIVE 硬件 / 41
6.1 簡介 /41
6.2 產(chǎn)品特點 /41
6.3 VIVE PRO / 43
6.4 HTC VIVE 硬件拆解結(jié)構(gòu) / 44
6.4.1 頭顯 /44
6.4.2 控制器 /45
6.5 HTC VIVE 控制器按鍵名稱 / 46
6.6 HTC VIVE 定位原理/ 47
6.7 Inside-Out 與 Out-Inside 位置跟蹤技術(shù) / 47
6.7.1 Outside-In 跟蹤技術(shù) /48
6.7.2 Inside-Out 跟蹤技術(shù) / 48
6.8 HTC VIVE 的安裝 / 49
第 7 章 VR 中的 UI ./51
7.1 概述 /51
7.2 將 UI 容器轉(zhuǎn)換為世界空間坐標 / 52
7.3 VR 中的 UI 交互 /53
第 8 章 Unity VR 寫實材質(zhì) . 55
8.1 Unity 材質(zhì)基礎 / 55
8.2 基于物理的渲染理論 /56
8.3 PBR 材質(zhì)的優(yōu)勢 / 57
8.3.1 高品質(zhì)寫實級別材質(zhì)表現(xiàn) /58
8.3.2 為實時渲染而生 / 58
8.3.3 標準的材質(zhì)制作流程 /59
8.4 PBR 材質(zhì)主要貼圖類型 /59
8.4.1 顏色貼圖(Albedo/Basecolor Map)/59
8.4.2 金屬貼圖(Metallic Map) /60
8.4.3 光滑度貼圖(Roughness Map) /60
8.5 PBR 材質(zhì)制作軟件 / 61
8.5.1 Substance Designer /61
8.5.2 Substance Painter /65
8.5.3 Quixel Suite /66
8.5.4 Marmoset Toolbag /66
8.6 制作 PBR 椅子材質(zhì) /67
8.6.1 在 Substance Painter 中制作貼圖 /67
8.6.2 導出貼圖到 Unity /74
8.7 Substance in Unity 的使用 / 76
第 9 章 SteamVR /81
9.1 SteamVR 簡介 /81
9.1.1 SteamVR Runtime /81
9.1.2 SteamVR Plugin / 81
9.1.3 獲取控制器引用及按鍵輸入 /83
9.2 使用SteamVR Plugin實現(xiàn)與物體的交互 /84
9.3 InteractionSystem /89
9.3.1 InteractionSystem 核心模塊 / 89
9.3.2 使用 InteractionSystem 實現(xiàn)傳送 / 91
9.3.3 使用 InteractionSystem 實現(xiàn)與物體的交互 / 93
9.3.4 使用 InteractionSystem 實現(xiàn)與 UI 的交互 /95
9.4 需要注意的問題 . 96
第 10 章 使用 VRTK 進行交互開發(fā) /99
10.1 VRTK 簡介 /99
10.1.1 什么是 VRTK / 99
10.1.2 VRTK 能做什么 /99
10.1.3 為什么選擇 VRTK /100
10.1.4 未來版本 103
10.2 SteamVR Plugin、InteractionSystem 與 VRTK 的關系 /103
10.3 配置 VRTK /103
10.3.1 一般配置過程 /104
10.3.2 快速配置 VRTK/108
10.4 VRTK 中的指針 / 109
10.4.1 指針 /109
10.4.2 指針渲染器 /113
10.5 在 VRTK 中實現(xiàn)傳送 /115
10.5.1 VRTK 中的傳送類型 /115
10.5.2 限定傳送區(qū)域 /118
10.5.3 在 VR 場景中實現(xiàn)傳送 /119
10.6 使用 VRTK 實現(xiàn)與物體的交互 /121
10.6.1 概述 / 121
10.6.2 配置方法 / 122
10.6.3 VRTK 的抓取機制 / 127
10.7 VRTK 中的控制器高亮和振動 /129
10.7.1 控制器高亮 /129
10.7.2 控制器振動 /131
10.8 VRTK 中與 UI 的交互 / 132
10.9 實例:開槍射擊效果/ 134
10.10 實例:攀爬效果 / 140
10.11 實例:實現(xiàn)釋放自動吸附功能 / 143
第 11 章 將基于 PC 平臺的應用移植到 VR 平臺 / 148
11.1 項目移植分析 /148
11.2 初始化 VR 交互 /149
11.3 Player 的移植 / 150
11.4 設置道具為可交互對象 / 152
11.5 實現(xiàn)控制器與道具的交互邏輯 /154
11.6 修改 UI 渲染模式為 World Space / 156
11.7 玩家傷害閃屏效果 /157
11.8 根據(jù)報錯信息調(diào)整代碼 /158
11.9 游戲結(jié)束及重新開始 / 159
第 12 章 Leap Motion for VR /162
12.1 概述 /162
12.2 硬件準備 /163
12.3 軟件環(huán)境 /164
12.4 Leap Motion VR 初始開發(fā)環(huán)境 /164
12.5 替換 Leap Motion 在 VR 環(huán)境中的手部模型 /165
X Unity VR 虛擬現(xiàn)實完全自學教程
12.6 實現(xiàn)與 3D 物體的交互 / 167
12.7 實例:使用 Leap Motion 實現(xiàn)槍械的組裝 /171
第 13 章 VIVE Tracker 的使用 / 175
13.1 外觀結(jié)構(gòu) /175
13.2 使用場景 /176
13.3 初次使用 Tracker /177
13.4 使用 Tracker 作為控制器 / 178
13.5 使用 Tracker 與現(xiàn)實世界物體進行綁定 179
13.6 小結(jié) /181
第 14 章 Unity VR 游戲案例——《水果忍者 VR》原型開發(fā) /182
14.1 項目簡介 /182
14.2 初始化項目 / 182
14.3 配置武士刀 / 183
14.4 編寫水果生成邏輯 /185
14.5 實現(xiàn)切割水果的效果 /187
14.6 制作分數(shù)和游戲結(jié)束 UI /189
14.7 編寫計分、計時和游戲結(jié)束等邏輯 / 190
第 15 章 Unity VR 案例—— Tilt Brush 原型開發(fā) / 194
15.1 項目分析 /194
15.2 初始化項目并編寫腳本 /195
15.3 實現(xiàn)修改筆刷顏色功能 /197
15.4 擴展內(nèi)容:將繪制交互修改為 VRTK 版本 / 201
15.5 異常處理 /202
第16 章 Unity VR 性能優(yōu)化工具和方法 / 204
16.1 Unity Profiler / 204
16.2 Memory Profiler / 205
16.3 Frame Debugger / 205
16.4 優(yōu)化原則和措施 /206
16.4.1 LOD 技術(shù) /206
16.4.2 較少 Draw Call 數(shù)量 / 207
16.4.3 使用單通道立體渲染 / 208
16.4.4 使用 The Lab Renderer / 209
16.4.5 小結(jié) / 210
附錄A XR 技術(shù)詞匯解釋/ 211
附錄B Unity 編輯器基礎小貼士/ 217