Unity 3D虛擬現(xiàn)實技術開發(fā)(王海嬰)
本書分為9個章節(jié),具體內(nèi)容為:虛擬現(xiàn)實概述、Unity 3D軟件界面介紹、地形與美術資源、Unity 3D腳本編程、Unity 3D的物理引擎、 Unity 3D動畫系統(tǒng)、Unity 3D界面設計UGUI、Unity 3D粒子系統(tǒng)、Unity3D智能尋路導航等內(nèi)容。本書采用項目驅動的方式組織教學內(nèi)容,采用大量的圖片對操作步驟進行詳細說明,并將所有知識點都有機結合、本書適合于高職、應用型本科院校的虛擬現(xiàn)實、數(shù)字媒體、數(shù)字媒體藝術、環(huán)境藝術設計、計算機應用等專業(yè)的虛擬現(xiàn)實技術課程師生使用。
"自從2016年虛擬現(xiàn)實元年以來,虛擬現(xiàn)實技術的發(fā)展經(jīng)過了高潮逐漸走向低谷,但近幾年有了大量技術沉淀。2020~2021年因為新冠疫情、宅經(jīng)濟,人們的生活方式紛紛轉入線上,虛擬現(xiàn)實的應用又火了起來。專家們紛紛看好未來它的應用落地,主要也是因為技術的逐漸成熟,使用規(guī)模逐漸擴大。
在實際生活中,大家也能看到包括《獅子王》《頭號玩家》《銀翼殺手2049》《奇幻森林》影片都采用了虛擬現(xiàn)實技術來拍攝和完成。而VR游戲,諸如《節(jié)奏空間》《VR繪畫》《SuperhotVR》《憤怒的小鳥VR版》《精靈寶可夢Go》《哈利·波特:巫師聯(lián)盟》《星球大戰(zhàn):絕地挑戰(zhàn)》等暢銷VR/AR大作也受到了全球玩家的廣泛認可。
可以預見,虛擬現(xiàn)實和增強現(xiàn)實技術的應用,無論是在B端還是C端都有廣闊的市場。而說起VR/AR技術的教育,就不得不提起實時3D內(nèi)容創(chuàng)作平臺Unity全球60%以上的VR/AR內(nèi)容都是基于這個引擎創(chuàng)建的。
作為全球應用非常廣泛的實時互動內(nèi)容創(chuàng)作平臺,Unity觸及全球規(guī)模的用戶群,迄今注冊用戶數(shù)已超1700萬。Unity原生支持:OculusRift、SteamVR/Vive、PlaystationVR、MicrosoftWindowsMixedReality、MagicLeap、AppleARKit、GoogleARCore、PTCVuforia、商場SenseAR等主流VR/AR/MR平臺開發(fā)。目前,69%的OculusRift平臺內(nèi)容、74%的HTCVive平臺內(nèi)容、91%的HoloLens平臺內(nèi)容均使用Unity進行開發(fā)。
在此背景下,作者團隊結合多年的教學經(jīng)驗,不斷提升與完善,編寫了《Unity 3D虛擬現(xiàn)實技術開發(fā)》一書。本書采用項目驅動的方式組織教學內(nèi)容,采用大量的圖片對操作步驟進行詳細說明,并將所有知識點進行有機結合。全書內(nèi)容豐富,系統(tǒng)性和應用性強,結合作者多年教學和實踐經(jīng)驗及體會而編寫,能夠使讀者較快上手,并跟隨本書介紹的實踐過程,循序漸進地掌握使用Unity 3D開發(fā)虛擬現(xiàn)實交互功能的實現(xiàn)技術。
本書由王海嬰、王趙依楠主編,吳亞莉副主編,梁永文、余德峰參編。本書在編寫過程中,杜韋辰、馮凱、寧靜濤、趙燕、許朝森、周登杰、鄒宏偉、鮑蓉、鄧軍軍、孫玉玲等給予了大量的幫助;瘜W工業(yè)出版社的編輯們以高度負責的敬業(yè)精神,為本書付出了大量的心血,蘭州石化職業(yè)技術大學數(shù)字媒體教研室的老師和印刷出版工程分院的領導,為本書提出了很多寶貴的意見,在此向所有提供過幫助的人表示衷心的感謝。
由于編者水平有限,書中難免有疏漏之處,敬請各位讀者與專家批評指正。
編者
2022年5月
"
第1章 虛擬現(xiàn)實概述 001
1.1 VR從科幻到現(xiàn)實 002
1.2 虛擬現(xiàn)實的概念 003
1.3 虛擬現(xiàn)實的發(fā)展歷程 003
1.4 虛擬現(xiàn)實的技術特征、系統(tǒng)類型、價值 008
1.4.1 虛擬現(xiàn)實的技術特征 008
1.4.2 虛擬現(xiàn)實系統(tǒng)類型 009
1.4.3 虛擬現(xiàn)實技術的價值 010
1.5 虛擬現(xiàn)實系統(tǒng)的相關技術與軟件 010
1.5.1 環(huán)境建模技術 011
1.5.2 實時三維繪制技術 013
1.5.3 圖像的插值及視圖變換技術 013
1.5.4 三維虛擬聲音仿真技術 013
1.5.5 自然交互與傳感技術 016
1.5.6 碰撞檢測技術 016
1.6 虛擬現(xiàn)實技術的研究現(xiàn)狀及發(fā)展趨勢 017
1.6.1 虛擬現(xiàn)實技術的研究現(xiàn)狀 017
1.6.2 虛擬現(xiàn)實技術存在的主要瓶頸 018
1.6.3 虛擬現(xiàn)實技術的發(fā)展趨勢 019
1.7 增強現(xiàn)實 019
1.7.1 增強現(xiàn)實技術的特征 020
1.7.2 增強現(xiàn)實系統(tǒng)的分類 020
1.7.3 增強現(xiàn)實的硬件概覽 021
1.7.4 增強現(xiàn)實技術的實際應用 022
實踐案例 Pokémon GO 023
實踐案例 甘肅省博物館 024
實踐案例 AR卡和AR書籍 024
1.8 VR和AR的區(qū)別 024
1.9 關注元宇宙 025
1.9.1 元宇宙的元年 025
1.9.2 元宇宙的概念及歷史由來 026
1.9.3 元宇宙的技術與核心 027
1.9.4 元宇宙與VR(虛擬現(xiàn)實)、AR(增強現(xiàn)實)、MR(融合現(xiàn)實)、AI等的關系 028
1.9.5 元宇宙與我們未來的生活 029
第2章 Unity 3D軟件界面介紹 030
2.1 Unity 3D界面布局 031
2.2 資源管理 036
2.3 游戲開發(fā)案例 037
2.3.1 創(chuàng)建新項目 037
2.3.2 創(chuàng)建地面(創(chuàng)建游戲對象) 038
2.3.3 創(chuàng)建場景,保存項目 038
2.3.4 調(diào)整場景視圖的攝像機 038
2.3.5 創(chuàng)建方塊和小球 038
2.3.6 運行游戲 039
2.3.7 攝像機的便捷功能 040
2.3.8 修改游戲對象的名字,保存場景 040
2.3.9 模擬物理運動(添加“Rigidbody”組件) 040
2.3.10 讓玩家角色跳起來(添加游戲腳本) 041
2.3.11 修改游戲對象的顏色(創(chuàng)建材質(zhì)) 043
2.3.12 發(fā)布游戲(調(diào)整播放器設置) 044
第3章 地形與美術資源 047
3.1 VR美術素材概述 048
3.2 VR應用美術素材制作注意事項 048
3.3 VR美術資源制作流程及常用軟件 050
3.3.1 VR美術資源制作概述 050
3.3.2 VR美術資源制作常用軟件 050
3.4 Unity 3D地形系統(tǒng)概述 052
實踐案例 采用高度圖創(chuàng)建地形 054
3.5 Unity 3D創(chuàng)建地形所用工具 055
3.6 Unity 3D環(huán)境特效 062
3.7 PBR材質(zhì)及工作流程 064
3.8 Prefab(預制體) 065
第4章 Unity 3D腳本編程 068
4.1 腳本的概念與作用 069
4.2 Unity編程基礎 069
4.3 在Unity中使用C#進行面向對象的程序設計 073
4.3.1 腳本訪問場景中的游戲對象 074
4.3.2 腳本訪問組件 077
4.4 必知的腳本知識 079
4.4.1 Vector3類 079
4.4.2 Quaternion(四元數(shù))類 080
4.4.3 Random類 080
4.4.4 C#中的IEnumerator(迭代器)類與Unity中的Coroutine(協(xié)程)類 080
4.4.5 Mathf類 081
4.4.6 Time類 082
4.4.7 Input類 082
4.5 輸入配置示例 084
第5章 Unity 3D的物理引擎 089
5.1 物理引擎簡介 090
5.1.1 RigidBody(剛體)組件 090
5.1.2 Character Controller(角色控制器)組件 091
5.1.3 Collider(碰撞體/器)組件 093
5.1.4 Constant Force(恒定力)組件 095
5.1.5 Joint(關節(jié))組件 096
5.1.6 PhysicsMaterials(物理材質(zhì)) 099
5.1.7 Triggers(觸發(fā)器) 100
5.2 Raycast(射線) 101
第6章 Unity 3D動畫系統(tǒng) 109
6.1 Unity 3D動畫系統(tǒng)基本概念 110
6.1.1 Animation Clip(動畫剪輯) 110
6.1.2 舊版基于Animation組件的動畫 110
6.2 分割提取模型中的動畫與Animator組件管理 115
6.2.1 導入并設置縮放 116
6.2.2 設置新版動畫類型——Humanoid 117
6.2.3 分割動畫片段 118
6.3 Animator Controller及動畫狀態(tài)機 120
6.4 Avatar、Avatar Mask、Layer、Timeline等概念 123
6.4.1 Avatar、Avatar Mask、Layer 123
6.4.2 TimeLine 124
第7章 Unity 3D界面設計UGUI 126
7.1 Canvas組件 127
7.1.1 Canvas組件的3種渲染模式 127
7.1.2 Canvas Scalar組件 128
7.2 Panel(面板) 128
7.3 Event System(事件系統(tǒng)) 129
7.4 Text控件 129
7.5 Image控件 130
7.6 Button控件 133
7.7 Anchor錨點與屏幕自適應 140
第8章 Unity 3D粒子系統(tǒng) 143
8.1 粒子系統(tǒng)概述 144
8.2 實例1:使用粒子系統(tǒng)制作火堆效果 146
8.3 實例2:使用粒子系統(tǒng)制作飛機發(fā)動機噴氣尾管效果 149
第9章 Unity 3D智能尋路導航系統(tǒng) 154
9.1 智能尋路導航系統(tǒng)簡述 155
9.2 NavMesh及其創(chuàng)建 155
9.3 Nav Mesh Agent組件 157
9.4 Off Mesh Link組件 160
9.5 Nav Mesh Obstacle組件 163
參考文獻 168