Unity3D平臺(tái)AR與VR開發(fā)快速上手
定 價(jià):59 元
- 作者:吳雁濤著
- 出版時(shí)間:2017/8/1
- ISBN:9787302477297
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP317.6
- 頁碼:308
- 紙張:膠版紙
- 版次:1
- 開本:16K
Unity3D是一款跨平臺(tái)3D、2D游戲及互動(dòng)內(nèi)容開發(fā)引擎,并有著廣泛的影響力。隨著近年增強(qiáng)現(xiàn)實(shí)和虛擬現(xiàn)實(shí)的興起,很多增強(qiáng)現(xiàn)實(shí)和虛擬現(xiàn)實(shí)的技術(shù)提供方都提供了基于Unity3D的SDK包?梢灶A(yù)見,市場(chǎng)對(duì)Unity3D人才的需求將會(huì)大大增加。
本書共分為14章,詳細(xì)講解了Unity3D的安裝、發(fā)布、界面等主要功能,并深入介紹AR(增強(qiáng)現(xiàn)實(shí))、VR(虛擬現(xiàn)實(shí))開發(fā)方法,以及地圖定位、攝像機(jī)、聲音播放等開發(fā)技巧,讓讀者了解到如何使用Unity3D制作AR\VR產(chǎn)品,快速進(jìn)入U(xiǎn)nity3D應(yīng)用開發(fā)之門。
本書適合使用Unity3D平臺(tái)開發(fā)AR\VR游戲和應(yīng)用的移動(dòng)開發(fā)人員,也適合高等院校和培訓(xùn)機(jī)構(gòu)相關(guān)專業(yè)移動(dòng)游戲開發(fā)方向的師生教學(xué)參考。
前言
Unity3D是由UnityTechnologies公司開發(fā)的一款跨平臺(tái)的游戲行業(yè)軟件,能夠讓用戶輕松快速地創(chuàng)建互動(dòng)游戲、實(shí)時(shí)動(dòng)畫等內(nèi)容,并發(fā)布到蘋果、安卓等多個(gè)平臺(tái)。因其良好的生態(tài)及廣泛的支持,使其在增強(qiáng)現(xiàn)實(shí)開發(fā)上也獲得了眾多廠商的青睞。很多增強(qiáng)現(xiàn)實(shí)提供商都提供了基于Unity3D的SDK包。
本書面向的讀者大多是沒有接觸過Unity3D的初學(xué)者。讀者可以通過該書快速地了解Unity3D以及增強(qiáng)現(xiàn)實(shí)的基本概念和一些實(shí)例,并且快速地參照例子制作出增強(qiáng)現(xiàn)實(shí)的作品。
本書內(nèi)容介紹
本書包括14章內(nèi)容,分別介紹如下。
第1~3章是Unity3D基礎(chǔ)介紹。前3章內(nèi)容快速介紹了Unity3D的基本知識(shí)、操作界面、基本概念等,讓讀者對(duì)于Unity3D有了一個(gè)總體的了解,并能進(jìn)行一些基礎(chǔ)的操作,代碼編寫。
第4~6章是增強(qiáng)現(xiàn)實(shí)開發(fā)。該部分介紹了增強(qiáng)現(xiàn)實(shí)的基本概念、一些優(yōu)秀的實(shí)例,并詳細(xì)講解了用Unity3D和Vufoira、easyAR兩款增強(qiáng)現(xiàn)實(shí)SDK開發(fā)圖片識(shí)別顯示3D模型視頻的過程。
第7~9章是基于Vive的虛擬現(xiàn)實(shí)開發(fā)。該部分介紹了虛擬現(xiàn)實(shí)的基本概念,如何利用官方提供的SDK進(jìn)行Vive的虛擬現(xiàn)實(shí)開發(fā)。其中詳細(xì)講解了兩個(gè)不同的插件如何對(duì)Vive進(jìn)行開發(fā),包括基礎(chǔ)按鈕到常用按鈕的傳送、UI、拾取等。
第10章介紹了在安卓環(huán)境下,如何使用高德地圖提供的定位功能進(jìn)行開發(fā)。本章還介紹了如果在Unity3D下簡(jiǎn)單地調(diào)用Java和安卓類的方法屬性。
第11~14章是其他Unity3D相關(guān)的內(nèi)容。該部分介紹了Unity3D開發(fā)過程中常用的一些代碼片段及一些常用的Unity3D插件,包括常用攝像機(jī)、聲音控制等。
本書示例代碼及資料內(nèi)容如下:
?增強(qiáng)現(xiàn)實(shí)介紹及相關(guān)的視頻(英文)
?導(dǎo)出安卓需要的SDK
?VuforiaSDK及官方示例,相關(guān)圖片
?EasyARSDK及官方示例
?高德地圖安卓定位插件及示例
?Unity3D常用代碼
?Vive增強(qiáng)現(xiàn)實(shí)開發(fā)例子
本書代碼下載地址
http://pan.baidu.com/s/1pLDEvbH(注意數(shù)字和字母大小寫)
如果代碼下載有問題,請(qǐng)聯(lián)系電子郵箱booksaga@163.com,郵件主題為“AR代碼”。
本書閱讀過程中,如有疑問,可以發(fā)郵件至5140075@qq.com,或者訪問作者的技術(shù)博客http://blog.csdn.net/wuyt2008并留言,以獲得幫助。
吳雁濤
2017年7月
吳雁濤,網(wǎng)絡(luò)游戲開發(fā)工程師,有多年的教學(xué)經(jīng)驗(yàn)。
目錄
第1章Unity的基本介紹1
1.1功能特點(diǎn)1
1.1.1Unity簡(jiǎn)介1
1.1.2Unity的特點(diǎn)1
1.2版本及費(fèi)用2
1.3下載和安裝2
1.3.1下載2
1.3.2安裝3
1.3.3第一次運(yùn)行7
1.4商城內(nèi)容和官方資源8
第2章Unity主要界面介紹11
2.1理解Unity項(xiàng)目的結(jié)構(gòu)11
2.2啟動(dòng)界面12
2.3默認(rèn)界面13
2.4Game(游戲)視圖14
2.5Scene(場(chǎng)景)視圖15
2.6Hierarchy(層級(jí))視圖16
2.7Inspector(檢視)視圖17
2.8Project(項(xiàng)目)視圖18
2.9Console(控制臺(tái))視圖21
第3章Unity快速入門22
3.1場(chǎng)景22
3.1.1場(chǎng)景和項(xiàng)目22
3.1.2理解項(xiàng)目和場(chǎng)景24
3.2攝像機(jī)24
3.3游戲?qū)ο?7
3.4預(yù)制件29
3.5組件31
3.6其他常用內(nèi)容32
3.6.13D模型32
3.6.2剛體33
3.6.3重力35
3.6.4物理特性36
3.6.5穿透38
3.6.6粒子系統(tǒng)38
3.7UnityGUI40
3.7.1RenderMode顯示模式41
3.7.2定位方式43
3.7.3響應(yīng)腳本44
3.8腳本47
3.8.1基本介紹47
3.8.2MonoBehaviour48
3.8.3Transform49
3.8.4GameObject50
3.8.5常用事件51
3.8.6Instantiate52
3.8.7Destory53
3.8.8獲取指定游戲?qū)ο蠡蚪M件55
3.8.9指定平臺(tái)57
3.8.10DontDestroyOnLoad58
3.8.11SendMessage58
3.8.12場(chǎng)景切換60
3.9資源包的導(dǎo)入和導(dǎo)出61
3.9.1導(dǎo)入資源包61
3.9.2導(dǎo)出資源包62
3.10發(fā)布應(yīng)用64
3.10.1發(fā)布Windows應(yīng)用65
3.10.2發(fā)布Android應(yīng)用66
3.10.3發(fā)布iOS應(yīng)用71
3.11Unity商城資源下載和導(dǎo)入74
第4章增強(qiáng)現(xiàn)實(shí)介紹76
4.1基本概念76
4.2主流實(shí)現(xiàn)方式76
4.3典型案例78
4.4常用增強(qiáng)現(xiàn)實(shí)SDK81
4.5其他83
第5章基于VuforiaSDK的增強(qiáng)現(xiàn)實(shí)開發(fā)85
5.1Vuforia簡(jiǎn)介85
5.2準(zhǔn)備工作85
5.2.1注冊(cè)賬號(hào)85
5.2.2下載SDK86
5.2.3添加key87
5.2.4添加數(shù)據(jù)庫89
5.3識(shí)別圖片顯示3D模型89
5.3.1添加識(shí)別圖片89
5.3.2下載識(shí)別數(shù)據(jù)93
5.3.3建立場(chǎng)景93
5.3.4設(shè)置游戲?qū)ο?5
5.3.5測(cè)試96
5.4識(shí)別柱體顯示3D模型96
5.4.1添加識(shí)別柱體96
5.4.2下載識(shí)別數(shù)據(jù)99
5.4.3建立場(chǎng)景99
5.4.4設(shè)置游戲?qū)ο?01
5.4.5測(cè)試103
5.5識(shí)別物體顯示3D模型103
5.5.1下載VuforiaObjectScanner并打印圖片103
5.5.2掃描物體104
5.5.3添加識(shí)別物體106
5.5.4下載識(shí)別數(shù)據(jù)107
5.5.5建立場(chǎng)景108
5.5.6設(shè)置游戲?qū)ο?09
5.5.7測(cè)試110
5.6識(shí)別圖片播放視頻111
5.6.1下載例子111
5.6.2導(dǎo)入例子和數(shù)據(jù)112
5.6.3建立場(chǎng)景112
5.6.4設(shè)置游戲?qū)ο?15
5.6.5測(cè)試117
第6章基于EasyARSDK的增強(qiáng)現(xiàn)實(shí)開發(fā)118
6.1EasyAR簡(jiǎn)介118
6.2獲得key118
6.3下載開發(fā)包119
6.4識(shí)別圖片顯示3D內(nèi)容120
6.4.1新建場(chǎng)景120
6.4.2替換添加腳本123
6.4.3設(shè)置游戲?qū)ο?25
6.4.4運(yùn)行測(cè)試127
6.5識(shí)別圖片并將圖片映射為3D模型紋理(涂涂樂)128
6.5.1準(zhǔn)備工作128
6.5.2設(shè)置模型紋理128
6.5.3運(yùn)行測(cè)試130
6.6識(shí)別圖片播放視頻130
6.6.1準(zhǔn)備工作130
6.6.2添加用于播放視頻的3D物體131
6.6.3運(yùn)行測(cè)試133
6.7打包安卓的注意事項(xiàng)133
第7章虛擬現(xiàn)實(shí)簡(jiǎn)介134
7.1虛擬現(xiàn)實(shí)基本概念134
7.2常見的幾種VR硬件134
7.3HTCVive介紹136
7.4HTCVive的手柄137
7.5Vive上的VR應(yīng)用介紹137
7.6基于Vive的VR開發(fā)常見的幾個(gè)問題139
第8章基于InputUtility插件的虛擬現(xiàn)實(shí)開發(fā)141
8.1基于InputUtility插件開發(fā)141
8.2SDK下載141
8.3按鈕開發(fā)綜述142
8.4Trigger按鈕開發(fā)144
8.5Pad按鈕開發(fā)145
8.6操作GUI146
8.7拖動(dòng)遠(yuǎn)處的3D物體150
8.8傳送152
8.9物體拾取和觸碰158
第9章基于InteractionSystem的虛擬現(xiàn)實(shí)開發(fā)165
9.1InteractionSystem插件及SDK下載165
9.2按鈕控制166
9.3基礎(chǔ)碰觸169
9.4物體拾取174
9.5傳送180
9.6操作UI185
9.7道具拾取189
9.8按鈕提示顯示196
第10章高德地圖Android定位SDK在Unity下的簡(jiǎn)單使用200
10.1Unity簡(jiǎn)單調(diào)用Java類200
10.2高德地圖key的獲取207
10.3安全碼SHA1獲取210
10.4準(zhǔn)備Jar211
10.5導(dǎo)入U(xiǎn)nity214
10.6獲取定位信息214
10.6.1獲取定位信息的腳本214
10.6.2添加調(diào)用腳本221
10.6.3測(cè)試224
10.6.4插件224
10.7獲取地圖225
10.7.1說明225
10.7.2腳本226
10.7.3場(chǎng)景226
10.7.4打包運(yùn)行228
第11章Unity3D攝像機(jī)開發(fā)229
11.1常用的幾種攝像機(jī)229
11.1.1CctvCamera230
11.1.2HandHeldCamera233
11.1.3MultipurposeCameraRig236
11.1.4FreeLookCameraRig240
11.1.5第一人稱視角243
11.1.6DungeonCamera244
11.1.7LookAtCamera248
11.2雙攝像機(jī)249
第12章聲音播放255
12.1AudioClip、AudioSource、AudioListener255
12.1.1AudioClip255
12.1.2AudioSource256
12.1.3AudioListener256
12.2播放背景音樂257
12.3控制背景聲音音量259
12.4播放特效聲音262
12.5控制特效音量268
第13章Unity3D服務(wù)器端和客戶端通信276
13.1服務(wù)器端和客戶端通信概述276
13.2服務(wù)器端和客戶端通信實(shí)例276
第14章其他Unity3D相關(guān)的內(nèi)容286
14.1帶進(jìn)度條的場(chǎng)景切換286
14.2單一數(shù)據(jù)存儲(chǔ)287
14.3少量初始數(shù)據(jù)的存儲(chǔ)288
14.3.1將數(shù)據(jù)存儲(chǔ)在預(yù)制件里289
14.3.2利用ScriptableObject將數(shù)據(jù)存儲(chǔ)為資源290
14.4用iTween插件進(jìn)行移動(dòng)、縮放、旋轉(zhuǎn)操作293
14.4.1下載并導(dǎo)入插件293
14.4.2iTween的基本調(diào)用294
14.4.3iTween常見參數(shù)介紹294
14.4.4iTween實(shí)現(xiàn)移動(dòng)295
14.4.5iTween實(shí)現(xiàn)旋轉(zhuǎn)295
14.4.6iTween實(shí)現(xiàn)大小變化296
14.4.7iTween的變化值297
14.4.8iTweenVisualEditor導(dǎo)入299
14.4.9iTweenVisualEditor控制變化300
14.4.10iTweenVisualEditor指定運(yùn)動(dòng)路徑302
14.5插件推薦305
第7章
?虛擬現(xiàn)實(shí)簡(jiǎn)介?
7.1虛擬現(xiàn)實(shí)基本概念
虛擬現(xiàn)實(shí),英文VirtualReality,簡(jiǎn)稱VR,是利用計(jì)算機(jī)系統(tǒng)生成一個(gè)模擬環(huán)境,提供使用者關(guān)于視覺、聽覺、觸覺等感官的模擬,讓使用者如同身歷其境一般,可以及時(shí)、沒有限制地觀察模擬環(huán)境內(nèi)的事物。
全景照片、全景視頻和全景漫游是否算VR?這個(gè)還是有一些爭(zhēng)論。不過,一般技術(shù)人員默認(rèn)的VR不包括上述三種,而是專指由計(jì)算機(jī)3D模型生成虛擬環(huán)境的這種情況。
7.2常見的幾種VR硬件
1.眼鏡盒
以googlecardboard為代表,單純的頭戴式的VR設(shè)備。最常見的是將手機(jī)插入眼鏡盒,利用手機(jī)屏幕播放內(nèi)容,并提供運(yùn)算。區(qū)別更多的只是盒子是紙做的還是塑料做的,戴著是否舒服。早期的Oculus也是這類,雖然是利用計(jì)算機(jī)運(yùn)算,但是也只有一個(gè)眼鏡盒,如圖7-1所示。