Unity AR/VR 開發:實戰高手訓練營

王寒,張義紅,王少笛

  • 出版商: 機械工業
  • 出版日期: 2021-08-01
  • 售價: $654
  • 貴賓價: 9.5$621
  • 語言: 簡體中文
  • 頁數: 384
  • 裝訂: 平裝
  • ISBN: 7111684990
  • ISBN-13: 9787111684992
  • 相關分類: 遊戲引擎 Game-engineVR/AR
  • 立即出貨 (庫存 < 4)

買這商品的人也買了...

商品描述

全書內容分為三篇。
1入門篇,針對完全沒有任何Unity開發經驗的開發者。
學完本部分內容後,開發者應該對Unity的基本知識有所了解,
包括常見3D引擎的對比分析以及Unity的基本使用。
2進階篇,涵蓋AR/VR開發所必須掌握的Unity3d技能以及一個綜合實戰案例。
3高級篇,主要通過實戰案例的開發學習來掌握各種主流AR/VR設備平台的知識和技能。

學完本部分內容後,開發者應對主流的AR/VR設備平台及其開發工具有充分的了解和認識。
與此同時,開發者還應通過實戰項目熟練掌握幾個主流AR/VR設備平台的開發知識,
如HTC Vive,Oculus Quest,Valve Index、Google Glass、Magic Leap、Noitom動作捕捉系統和微軟HoloLens平台等。
此外,開發者還需要掌握主流的AR開發SDK,
特別是使用Vuforia SDK和AR Foundation(支持ARKit/ARCore)開發AR應用。

作者簡介

王寒:資深蘋果平台開發者、國內較早的iOS與VR/AR應用開發者、騰訊課堂講師、知乎專欄“靈貓學編程”作者、蠻牛遊戲開發專欄作者。
著有《Cocos2D權威指南》《虛擬現實:引領未來的人機交互革命》《Unity AR/VR開發:從新手到專家》等書。
2013年開始接觸AR/VR技術,對主流遊戲引擎及VR/AR交互技術有一定的研究,包括Unity3D、Unreal4、ARKit、ARCore等,目前已獲得數個相關領域的技術專利,並在申請和動捕及多感知人機交互相關的技術專利。
長期負責虛擬現實相關項目的內容開發和技術培訓,如基於VR/AR平台(HTC VIVE、Oculus、HoloLens和ARKit)開發的教育類應用Project Minsky、未來教室、Cute Mimi等。


張義紅:香港理工大學博士,東華大學信息學院副院長、副研究員,主要研究方向為增強現實、圖像處理與模式識別。


王少笛:魔琺科技技術負責人、虛擬數字人探索者、國內首批虛擬現實愛好者、知乎專欄“動作捕捉技術”作者。
曾任職於賽隆空間科技,擔任產品設計與開發總負責人,主要面向市場主流設備(HTC VIVE、Oculus、Hololens等)開發教育類相關應用,目前已上線的產品有Project Minsky、未來教室、消防安全VR版等。

目錄大綱

前言
第一部分 Unity開發基礎知識
第1章 虛擬現實開發技術入門2
1.1 什麼是虛擬現實2
1.2 虛擬現實的技術基礎3
1.2.1 立體顯示技術4
1.2.2 3D建模技術5
1.2.3 自然交互技術6
1.3 主流的虛擬現實設備7
1.3.1 Oculus 系列8
1.3.2 HTC VIVE系列9
1.3.3 Sony PlayStation VR11
1.3.4 其他VR設備12
1.3.5 Microsoft HoloLens12
1.3.6 AR眼鏡設備12
1.4 主流的虛擬現實開發工具13
1.4.1 虛擬現實開發平台簡介13
1.4.2 第三方工具和SDK14
1.5 虛擬現實應用開發的基本流程和注意事項16
1.5.1 基本流程16
1.5.2 注意事項18
1.6 本章小結19

第2章 你人生的第一款Unity3D遊戲20
2.1 常用3D遊戲引擎介紹20
2.1.1 什麼是遊戲引擎20
2.1.2 遊戲引擎架構基礎21
2.1.3 主流3D引擎對比分析28
2.2 Unity的授權、服務與安裝29
2.2.1 Unity的授權類型和服務29
2.2.2 Unity的安裝29
2.3 Unity編輯器入門34
2.3.1 界面佈局34
2.3.2 Unity的工具欄38
2.3.3 頂部菜單欄41
2.4 Unity3D中的核心概念43
2.4.1 場景43
2.4.2 遊戲對象44
2.4.3 組件44
2.4.4 預設體45
2.5 實戰項目:《夢幻天堂》遊戲的設計與實現45
2.5.1 《夢幻天堂》的策劃與設計45
2.5.2 創建一個新項目46
2.5.3 搭建遊戲場景47
2.5.4 添加遊戲角色50
2.5.5 預覽遊戲效果52
2.5.6 在Windows平台編譯運行52
2.5.7 在Android平台編譯運行53
2.5.8 在iOS平台編譯運行55
2.6 本章小結 56

