前 言 Preface
為什么要寫這本書2014年3月,F(xiàn)acebook宣布以20億美元收購虛擬現(xiàn)實設(shè)備Oculus Rift的制造商Oculus VR,從此沉寂已久的虛擬現(xiàn)實行業(yè)涅槃重生。
2015年1月,微軟與Windows10系統(tǒng)一同發(fā)布了堪稱黑科技神器的MR設(shè)備HoloLens。
2016年5月,Google I/O全球開發(fā)者大會正式發(fā)布了全新的移動VR平臺Daydream,吹響了向VR進軍的號角。
2017年6月,蘋果WWDC大會重磅推出了ARKit,讓iOS平臺一夜之間成為最大的AR設(shè)備平臺,更讓虛擬現(xiàn)實進入更多開發(fā)者的視野。
隨著越來越多的大公司和創(chuàng)業(yè)團隊進入AR/VR領(lǐng)域,AR/VR開發(fā)人才的需求量也越來越大。
在面向AR/VR的開發(fā)工具中,Unity3D無疑是目前支持設(shè)備平臺最廣、擴展性最強的一款工具之一。
無論是Unity新手,還是具備一定Unity開發(fā)經(jīng)驗的開發(fā)者,想要進入AR/VR領(lǐng)域都迫切需要一本書帶領(lǐng)他們跨過第一道坎,從而真正了解和掌握AR/VR開發(fā)。
本書的內(nèi)容將涵蓋Unity3D的基礎(chǔ)入門知識,進行AR/VR開發(fā)所必須掌握的Unity3D技能,以及在不同的AR/VR設(shè)備平臺進行實際開發(fā)所需要掌握的知識。
本書特色目前市面上的AR/VR開發(fā)書籍相對較少,而且主要針對有經(jīng)驗的開發(fā)者。而本書的內(nèi)容對零基礎(chǔ)的新手開發(fā)者也會十分友好。
和以往只重視概念講解、不重視實際操作的Unity開發(fā)書籍不同,本書從基礎(chǔ)知識到進階技能,到最后的AR/VR開發(fā)實戰(zhàn),每一篇的內(nèi)容都會融入大量的實戰(zhàn)講解。
對于有經(jīng)驗的Unity開發(fā)者,可以跳過前兩篇的內(nèi)容,直接進入第三篇AR/VR實戰(zhàn)項目的開發(fā)講解。其中針對HTC Vive、Oculus Rift、Google Daydream VR、HoloLens、Vuforia、Wikitude、ARKit等幾個主流的AR/VR設(shè)備平臺和SDK,都分別用單獨一章進行實戰(zhàn)項目講解。
讀者對象對AR/VR開發(fā)感興趣,但是之前并沒有任何Unity3D開發(fā)經(jīng)驗的初學(xué)者。
對AR/VR開發(fā)感興趣,并且已經(jīng)具備了一定Unity3D開發(fā)經(jīng)驗的開發(fā)者。
對AR/VR開發(fā)感興趣,想了解項目開發(fā)整體流程的管理者或運營者等。
如何閱讀本書全書內(nèi)容分為三篇,共計20章內(nèi)容。
第一篇是入門篇,針對完全沒有Unity開發(fā)經(jīng)驗的開發(fā)者。
學(xué)完本部分內(nèi)容后,讀者應(yīng)該對Unity的基本知識有所了解,包括常見3D引擎的對比分析,以及Unity的基本使用,如界面、基本概念(物體、組件等)、C#編程。
第1章 對主流的3D游戲引擎進行對比分析,說明使用Unity進行AR/VR開發(fā)的優(yōu)缺點,并簡單介紹Unity的發(fā)展史及其安裝、授權(quán)與服務(wù),最后還介紹了Unity學(xué)習資源的獲取途徑。
第2章 對Unity的編輯器做了簡單介紹,并著重介紹了Unity中的核心概念和子系統(tǒng),以及Unity Asset Store資源商城。
第3章 對C#語言的開發(fā)環(huán)境、基本語法和使用做了簡單介紹,同時也介紹了如何在Unity中使用C#進行開發(fā)。
第二篇是進階篇,涵蓋了AR/VR開發(fā)所必須掌握的Unity3D技能。
學(xué)完本部分內(nèi)容后,讀者應(yīng)該掌握AR/VR開發(fā)所必須具備的Unity3D技能,包括如何將3D場景和人物模型導(dǎo)入到游戲場景中,如何利用PBS理論和著色器美化材質(zhì)、貼圖和畫面,如何使用Unity的光照系統(tǒng)打造亦真亦幻的環(huán)境,如何使用Unity動畫機制讓場景中的物體、角色甚至UI界面產(chǎn)生奇妙的動畫效果,如何利用尋路機制和AI讓游戲中的角色具備模擬真人的行為模式,如何使用物理系統(tǒng)和碰撞機制讓游戲中的世界像現(xiàn)實世界一樣遵循物理法則,如何在游戲中添加背景音樂、音效并打造AR/VR的特殊真實場景音效,如何添加多人游戲網(wǎng)絡(luò)機制,以及如何創(chuàng)建游戲中的UI交互系統(tǒng)。
第4章 介紹了如何在Unity中創(chuàng)建基礎(chǔ)的游戲場景、創(chuàng)建外部的游戲資源,以及如何導(dǎo)入外部的游戲資源。在實戰(zhàn)環(huán)節(jié),介紹了如何創(chuàng)建BattleStar項目并準備所需的游戲資源。
第5章 詳細介紹了Unity中的Enlighten光照系統(tǒng),以及全局光照的概念和具體使用。在實戰(zhàn)環(huán)節(jié),介紹了如何給BattleStar項目的游戲場景添加光照。
第6章 詳細介紹了Unity中的Shuriken粒子系統(tǒng)、Shader和Post Processing,從而了解如何讓游戲畫面栩栩如生。在實戰(zhàn)環(huán)節(jié),介紹了如何通過設(shè)置場景材質(zhì)、添加粒子系統(tǒng)特效、添加后處理特效及使用第三方插件等方式來完善BattleStar游戲場景的視覺效果。
第7章 介紹了Unity的原生UI系統(tǒng)UGUI,及其各種控件的使用。在實戰(zhàn)環(huán)節(jié),引導(dǎo)大家一步步學(xué)習如何給BattleStar游戲添加UI。
第8章 介紹了Unity的動畫系統(tǒng),包括Legacy動畫系統(tǒng)和最新的Mecanim動畫系統(tǒng)。在實戰(zhàn)環(huán)節(jié),介紹了如何添加Animator、設(shè)置狀態(tài)機、編寫控制角色動畫的腳本等,從而讓BattleStar游戲中的角色動起來。
第9章 介紹了Unity中的尋路系統(tǒng),包括其內(nèi)部工作原理、NavMesh烘焙設(shè)置等。在實戰(zhàn)環(huán)節(jié),通過給NPC角色對象添加并設(shè)置NavMeshAgent組件,來實現(xiàn)BattleStar游戲中的尋路系統(tǒng)。
第10章 詳細介紹了Unity中的物理系統(tǒng),以及各種相關(guān)的組件,如Rigidbody、Collider和Raycast等。在實戰(zhàn)環(huán)節(jié),介紹了如何在BattleStar游戲的場景中添加。