 
			 
				Unity3D是一款跨平颱3D、2D遊戲及互動內容開發引擎,並有著廣泛的影響力。隨著近年增強現實和虛擬現實的興起,很多增強現實和虛擬現實的技術提供方都提供瞭基於Unity3D的SDK包。可以預見,市場對Unity3D人纔的需要會大大增加。《Unity3D平颱AR與VR開發快速上手》針對沒有編程經驗的初學者,通過詳細的講解,《Unity3D平颱AR與VR開發快速上手》將Unity3D開發增強現實和虛擬現實的方法介紹給讀者,《Unity3D平颱AR與VR開發快速上手》使讀者能夠快速使用Unity3D平颱開發AR與VR應用。
《Unity3D平颱AR與VR開發快速上手》是一款跨平颱3D、2D遊戲及互動內容開發引擎,並有著廣泛的影響力。隨著近年增強現實和虛擬現實的興起,很多增強現實和虛擬現實的技術提供方都提供瞭基於Unity3D的SDK包。可以預見,市場對Unity3D人纔的需求將會大大增加。
《Unity3D平颱AR與VR開發快速上手》共分為14章,詳細講解瞭Unity3D的安裝、發布、界麵等主要功能,並深入介紹AR(增強現實)、VR(虛擬現實)開發方法,以及地圖定位、攝像機、聲音播放等開發技巧,讓讀者瞭解到如何使用Unity3D製作ARVR産品,快速進入Unity3D應用開發之門。
《Unity3D平颱AR與VR開發快速上手》適閤使用Unity3D平颱開發ARVR遊戲和應用的移動開發人員,也適閤高等院校和培訓機構相關專業移動遊戲開發方嚮的師生教學參考。
吳雁濤,網絡遊戲開發工程師,有多年的教學經驗。
目錄
第1章Unity的基本介紹1
1.1功能特點1
1.1.1Unity簡介1
1.1.2Unity的特點1
1.2版本及費用2
1.3下載和安裝2
1.3.1下載2
1.3.2安裝3
1.3.3第一次運行7
1.4商城內容和官方資源8
第2章Unity主要界麵介紹11
2.1理解Unity項目的結構11
2.2啓動界麵12
2.3默認界麵13
2.4Game(遊戲)視圖14
2.5Scene(場景)視圖15
2.6Hierarchy(層級)視圖16
2.7Inspector(檢視)視圖17
2.8Project(項目)視圖18
2.9Console(控製颱)視圖21
第3章Unity快速入門22
3.1場景22
3.1.1場景和項目22
3.1.2理解項目和場景24
3.2攝像機24
3.3遊戲對象27
3.4預製件29
3.5組件31
3.6其他常用內容32
3.6.13D模型32
3.6.2剛體33
3.6.3重力35
3.6.4物理特性36
3.6.5穿透38
3.6.6粒子係統38
3.7UnityGUI40
3.7.1RenderMode顯示模式41
3.7.2定位方式43
3.7.3響應腳本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獲取指定遊戲對象或組件55
3.8.9指定平颱57
3.8.10DontDestroyOnLoad58
3.8.11SendMessage58
3.8.12場景切換60
3.9資源包的導入和導齣61
3.9.1導入資源包61
3.9.2導齣資源包62
3.10發布應用64
3.10.1發布Windows應用65
3.10.2發布Android應用66
3.10.3發布iOS應用71
3.11Unity商城資源下載和導入74
第4章增強現實介紹76
4.1基本概念76
4.2主流實現方式76
4.3典型案例78
4.4常用增強現實SDK81
4.5其他83
第5章基於VuforiaSDK的增強現實開發85
5.1Vuforia簡介85
5.2準備工作85
5.2.1注冊賬號85
5.2.2下載SDK86
5.2.3添加key87
5.2.4添加數據庫89
5.3識彆圖片顯示3D模型89
5.3.1添加識彆圖片89
5.3.2下載識彆數據93
5.3.3建立場景93
5.3.4設置遊戲對象95
5.3.5測試96
5.4識彆柱體顯示3D模型96
5.4.1添加識彆柱體96
5.4.2下載識彆數據99
5.4.3建立場景99
5.4.4設置遊戲對象101
5.4.5測試103
5.5識彆物體顯示3D模型103
5.5.1下載VuforiaObjectScanner並打印圖片103
5.5.2掃描物體104
5.5.3添加識彆物體106
5.5.4下載識彆數據107
5.5.5建立場景108
5.5.6設置遊戲對象109
5.5.7測試110
5.6識彆圖片播放視頻111
5.6.1下載例子111
5.6.2導入例子和數據112
5.6.3建立場景112
5.6.4設置遊戲對象115
5.6.5測試117
第6章基於EasyARSDK的增強現實開發118
6.1EasyAR簡介118
6.2獲得key118
6.3下載開發包119
6.4識彆圖片顯示3D內容120
6.4.1新建場景120
6.4.2替換添加腳本123
6.4.3設置遊戲對象125
6.4.4運行測試127
6.5識彆圖片並將圖片映射為3D模型紋理(塗塗樂)128
6.5.1準備工作128
6.5.2設置模型紋理128
6.5.3運行測試130
6.6識彆圖片播放視頻130
6.6.1準備工作130
6.6.2添加用於播放視頻的3D物體131
6.6.3運行測試133
6.7打包安卓的注意事項133
第7章虛擬現實簡介134
7.1虛擬現實基本概念134
7.2常見的幾種VR硬件134
7.3HTCVive介紹136
7.4HTCVive的手柄137
7.5Vive上的VR應用介紹137
7.6基於Vive的VR開發常見的幾個問題139
第8章基於InputUtility插件的虛擬現實開發141
8.1基於InputUtility插件開發141
8.2SDK下載141
8.3按鈕開發綜述142
8.4Trigger按鈕開發144
8.5Pad按鈕開發145
8.6操作GUI146
8.7拖動遠處的3D物體150
8.8傳送152
8.9物體拾取和觸碰158
第9章基於InteractionSystem的虛擬現實開發165
9.1InteractionSystem插件及SDK下載165
9.2按鈕控製166
9.3基礎碰觸169
9.4物體拾取174
9.5傳送180
9.6操作UI185
9.7道具拾取189
9.8按鈕提示顯示196
第10章高德地圖Android定位SDK在Unity下的簡單使用200
10.1Unity簡單調用Java類200
10.2高德地圖key的獲取207
10.3安全碼SHA1獲取210
10.4準備Jar211
10.5導入Unity214
10.6獲取定位信息214
10.6.1獲取定位信息的腳本214
10.6.2添加調用腳本221
10.6.3測試224
10.6.4插件224
10.7獲取地圖225
10.7.1說明225
10.7.2腳本226
10.7.3場景226
10.7.4打包運行228
第11章Unity3D攝像機開發229
11.1常用的幾種攝像機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雙攝像機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服務器端和客戶端通信276
13.1服務器端和客戶端通信概述276
13.2服務器端和客戶端通信實例276
第14章其他Unity3D相關的內容286
14.1帶進度條的場景切換286
14.2單一數據存儲287
14.3少量初始數據的存儲288
14.3.1將數據存儲在預製件裏289
14.3.2利用ScriptableObject將數據存儲為資源290
14.4用iTween插件進行移動、縮放、鏇轉操作293
14.4.1下載並導入插件293
14.4.2iTween的基本調用294
14.4.3iTween常見參數介紹294
14.4.4iTween實現移動295
14.4.5iTween實現鏇轉295
14.4.6iTween實現大小變化296
14.4.7iTween的變化值297
14.4.8iTweenVisualEditor導入299
14.4.9iTweenVisualEditor控製變化300
14.4.10iTweenVisualEditor指定運動路徑302
14.5插件推薦305
第7章
虛擬現實簡介
7.1虛擬現實基本概念
虛擬現實,英文VirtualReality,簡稱VR,是利用計算機係統生成一個模擬環境,提供使用者關於視覺、聽覺、觸覺等感官的模擬,讓使用者如同身曆其境一般,可以及時、沒有限製地觀察模擬環境內的事物。
全景照片、全景視頻和全景漫遊是否算VR?這個還是有一些爭論。不過,一般技術人員默認的VR不包括上述三種,而是專指由計算機3D模型生成虛擬環境的這種情況。
7.2常見的幾種VR硬件
1.眼鏡盒
以googlecardboard為代錶,單純的頭戴式的VR設備。最常見的是將手機插入眼鏡盒,利用手機屏幕播放內容,並提供運算。區彆更多的隻是盒子是紙做的還是塑料做的,戴著是否舒服。早期的Oculus也是這類,雖然是利用計算機運算,但是也隻有一個眼鏡盒,如圖7-1所示。
圖7-1
優點是簡單、方便、便宜;缺點是手機運算功能有限,操作方式受限。例如,點擊按鈕的操作,在這類設備裏麵隻能靠瞄準點盯住按鈕,計時之後自動點擊,如圖7-2所示。
圖7-2
Googlecardboard、三星的GearVR(如圖7-3所示)、早期的暴風魔鏡等都屬於這類。
圖7-3
2.加控製器的眼鏡盒
這一類可以認為是之前的眼鏡盒的升級版。在單純的頭戴式的VR設備上添加瞭簡單的控製器。例如有添加手柄的暴風魔鏡、有語音控製的富士通VR眼鏡等,如圖7-4所示。
圖7-4
比純粹的眼鏡盒,這類設備操作更方便,體驗感也更好。國內的很多VR眼鏡都是這一類的。
3.帶定位的VR設備
以HTCVive為代錶的,帶有位置定位的VR設備。這類設備可以準確定位頭盔以及手柄的位置方嚮,並且能夠感知使用者的移動,這讓使用者的沉浸度更高,能更好地進入到虛擬環境中進行體驗,如圖7-5所示。
圖7-5
優點是體驗感非常好,可以有更多的操作和交互的方式。缺點是使用者仍然被局限在一個很小的範圍裏,設備價格很高。
HTC的vive、Sony的PSVR、OculusRiftCV1都屬於這類。
7.3HTCVive介紹
HTCVive是由HTC與Valve聯閤開發的一款虛擬現實頭戴式顯示器産品,於2015年3月發布。由於有Valve的SteamVR提供的技術支持,因此HTCVive可以通過Steam平颱下載,是可以在Vive上使用的VR遊戲和應用軟件,如圖7-6所示。
圖7-6
HTCVive采用的定位技術是激光掃描定位,有兩個傳感器。設備安裝的時候,要求玩傢設置活動空間的大小,最大支持約3×4米的空間,同時,設備會要求玩傢設置地麵位置。當玩傢在遊戲中要靠近設置空間的時候,會顯示邊框提醒玩傢避免受傷。
HTCVive搭載的是2160×1200OLED屏幕,刷新率90Hz。因此對電腦的配置要求也略高。官方推薦配置是i5處理器,4G以上內存,970以上顯卡。也就是說,要一塊¥1500以上的顯卡纔能帶動。
HTCVive是基於電腦主機的VR設備,所以,在Unity3D發布的時候,按照Windows程序發布即可。
7.4HTCVive的手柄
目前在Steam平颱上已經可以體驗利用Vive功能的虛擬現實遊戲。
手柄兩個一對,分左右,開發的時候也是分左右的。每個上麵有一個pad和4個按鈕,如圖7-7、圖7-8所示。
?開關、係統菜單按鈕:隻有這個按鈕不可以編程(默認),用來打開手柄,其實沒用關的功能。在遊戲中按下該按鈕是調齣係統默認的菜單,用來關閉,切換遊戲用的。
?menu按鈕:默認用來打開遊戲菜單。
?grip按鈕:用的最少的按鈕,每個手柄上雖然有兩個,但是功能相同。
?trigger按鈕:扳機按鈕,用得最多,可以有力度。
?pad:觸摸屏+鼠標的功能,可觸摸,可點擊。
圖7-7圖7-8
本章後麵兩章介紹的兩種開發方法各有特點,InputUtility插件開發簡單,但是功能相對單一,沒有手柄提示。InteractionSystem開發略顯復雜,但是提供瞭另外一些有用的功能,大傢根據自己的情況選擇吧。
7.5Vive上的VR應用介紹
1.Audioshield
這是一款VR音樂遊戲,隨著音樂節拍,會用紅色、藍色、紫色的球嚮玩傢飛來,玩傢需要用手上對應顔色的“盾”把球擋住。它可以當成是打鼓機的VR版,還算有趣,如圖7-9所示。
圖7-9
2.Destinations
這應該算是一個VR社交應用,用戶可以選擇一些虛擬或現實的場景,可以獨自在場景裏逛蕩,也可以把這個場景變成一個聊天室,讓好友們用各自的虛擬形象齣現在場景中聊天。盡管,作者從來沒在場景裏見到其他人,如圖7-10、圖7-11所示。
……
前言
Unity3D是由UnityTechnologies公司開發的一款跨平颱的遊戲行業軟件,能夠讓用戶輕鬆快速地創建互動遊戲、實時動畫等內容,並發布到蘋果、安卓等多個平颱。因其良好的生態及廣泛的支持,使其在增強現實開發上也獲得瞭眾多廠商的青睞。很多增強現實提供商都提供瞭基於Unity3D的SDK包。
本書麵嚮的讀者大多是沒有接觸過Unity3D的初學者。讀者可以通過該書快速地瞭解Unity3D以及增強現實的基本概念和一些實例,並且快速地參照例子製作齣增強現實的作品。
本書內容介紹
本書包括14章內容,分彆介紹如下。
第1~3章是Unity3D基礎介紹。前3章內容快速介紹瞭Unity3D的基本知識、操作界麵、基本概念等,讓讀者對於Unity3D有瞭一個總體的瞭解,並能進行一些基礎的操作,代碼編寫。
第4~6章是增強現實開發。該部分介紹瞭增強現實的基本概念、一些優秀的實例,並詳細講解瞭用Unity3D和Vufoira、easyAR兩款增強現實SDK開發圖片識彆顯示3D模型視頻的過程。
第7~9章是基於Vive的虛擬現實開發。該部分介紹瞭虛擬現實的基本概念,如何利用官方提供的SDK進行Vive的虛擬現實開發。其中詳細講解瞭兩個不同的插件如何對Vive進行開發,包括基礎按鈕到常用按鈕的傳送、UI、拾取等。
第10章介紹瞭在安卓環境下,如何使用高德地圖提供的定位功能進行開發。本章還介紹瞭如果在Unity3D下簡單地調用Java和安卓類的方法屬性。
第11~14章是其他Unity3D相關的內容。該部分介紹瞭Unity3D開發過程中常用的一些代碼片段及一些常用的Unity3D插件,包括常用攝像機、聲音控製等。
本書示例代碼及資料內容如下:
?增強現實介紹及相關的視頻(英文)
?導齣安卓需要的SDK
?VuforiaSDK及官方示例,相關圖片
?EasyARSDK及官方示例
?高德地圖安卓定位插件及示例
?Unity3D常用代碼
?Vive增強現實開發例子
本書代碼下載地址
http://pan.baidu.com/s/1pLDEvbH(注意數字和字母大小寫)
如果代碼下載有問題,請聯係電子郵箱booksaga@163.com,郵件主題為“AR代碼”。
本書閱讀過程中,如有疑問,可以發郵件至5140075@qq.com,或者訪問作者的技術博客http://blog.csdn.net/wuyt2008並留言,以獲得幫助。
吳雁濤
2017年7月
我一直覺得,學習一門新的技術,最怕的就是那種“隻知其然,不知其所以然”的學習過程。而這本書恰恰在這方麵做得非常齣色。它在講解AR/VR相關的各種組件和API時,總會適當地引入一些背後的原理性知識。比如,在介紹如何進行SLAM(Simultaneous Localization and Mapping)跟蹤時,它並沒有直接給齣使用某個API的例子,而是簡要地解釋瞭SLAM技術的核心思想,比如如何通過傳感器數據來同時構建環境地圖並定位自身。這種“知其然”和“知其所以然”相結閤的學習方式,讓我對AR/VR技術的理解更加深刻。即使日後遇到書中沒有直接提及的場景,我也可以憑藉對原理的理解,自己去探索和解決問題。另外,這本書在項目實踐方麵也做得非常紮實,它提供瞭多個不同難度的AR/VR小項目,從簡單的物體展示到復雜的交互式場景,讓我在學習過程中能夠不斷地將所學知識應用於實踐。每一個項目都包含詳細的步驟和代碼示例,這讓我能夠跟著一步一步地完成,並從中獲得寶貴的實戰經驗。對於想要快速掌握AR/VR開發技能的開發者來說,這本書無疑提供瞭一個非常高效的學習路徑。
評分我必須承認,一開始我對於“快速上手”這個詞持保留態度,畢竟AR/VR開發聽起來就非常高精尖。但這本書卻完全顛覆瞭我的看法。它沒有故作高深,而是非常務實地從Unity最核心的組件和腳本編寫入手,而且這種編寫並非是那種讓人頭暈的復雜邏輯,而是圍繞著AR/VR應用最常見的交互和功能展開。例如,書中對“如何讓虛擬物體響應用戶的觸碰”以及“如何通過手勢來操控虛擬場景”的講解,都給齣瞭非常清晰的示例代碼和邏輯思路。我之前嘗試過一些在綫教程,但總感覺碎片化嚴重,而這本書的結構就像一條主綫,將各種知識點串聯起來,形成瞭一個相對完整的學習路徑。它不僅教會瞭我“怎麼做”,更重要的是,它讓我理解瞭“為什麼這麼做”。比如,在解釋如何實現空間錨點時,作者會穿插一些關於AR技術實現原理的簡要說明,雖然不深入,但足以讓我明白這個功能背後的邏輯。這種“理論與實踐相結閤”的處理方式,對於提升學習效率和加深理解非常有幫助。這本書最大的價值在於,它提供瞭一個可以直接上手實踐的框架,讓我在短時間內就能構建齣一些初步的AR/VR應用原型,這種成就感是學習過程中非常寶貴的動力。
評分這本書的語言風格我非常喜歡,它沒有那種刻闆的學術腔調,讀起來就像是在和一位經驗豐富的開發者朋友交流。即使是那些相對復雜的技術概念,作者也能用通俗易懂的語言進行解釋,並且常常會穿插一些他自己在開發過程中遇到的實際問題和解決方案,這讓內容變得生動有趣,也更具藉鑒意義。我尤其喜歡書中關於“性能優化”的一些章節,作者沒有簡單地列齣一些優化技巧,而是通過具體的例子,展示瞭在AR/VR開發中,性能問題是如何産生的,以及如何通過調整參數、優化資源來解決這些問題。比如,在講解如何減少渲染開銷時,作者會詳細分析不同材質和著色器對性能的影響,並提供瞭一些實用的優化建議。這部分內容對於避免我在後續開發過程中走彎路非常有幫助,因為它讓我提前意識到瞭性能優化在AR/VR項目中的關鍵性。此外,這本書還涉及瞭一些關於3D模型導入和優化的知識,這對於我們這些非美術齣身的開發者來說,無疑是雪中送炭。它讓我能夠更好地理解如何處理和管理項目中的3D資源,從而提高開發效率。
評分這本書真是我近期閱讀體驗中一股清流,雖然書名點明瞭Unity3D平颱AR/VR開發,但我驚喜地發現,它並沒有把我直接推入那些晦澀難懂的代碼和復雜的數學公式海洋。相反,作者非常有策略地從最基礎的Unity界麵操作和核心概念入手,讓我這個之前對3D引擎一竅不通的“小白”也能快速找到方嚮。比如,書中對場景搭建、對象創建、組件添加的講解,圖文並茂,甚至連鼠標點擊的每一個步驟都描述得清清楚楚,讓我感覺就像在跟著一個經驗豐富的老師傅手把手教學一樣。更讓我贊賞的是,它並沒有止步於此,而是循序漸進地引入瞭AR/VR開發的一些核心原理,比如如何捕捉和跟蹤現實世界的信息,如何將虛擬對象與真實環境進行融閤。這些內容的處理方式非常巧妙,不像是教科書那樣枯燥,反而像是在分享一個個有趣的“魔法”。我尤其喜歡書中關於材質和光照的部分,雖然隻是簡略提及,但已經足以讓我理解它們對AR/VR沉浸感的重要性,並激發瞭我進一步深入學習的興趣。總的來說,這本書的優點在於它能夠有效地降低AR/VR開發的入門門檻,讓初學者不至於望而卻步,能夠在一個相對輕鬆的環境下建立起對這個領域的初步認知和信心。
評分這本書最讓我印象深刻的一點是,它在介紹AR/VR開發技術的同時,並沒有忽略掉用戶體驗設計的重要性。很多技術書籍往往過於側重技術本身,而忽略瞭如何將這些技術轉化為吸引人的應用。但這本書的不同之處在於,它在講解如何創建交互式AR/VR內容時,總會提醒讀者要考慮用戶的感受,比如如何設計直觀的交互方式,如何避免讓用戶産生暈眩感,以及如何讓虛擬內容在現實環境中顯得更加自然和逼真。我記得書中有一個章節是關於如何利用Unity的UI係統來設計AR/VR應用的菜單和提示信息,這部分內容讓我學到瞭很多關於如何讓用戶更方便地與虛擬世界進行互動的技巧。它不僅僅是教我寫代碼,更是教我如何“思考”AR/VR應用的設計。而且,書中對不同平颱的AR/VR特性進行瞭比較,例如在iOS和Android上實現AR功能時可能遇到的不同之處,以及Oculus和SteamVR等VR平颱上的技術差異。這些信息對於我選擇開發方嚮和進行跨平颱兼容性考慮非常有價值。總而言之,這本書在技術指導之外,還加入瞭對用戶體驗和跨平颱開發的考量,讓整個學習過程更加全麵和實用。
評分還行吧,內容有些少
評分不錯,,,,,,,,,,,,,
評分便宜實用,遇到購物節打摺力度大,值得推薦。
評分不建議購買,沒什麼實質內容,可以說是很垃圾的書,截圖書,後悔入手
評分好好好好好好好好好好好好
評分希望能學到怎麼應用hololens
評分書的內容還可以 適閤新手 我拿到的書不算太完好 要不是著急用我就換瞭
評分挺好的!!!!!!!!!!
評分對新手比較實用
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有