第3章 無往不利:在Unity中使用C#進行編程57
3.1 遊戲腳本語言概述57
3.1.1 遊戲腳本語言的誕生57
3.1.2 Unity3D所使用的腳本語言58
3.1.3 C#的開發環境58
3.2 C#的基本語法和使用58
3.2.1 變量和數據類型58
3.2.2 表達式與運算符61
3.2.3 流程控制68
3.2.4 函數71
3.2.5 類、對象和方法74
3.3 Unity的腳本系統77
3.3.1 創建腳本77
3.3.2 事件函數79
3.4 本章小結82

第二部分 Unity開發核心技能
第4章 創建一個虛擬的新世界84
4.1 創建基礎的遊戲場景84
4.1.1 Unity中的地形引擎84
4.1.2 基本幾何體的使用92
4.1.3 添加天空盒93
4.2 創建Unity之外的遊戲資源94
4.2.1 3D模型、材質和動畫的創建工具94
4.2.2 音效創建工具97
4.2.3 其他資源創建工具98
4.3 導入外部的遊戲資源98
4.3.1 2D圖像文件的導入和設置99
4.3.2 3D模型的導入和設置99
4.3.3 3D動畫的導入和設置100
4.3.4 音頻和視頻的導入和設置101
4.3.5 Unity資源包的導入和導出101
4.4 Unity光照系統102
4.4.1 燈光組件簡介103
4.4.2 常見的光源類型103
4.4.3 燈光組件屬性簡介105
4.4.4 全局光照109
4.4.5 烘焙109
4.4.6 Lightmap的使用111
4.4.7 Light Probe的使用112
4.4.8 Reection Probe的使用114
4.5 粒子系統117
4.5.1 粒子系統簡介117
4.5.2 Shuriken粒子系統118
4.6 著色器120
4.6.1 著色器簡介120
4.6.2 Unity中的標準著色器121
4.6.3 創建自定義的著色器129
4.6.4 Shader Graph133
4.7 後期處理135
4.7.1 Post Processing簡介135
4.7.2 如何在Unity項目中添加Post Processing136
4.8 本章小結140

第5章 遊戲中的UI系統141
5.1 Unity中的UI系統簡介141
5.2 UGUI中的靜態視覺元素142
5.2.1 Canvas142
5.2.2 Image144
5.2.3 Text147
5.2.4 TextMeshPro148
5.3 交互UI對象149
5.3.1 Button 150
5.3.2 Toggle154
5.3.3 Slider156
5.3.4 其他交互控件159
5.4 本章小結159

第6章 讓角色活靈活現:Unity中的動畫系統160
6.1 Unity動畫系統概述160
6.2 Legacy動畫系統概覽160
6.3 Mecanim動畫系統概覽161
6.3.1 Mecanim動畫系統的特性161
6.3.2 Mecanim動畫系統中的核心概念161
6.3.3 Blend Tree163
6.3.4 Retarget和Avatar164
6.3.5 Mecanim動畫系統的工作流程164
6.4 Mecanim動畫系統的使用165
6.5 本章小結170

第7章 最簡單的遊戲AI:Nav Mesh尋路系統171
7.1 Unity尋路系統概述171
7.2 Nav Mesh烘焙設置175
7.3 添加障礙物:Nav Mesh Obstacle179
7.4 穿越障礙物:Off Mesh Link180
7.5 本章小結181

第8章 真實世界的法則:物理引擎182
8.1 物理引擎概述182
8.2 Unity物理引擎的核心構成183
8.2.1 Rigidbody183
8.2.2 Collider189
8.2.3 Raycast196
8.3 本章小結198

第9章 且聽風吟:音樂和音效199
9.1 Unity Audio系統概述199
9.2 Audio Source200
9.2.1 Audio Clip200
9.2.2 在Unity中播放音頻201
9.2.3 Audio Listener203
9.3 3D音效203
9.4 實戰:通過腳本播放音效204
9.5 Audio Reverb Zone206
9.6 本章小結207

第三部分 Unity AR/VR開發實戰
第10章 實戰:基於Oculus Quest設備的Beat Music音樂節奏遊戲210
10.1 Oculus Quest內容平台簡介210
10.1.1 Oculus Store平台210
10.1.2 SIDEQUEST平台211
10.2 創建你的第一個Oculus Quest項目211
10.2.1 開始前的準備211
10.2.2 創建Oculus Quest項目並導入資源212
10.2.3 添加OVRCameraRig214
10.2.4 完成項目的其他設置216
10.2.5 在Oculus Quest設備上編譯運行224
10.3 Beat Music遊戲的策劃和設計230
10.4 Beat Music遊戲的實現230
10.4.1 創建項目並進行開發和測試環境的搭建230
10.4.2 創建遊戲場景230
10.4.3 通過按壓按鈕實現場景切換233
10.4.4 在主場景中實現類似切西瓜的效果238
10.4.5 添加控制器的震動效果242
10.4.6 計算玩家的得分243
10.4.7 添加背景音樂和音效247
10.4.8 完善遊戲並測試248
10.5 將游戲發佈到Oculus Store或SIDEQUEST249
10.6 本章小結252

