《Unity 2017虛擬現實開發標準教程》是2019年9月人民郵電出版社出版的圖書,作者是Unity公司。
基本介紹
- 中文名:Unity 2017虛擬現實開發標準教程
- 作者:Unity公司
- ISBN:9787115507587
- 頁數:292頁
- 定價:108元
- 出版社:人民郵電出版社
- 出版時間:2019年9月
- 裝幀:平裝
- 開本:16開
內容簡介,圖書目錄,
內容簡介
Unity是一款虛擬現實開發軟體,功能強大,操作簡單,界面友好。使用Unity可以輕鬆實現各種虛擬現實素材的整合,如材質、UI、光照、模型、貼圖、動畫特效、音頻等,結合Unity完美的引擎和友好的程式開發平台,可以很容易製作出適合各種平台發布的虛擬現實套用產品。本書共設計了20 章內容,包含虛擬現實基礎知識、Unity 軟體編輯器基礎知識、材質技術、UI技術、光照技術、動畫/電影內容創作技術、濾鏡效果技術、音頻技術、主流硬體平台設備介紹,以及Unity虛擬現實開發參考案例、開發流程、注意原則、官方項目學習示例、全景視頻技術和在各硬體平台上的開發示範案例和項目性能最佳化等。在本書的第20章還剖析了一個目前使用較廣的地產室內項目,以便讀者能綜合書中所學知識,實際套用在具體項目中。
圖書目錄
第1章 虛擬現實基礎知識
1.1 什麼是虛擬現實 2
1.2 虛擬現實的發展歷史 2
1.3 虛擬現實的現狀 3
1.4 虛擬現實的未來 4
1.5 虛擬現實技術基礎知識 4
1.5.1 虛擬現實技術原理 4
1.5.2 虛擬現實常見術語 5
1.5.3 體驗虛擬現實過程中會遇到的挑戰 5
1.5.4 虛擬現實(VR)與增強現實(AR)的區別 6
第2章 Unity編輯器基礎知識
2.1 Unity產品介紹 8
2.1.1 Unity簡介 8
2.1.2 獲取Unity 9
2.2 Unity 編輯器學習頁 12
2.3 視圖 15
2.3.1 項目(Project)面板 15
2.3.2 場景(Scene)面板 16
2.3.3 遊戲(Game)面板 16
2.3.4 屬性(Inspector)面板 17
2.3.5 層級(Hierarchy)面板 17
2.4 Unity開發的常用工具 17
2.4.1 Visual Studio 18
2.4.2 Visual Studio Code 20
2.4.3 Git 22
2.4.4 Unity Collaborate 23
2.5 Unity 腳本基礎 26
2.5.1 概述 26
2.5.2 Unity 事件函式執行順序 26
2.5.3 Unity 事件系統 29
第3章 Unity在 VR 中的材質技術
3.1 基於物理的渲染理論(PBR) 32
3.1.1 PBR / PBS 概述 33
3.1.2 PBR 主要貼圖類型 34
3.2 Unity 材質基礎知識 36
3.2.1 概述 36
3.2.2 Standard Shader 36
3.3 使用 PBR 材質的環境設定 38
3.3.1 色彩空間(Color Space):Linear 與 Gamma 38
3.3.2 開啟攝像機HDR模式 39
3.4 Look Dev 和 PBR Material Validator 工具 39
3.4.1 Look Dev 39
3.4.2 PBR Material Validator 41
第4章 Unity 在 VR 中的 UI 技術
4.1 UGUI 系統簡介 43
4.2 VR 中的 UI 46
4.2.1 World Space UI 46
4.2.2 VR 中的 UI 互動 48
第5章 Unity 在 VR 中的光照技術
5.1 Unity 2017 的光照系統概述 50
5.2 主要光照管理工具 50
5.2.1 Lighting 面板 50
5.2.2 Light Explorer 51
5.3 全局照明(Global Illumination ) 51
5.4 光照模式(Lighting Modes) 52
5.4.1 實時模式和實時全局照明 53
5.4.2 混合模式和混合照明(Mixed Lighting) 54
5.4.3 Baked 模式和烘焙光照貼圖(Baked Lightmaps) 55
5.5 光照探頭(Light Probes) 58
5.6 VR 中的全局照明策略 59
5.7 The Lab Renderer 簡介 60
5.7.1 來自The Lab 的渲染器 60
5.7.2 The Lab Renderer 套用步驟 60
第6章 動畫/電影內容創作技術:Timeline
6.1 Timeline簡介 63
6.2 Timeline Asset 與 Timeline Instance 64
6.3 Timeline編輯器視窗 64
6.3.1 預覽和選擇Timeline 65
6.3.2 播放控制 66
6.3.3 軌道列表(Track List) 67
6.4 錄製卡通片段 68
6.4.1 錄製 68
6.4.2 轉換為卡通片段 69
6.4.3 使用曲線視圖 70
6.5 使用現存卡通片段 71
6.6 Playable Director組件 71
6.6.1 Playable Director 簡介 71
6.6.2 通過腳本控制Timeline 72
6.7 實例製作 72
6.7.1 為紅色坦克製作動畫 73
6.7.2 為綠色坦克製作動畫 74
6.7.3 使用腳本實現動畫邏輯 75
第7章 濾鏡效果技術集合:Post Processing Stack
7.1 概述 78
7.2 在項目中套用 Post Processing Stack 79
7.3 在 VR 中可用的 Post-Processing Stack 80
7.3.1 Anti-aliasing(抗鋸齒) 80
7.3.2 Ambient Occlusion(環境光遮蔽) 81
7.3.3 Depth of Field(景深) 81
7.3.4 Eye Adaptation(人眼調節/自動曝光) 81
7.3.5 Bloom(泛光) 82
7.3.6 Color Grading(顏色分級) 83
7.3.7 Chromatic Aberration(色差) 83
7.3.8 Grain (膠片顆粒) 84
7.3.9 Vignette(暈影) 84
7.3.10 User LUT (用戶自定義 LUT) 85
第8章 Unity 在 VR 中的音頻技術
8.1 概述 87
8.2 Unity Audio 基本元素 87
8.3 在 Unity 中使用空間音頻 89
8.4 環繞立體聲音頻 89
8.5 VR 空間化音頻開發工具 90
8.5.1 Google Resonance Audio 90
8.5.2 Oculus Spatializer Unity 91
第9章 主流 VR 硬體平台設備介紹
9.1 概述 94
9.2 HTC VIVE 94
9.3 Oculus Rift 95
9.4 PS VR 95
9.5 Windows Mixed Reality 96
9.6 Gear VR 96
9.7 Cardboard 97
9.8 Daydream 97
9.9 Oculus Go 和小米 VR 一體機 98
9.10 Unity 2017 對 VR 硬體平台的支持 99
第10章 用Unity 製作的 VR 參考案例
10.1 The Lab 101
10.2 Tilt Brush 101
10.3 Blocks 101
10.4 Job Simulator 102
第11章 用Unity 製作 VR 內容的工作流程
11.1 概述 104
11.2 資源準備 104
11.3 將資源導入Unity 106
11.4 場景構建 108
11.5 在 Unity 中啟用 VR 支持 109
11.6 導入VR開發工具包 110
11.7 互動開發 110
11.8 測試及最佳化 110
11.9 導出項目 111
第12章 VR 互動設計需要注意的原則
12.1 聲音相關 113
12.2 移動相關 113
12.3 互動相關 115
12.4 控制器相關 116
12.5 環境相關 117
12.6 UI相關 118
12.7 用戶定位和位置追蹤相關 118
第13章 示例項目學習:VR Samples解析
13.1 概述 120
13.2 互動的實現 120
13.3 VR中的UI 126
13.4 互動體驗:基於時間進度的點擊 127
13.5 互動體驗:在VR場景中引導用戶視線 129
13.6 互動體驗:切換場景時的黑屏效果 130
第14章 Unity 中的全景視頻技術
14.1 全景視頻 134
全景視頻的製作方式 134
14.2 Video Player組件 135
14.3 實例:在 VR 中觀看全景視屏 136
14.3.1 在場景中播放全景視頻 136
14.3.2 在 VR 中觀看全景視頻 138
14.3.3 添加 CG 內容 138
第15章 HTC VIVE開發
15.1 HTC VIVE硬體介紹 141
15.1.1 頭顯硬體規格 142
15.1.2 VIVE實現跟蹤的原理 142
15.1.3 控制器按鍵介紹 143
15.1.4 HTC VIVE 開發推薦 PC 規格 144
15.2 OpenVR 145
15.3 SteamVR 145
15.3.1 安裝SteamVR 145
15.3.2 SteamVR Unity Plugin 146
15.3.3 鍵值映射及獲取按鍵輸入 151
15.3.4 使用SteamVR Plugin實現與物體互動 152
15.3.5 SteamVR互動系統——Interaction System 156
15.4 VRTK使用指南 174
15.4.1 VRTK外掛程式簡介 174
15.4.2 獲取VRTK 176
15.4.3 VRTK的配置 177
15.4.4 VRTK中的指針 181
15.4.5 VRTK中的傳送 184
15.4.6 使用VRTK實現與物體的互動 192
15.4.7 VRTK中的高亮和振動 202
15.4.8 VRTK中與UI的互動 205
15.4.9 實例:實現攀爬功能 209
15.4.10 實例:實現開關門操作 210
15.4.11 頭顯穿透模型的用戶體驗最佳化 213
第16章 Gear VR開發
16.1 Gear VR硬體環境準備 216
Gear VR 手柄控制器介紹 216
16.2 Gear VR開發環境配置 217
16.2.1 軟體準備 217
16.2.2 Unity編輯器設定 221
16.2.3 Oculus Utilities for Unity 223
16.3 Gear VR的輸入 225
16.3.1 手柄輸入 225
16.3.2 頭顯輸入 226
16.4 第一個 Gear VR 套用 227
16.4.1 概述 227
16.4.2 初始化項目 227
16.4.3 構建場景 228
16.4.4 控制物體移動 230
16.4.5 發布Gear VR項目 231
16.5 Gear VR 開發最佳化原則 231
第17章 Cardboard開發
17.1 Cardboard硬體準備 233
17.2 Cardboard開發環境配置 233
17.2.1 設定 Player Settings 參數 233
17.2.2 下載並導入Google VR SDK for Unity 234
17.2.3 在Unity編輯器中預覽應用程式 234
17.3 第一個Cardboard套用 235
第18章 VR社交
18.1 Unity 網路引擎 243
18.1.1 概述 243
18.1.2 High Level API 243
18.1.3 Unity Multiplayer服務 243
18.1.4 HLAPI 組件 244
18.2 多人聯網VR開發(基於Cardboard平台) 248
18.2.1 概述 248
18.2.2 初始化環境 248
18.2.3 添加網路管理組件 249
18.2.4 製作玩家預製體並註冊 250
18.2.5 自定義網路連線邏輯 251
18.2.6 處理用戶輸入 253
18.2.7 同步用戶狀態 254
18.2.8 使用百度語音接口實現語音轉文字功能 255
第19章 VR 項目性能最佳化
19.1 VR 性能最佳化最佳實踐 264
19.1.1 概述 264
19.1.2 Unity VR 性能最佳化建議 264
19.1.3 Unity VR 性能最佳化技術 267
19.2 Unity性能分析工具 272
19.2.1 Profiler 272
19.2.2 Frame Debugger 275
19.2.3 Memory Profiler 276
19.3 其他 VR 硬體平台調試工具 277
第20章 綜合項目分析——以地產室內項目為例
20.1 項目簡介 280
20.2 初始化VR場景設定 280
20.3 添加按鍵提示 281
20.4 顯示家具提示信息 282
20.5 查看戶型圖 283
20.6 切換家具 286
20.7 切換地面材質 288