Unity AR/VR開發(fā):實(shí)戰(zhàn)高手訓(xùn)練營
定 價(jià):109 元
叢書名:游戲開發(fā)與設(shè)計(jì)技術(shù)叢書
- 作者:王寒,張義紅,王少笛
- 出版時(shí)間:2021/7/1
- ISBN:9787111684992
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP317.6
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
全書內(nèi)容分為三篇。
1.入門篇,針對(duì)完全沒有任何Unity開發(fā)經(jīng)驗(yàn)的開發(fā)者。
學(xué)完本部分內(nèi)容后,開發(fā)者應(yīng)該對(duì)Unity的基本知識(shí)有所了解,包括常見3D引擎的對(duì)比分析以及Unity的基本使用。
2.進(jìn)階篇,涵蓋AR/VR開發(fā)所必須掌握的Unity3d技能以及一個(gè)綜合實(shí)戰(zhàn)案例。
3.高級(jí)篇,主要通過實(shí)戰(zhàn)案例的開發(fā)學(xué)習(xí)來掌握各種主流AR/VR設(shè)備平臺(tái)的知識(shí)和技能。
學(xué)完本部分內(nèi)容后,開發(fā)者應(yīng)對(duì)主流的AR/VR設(shè)備平臺(tái)及其開發(fā)工具有充分的了解和認(rèn)識(shí)。
與此同時(shí),開發(fā)者還應(yīng)通過實(shí)戰(zhàn)項(xiàng)目熟練掌握幾個(gè)主流AR/VR設(shè)備平臺(tái)的開發(fā)知識(shí),如HTC Vive,Oculus Quest,Valve Index、Google Glass、Magic Leap、Noitom動(dòng)作捕捉系統(tǒng)和微軟HoloLens平臺(tái)等。
此外,開發(fā)者還需要掌握主流的AR開發(fā)SDK,特別是使用Vuforia SDK和AR Foundation(支持ARKit/ARCore)開發(fā)AR應(yīng)用。
2014年3月,F(xiàn)acebook宣布以20億美元收購虛擬現(xiàn)實(shí)設(shè)備Oculus Rift的制造商Oculus VR,沉寂已久的虛擬現(xiàn)實(shí)行業(yè)重新進(jìn)入人們的視野。
2015年1月,微軟黑科技產(chǎn)品MR(混合現(xiàn)實(shí))頭顯HoloLens與Windows 10系統(tǒng)同時(shí)發(fā)布。
在2017年6月的WWDC上,蘋果重磅推出了ARKit,這讓iOS一夜之間成為的AR平臺(tái),更讓虛擬現(xiàn)實(shí)進(jìn)入更多開發(fā)者的視野。同年在Google I/O大會(huì)上,Google推出了與ARKit對(duì)標(biāo)的ARCore,這延續(xù)了智能手機(jī)時(shí)代的激烈競爭態(tài)勢(shì)。
在接下來的幾年,因?yàn)橄嚓P(guān)技術(shù)發(fā)展的滯后,虛擬現(xiàn)實(shí)行業(yè)陷入了長達(dá)三年的暗黑時(shí)代。
但進(jìn)入2020年之后,5G技術(shù)在全球,特別是在中國得到了廣泛的應(yīng)用。作為5G技術(shù)的應(yīng)用場(chǎng)景之一,AR/VR內(nèi)容的需求再次爆發(fā),這也讓該行業(yè)的從業(yè)人員為之一振。以蘋果為首的眾多科技公司在這一領(lǐng)域的技術(shù)耕耘終于得到了回報(bào)。iPad Pro和iPhone 12 Pro系列中均搭配了全新的LiDAR激光掃描雷達(dá),其他國內(nèi)外廠商也紛紛跟進(jìn)。5G和激光掃描技術(shù)的迅速商用讓虛擬現(xiàn)實(shí)行業(yè)走出陰霾,迎來春天的黎明。
為什么要寫這本書
隨著越來越多的大公司和創(chuàng)業(yè)團(tuán)隊(duì)進(jìn)入AR/VR領(lǐng)域,他們對(duì)AR/VR開發(fā)人才的需求也越來越大。
在面向AR/VR的開發(fā)工具中,Unity3D無疑是目前支持平臺(tái)廣、擴(kuò)展性強(qiáng)的一款工具。
無論有無Unity開發(fā)經(jīng)驗(yàn),開發(fā)者都迫切需要一本Unity AR/VR書帶領(lǐng)他們跨過道坎,從而真正了解和掌握AR/VR開發(fā)。
本書涵蓋Unity3D的基礎(chǔ)入門知識(shí)、進(jìn)行AR/VR開發(fā)必須掌握的Unity3D技能以及在不同的AR/VR平臺(tái)進(jìn)行實(shí)際開發(fā)所需要掌握的知識(shí)。
與《Unity AR/VR開發(fā):從新手到專家》的區(qū)別
本書在《Unity AR/VR開發(fā):從新手到專家》(以下簡稱為《從新手到專家》)的基礎(chǔ)上做了不小的更新和調(diào)整。
1)考慮到本書讀者的主要興趣點(diǎn)在于學(xué)習(xí)AR/VR開發(fā),因此對(duì)Unity基礎(chǔ)技能的內(nèi)容適當(dāng)做了刪減和優(yōu)化,以突出全書的重點(diǎn)。比如將《從新手到專家》中第4~6章的內(nèi)容合并為一章,刪減了第12章(數(shù)據(jù)存取與性能優(yōu)化)和第14章(Unity網(wǎng)絡(luò)編程)。
2)考慮到市場(chǎng)中AR/VR開發(fā)的巨大變化,刪除了《從新手到專家》中的第15章(跨HTC Vive和Oculus Rift平臺(tái)開發(fā))、第16章(Google Daydream平臺(tái)開發(fā))、第18章(Wikitude AR開發(fā))、第19章(HoloLens開發(fā)),新增了第10章(實(shí)戰(zhàn):基于Oculus Quest設(shè)備的Beat Music音樂節(jié)奏游戲)、第11章(實(shí)戰(zhàn):使用動(dòng)捕技術(shù)實(shí)現(xiàn)虛擬直播)、第13章(實(shí)戰(zhàn):使用AR Foundation開發(fā)跨平臺(tái)AR塔防游戲)和第14章(實(shí)戰(zhàn):開發(fā)AR汽車引擎教育應(yīng)用)等內(nèi)容。
3)縮減了Unity基礎(chǔ)和核心技能章節(jié)中的綜合實(shí)戰(zhàn)案例,增加并擴(kuò)展了AR/VR開發(fā)章節(jié)中的實(shí)戰(zhàn)案例。
4)《從新手到專家》的內(nèi)容基于Unity 2018.x版本,本書的內(nèi)容則大部分基于Unity 2020.x版本,部分AR/VR章節(jié)則基于Unity 2019.4.x(LTS)版本。
在內(nèi)容設(shè)計(jì)上,本書希望讀者在掌握Unity的核心技能后,能快速進(jìn)入對(duì)AR/VR理論和實(shí)戰(zhàn)技能的學(xué)習(xí),從而掌握在不同AR/VR平臺(tái)上設(shè)計(jì)、開發(fā)產(chǎn)品的知識(shí)和技能。
本書特色
目前,市面上有關(guān)AR/VR開發(fā)的圖書相對(duì)較少,現(xiàn)有的圖書主要針對(duì)有經(jīng)驗(yàn)的開發(fā)者,而本書的內(nèi)容對(duì)于零基礎(chǔ)的開發(fā)者也十分友好,從基礎(chǔ)概念到使用Unity進(jìn)行AR/VR開發(fā),書中都有介紹。
與只重視概念講解,不重視實(shí)際操作的Unity開發(fā)圖書不同,本書從基本知識(shí)到進(jìn)階技能再到AR/VR實(shí)戰(zhàn)開發(fā),每一部分都會(huì)融入大量的實(shí)戰(zhàn)講解。
有經(jīng)驗(yàn)的Unity開發(fā)者可以直接學(xué)習(xí)AR/VR實(shí)戰(zhàn)項(xiàng)目的相關(guān)內(nèi)容。針對(duì)Oculus Quest、Vuforia、AR Foundation(涵蓋ARKit/ARCore)、全身動(dòng)捕技術(shù)平臺(tái)、VoxelSense等幾個(gè)主流的AR/VR平臺(tái)和SDK,本書都會(huì)通過實(shí)戰(zhàn)項(xiàng)目進(jìn)行講解。
讀者對(duì)象
本書適合以下人員閱讀:
對(duì)AR/VR開發(fā)感興趣,但是之前并沒有任何Unity3D開發(fā)經(jīng)驗(yàn)的初學(xué)者。
對(duì)AR/VR開發(fā)感興趣,并且已經(jīng)具備一定Unity3D開發(fā)經(jīng)驗(yàn)的開發(fā)者。
對(duì)AR/VR開發(fā)感興趣,想了解項(xiàng)目開發(fā)整體流程的管理者或團(tuán)隊(duì)成員。
如何閱讀本書
全書從邏輯上分為三部分,共14章。
部分介紹的是Unity開發(fā)基礎(chǔ)知識(shí)(第1~3章),針對(duì)所有對(duì)虛擬現(xiàn)實(shí)和Unity開發(fā)感興趣的初學(xué)者。
學(xué)完本部分內(nèi)容后,讀者應(yīng)該對(duì)虛擬現(xiàn)實(shí)行業(yè)、技術(shù)基礎(chǔ)、產(chǎn)品及開發(fā)工具有所了解,包括虛擬現(xiàn)實(shí)的基本概念、虛擬現(xiàn)實(shí)的技術(shù)基礎(chǔ)、主流的虛擬現(xiàn)實(shí)設(shè)備、主流的虛擬現(xiàn)實(shí)開發(fā)工具等。
此外,讀者還應(yīng)該對(duì)Unity的基本知識(shí)有所了解,包括常見的3D引擎以及Unity的基本使用,比如界面、基本概念(物體、組件等)、C#編程。
第1章 對(duì)虛擬現(xiàn)實(shí)行業(yè)做了提綱挈領(lǐng)的介紹,從整體的角度介紹了虛擬現(xiàn)實(shí)的相關(guān)概念以及核心技術(shù),即立體顯示技術(shù)、場(chǎng)景建模技術(shù)和自然交互技術(shù)。此外,還介紹了當(dāng)前主流的虛擬現(xiàn)實(shí)設(shè)備、開發(fā)工具和SDK以及虛擬現(xiàn)實(shí)應(yīng)用開發(fā)的基本流程與注意事項(xiàng)。
第2章 對(duì)主流的3D游戲引擎進(jìn)行對(duì)比分析,說明使用Unity進(jìn)行AR/VR開發(fā)的優(yōu)缺點(diǎn),并簡單介紹Unity的發(fā)展史、安裝、授權(quán)與服務(wù)。此外,還對(duì)Unity的編輯器做了簡單介紹,并著重介紹了Unity中的核心概念、
前言
部分 Unity開發(fā)基礎(chǔ)知識(shí)
第1章 虛擬現(xiàn)實(shí)開發(fā)技術(shù)入門2
1.1 什么是虛擬現(xiàn)實(shí)2
1.2 虛擬現(xiàn)實(shí)的技術(shù)基礎(chǔ)3
1.2.1 立體顯示技術(shù)4
1.2.2 3D建模技術(shù)5
1.2.3 自然交互技術(shù)6
1.3 主流的虛擬現(xiàn)實(shí)設(shè)備7
1.3.1 Oculus 系列8
1.3.2 HTC VIVE系列9
1.3.3 Sony PlayStation VR11
1.3.4 其他VR設(shè)備12
1.3.5 Microsoft HoloLens12
1.3.6 AR眼鏡設(shè)備12
1.4 主流的虛擬現(xiàn)實(shí)開發(fā)工具13
1.4.1 虛擬現(xiàn)實(shí)開發(fā)平臺(tái)簡介13
1.4.2 第三方工具和SDK14
1.5 虛擬現(xiàn)實(shí)應(yīng)用開發(fā)的基本流程和注意事項(xiàng)16
1.5.1 基本流程16
1.5.2 注意事項(xiàng)18
1.6 本章小結(jié)19
第2章 你人生的款Unity3D游戲20
2.1 常用3D游戲引擎介紹20
2.1.1 什么是游戲引擎20
2.1.2 游戲引擎架構(gòu)基礎(chǔ)21
2.1.3 主流3D引擎對(duì)比分析28
2.2 Unity的授權(quán)、服務(wù)與安裝29
2.2.1 Unity的授權(quán)類型和服務(wù)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 場(chǎng)景43
2.4.2 游戲?qū)ο?4
2.4.3 組件44
2.4.4 預(yù)設(shè)體45
2.5 實(shí)戰(zhàn)項(xiàng)目:《夢(mèng)幻天堂》游戲的設(shè)計(jì)與實(shí)現(xiàn)45
2.5.1 《夢(mèng)幻天堂》的策劃與設(shè)計(jì)45
2.5.2 創(chuàng)建一個(gè)新項(xiàng)目46
2.5.3 搭建游戲場(chǎng)景47
2.5.4 添加游戲角色50
2.5.5 預(yù)覽游戲效果52
2.5.6 在Windows平臺(tái)編譯運(yùn)行52
2.5.7 在Android平臺(tái)編譯運(yùn)行53
2.5.8 在iOS平臺(tái)編譯運(yùn)行55
2.6 本章小結(jié) 56
第3章 無往不利:在Unity中使用C#進(jìn)行編程57
3.1 游戲腳本語言概述57
3.1.1 游戲腳本語言的誕生57
3.1.2 Unity3D所使用的腳本語言58
3.1.3 C#的開發(fā)環(huán)境58
3.2 C#的基本語法和使用58
3.2.1 變量和數(shù)據(jù)類型58
3.2.2 表達(dá)式與運(yùn)算符61
3.2.3 流程控制68
3.2.4 函數(shù)71
3.2.5 類、對(duì)象和方法74
3.3 Unity的腳本系統(tǒng)77
3.3.1 創(chuàng)建腳本77
3.3.2 事件函數(shù)79
3.4 本章小結(jié)82
第二部分 Unity開發(fā)核心技能
第4章 創(chuàng)建一個(gè)虛擬的新世界84
4.1 創(chuàng)建基礎(chǔ)的游戲場(chǎng)景84
4.1.1 Unity中的地形引擎84
4.1.2 基本幾何體的使用92
4.1.3 添加天空盒93
4.2 創(chuàng)建Unity之外的游戲資源94
4.2.1 3D模型、材質(zhì)和動(dòng)畫的創(chuàng)建工具94
4.2.2 音效創(chuàng)建工具97
4.2.3 其他資源創(chuàng)建工具98
4.3 導(dǎo)入外部的游戲資源98
4.3.1 2D圖像文件的導(dǎo)入和設(shè)置99
4.3.2 3D模型的導(dǎo)入和設(shè)置99
4.3.3 3D動(dòng)畫的導(dǎo)入和設(shè)置100
4.3.4 音頻和視頻的導(dǎo)入和設(shè)置101
4.3.5 Unity資源包的導(dǎo)入和導(dǎo)出101
4.4 Unity光照系統(tǒng)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 粒子系統(tǒng)117
4.5.1 粒子系統(tǒng)簡介117
4.5.2 Shuriken粒子系統(tǒng)118
4.6 著色器120
4.6.1 著色器簡介120
4.6.2 Unity中的標(biāo)準(zhǔn)著色器121
4.6.3 創(chuàng)建自定義的著色器129
4.6.4 Shader Graph133
4.7 后期處理135
4.7.1 Post Processing簡介135
4.7.2 如何在Unity項(xiàng)目中添加Post Processing136
4.8 本章小結(jié)140
第5章 游戲中的UI系統(tǒng)141
5.1 Unity中的UI系統(tǒng)簡介141
5.2 UGUI中的靜態(tài)視覺元素142
5.2.1 Canvas142
5.2.2 Image144
5.2.3 Text147
5.2.4 TextMeshPro148
5.3 交互UI對(duì)象149
5.3.1 Button 150
5.3.2 Toggle154
5.3.3 Slider156
5.3.4 其他交互控件159
5.4 本章小結(jié)159
第6章 讓角色活靈活現(xiàn):Unity中的動(dòng)畫系統(tǒng)160
6.1 Unity動(dòng)畫系統(tǒng)概述160
6.2 Legacy動(dòng)畫系統(tǒng)概覽160
6.3 Mecanim動(dòng)畫系統(tǒng)概覽161
6.3.1 Mecanim動(dòng)畫系統(tǒng)的特性161
6.3.2 Mecanim動(dòng)畫系統(tǒng)中的核心概念161
6.3.3 Blend Tree163
6.3.4 Retarget和Avatar164
6.3.5 Mecanim動(dòng)畫系統(tǒng)的工作流程164
6.4 Mecanim動(dòng)畫系統(tǒng)的使用165
6.5 本章小結(jié)170
第7章 簡單的游戲AI:Nav Mesh尋路系統(tǒng)171
7.1 Unity尋路系統(tǒng)概述171
7.2 Nav Mesh烘焙設(shè)置175
7.3 添加障礙物:Nav Mesh Obstacle179
7.4 穿越障礙物:Off Mesh Link180
7.5 本章小結(jié)181
第8章 真實(shí)世界的法則:物理引擎182
8.1 物理引擎概述182
8.2 Unity物理引擎的核心構(gòu)成183
8.2.1 Rigidbody183
8.2.2 Collider189
8.2.3 Raycast196
8.3 本章小結(jié)198
第9章 且聽風(fēng)吟:音樂和音效199
9.1 Unity Audio系統(tǒng)概述199
9.2 Audio Source200
9.2.1 Aud