第11章 實戰:使用動捕技術實現虛擬直播253
11.1 動捕技術發展史253
11.1.1 動捕的誕生253
11.1.2 百家爭鳴的動捕時代255
11.1.3 主流的動捕技術原理257
11.1.4 混合動捕261
11.2 光慣混合動捕原理262
11.2.1 光慣混合技術的緣起262
11.2.2 動捕數據解析262
11.3 Perception Neuron Studio 光慣混合動捕設備的使用263
11.3.1 軟件安裝與配置264
11.3.2 純慣模式動捕267
11.4 動捕數據後期處理269
11.4.1 使用動捕軟件進行動捕數據初修270
11.4.2 重定向272
11.4.3 動捕數據的實時傳輸275
11.5 實戰:用慣性動捕開發虛擬現實項目279
11.5.1 開始前的準備279
11.5.2 創建新項目並導入資源280
11.5.3 使用動捕文件驅動模型282
11.5.4 使用動捕數據實時驅動模型285
11.5.5 虛擬形象摳綠288
11.5.6 添加真實場景並測試292
11.6 本章小結293

第12章 實戰:使用Unity和Vuforia SDK開發iWatch AR應用294
12.1 Vuforia SDK 簡介294
12.1.1 什麼是Vuforia294
12.1.2 Vuforia的功能模塊簡介295
12.1.3 Vuforia的授權類型295
12.1.4 Vuforia的工具和資源295
12.1.5 Vuforia支持的平台296
12.2 你的第一款Vuforia AR應用297
12.2.1 開始前的準備297
12.2.2 創建項目並安裝Vuforia298
12.2.3 配置項目並進行測試299
12.3 iWatch手錶試戴AR應用的策劃308
12.4 iWatch 手錶試戴AR應用的實現308
12.4.1 創建項目並導入所需資源308
12.4.2 創建並導入圖像識別目標數據庫309
12.4.3 設置Image Target310
12.4.4 添加手錶的3D模型311
12.4.5 設置手部遮擋312
12.4.6 添加更換手錶的UI312
12.4.7 添加用於切換手錶的代碼313
12.4.8 編譯運行315
12.5 將游戲應用發佈到 App Store和安卓應用市場315
12.6 本章小結315

第13章 實戰:使用AR Foundation開發跨平台AR塔防遊戲316
13.1 AR Foundation簡介316
13.2 iOS ARKit簡介318
13.2.1 什麼是ARKit318
13.2.2 ARKit的功能特性318
13.2.3 ARKit所支持的設備及平台319
13.3 ARCore簡介320
13.3.1 什麼是ARCore320
13.3.2 ARCore的功能特性320
13.3.3 ARCore所支持的設備322
13.4 你的第一款AR Foundation應用—Hello AR322
13.4.1 開始前的準備322
13.4.2 下載並打開官方示例項目323
13.4.3 下載並導入所需的資源包323
13.5 實戰:跨平台AR塔防遊戲ARDefense的設計與實現329
13.5.1 ARDefense的設計329
13.5.2 開始前的準備329
13.5.3 創建新項目並導入所需資源330
13.5.4 放置基地331
13.5.5 添加遊戲的核心邏輯機制333
13.5.6 外星飛船來襲336
13.5.7 向飛船發起攻擊340
13.5.8 在設備上進行測試342
13.6 本章小結342

第14章 實戰:開發AR汽車引擎教育應用343
14.1 VoxelSense桌面級交互平台開發概述343
14.1.1 VoxelTracker V4交互平台簡介344
14.1.2 VoxelTracker V4交互平台技術原理345
14.1.3 VoxelTracker V4空間交互筆交互詳解346
14.2 配置 VoxelTracker V4 的開發測試環境346
14.2.1 安裝VoxelTracker V4硬件346
14.2.2 安裝VoxelStation A600硬件349
14.2.3 下載並安裝VoxelSense SDK350
14.3 實戰:AR汽車引擎教育應用的設計與實現350
14.3.1 AR汽車引擎教育應用的設計351
14.3.2 創建項目並進行基本設置351
14.3.3 新建汽車引擎場景351
14.3.4 實現汽車引擎放大/縮小354
14.3.5 獲取內容幀數366
14.3.6 查看實際運行效果367
14.4 本章小結370