Unity3D虛擬現實技術開發
內容描述
本書詳細介紹了虛擬現實相關的概念原理,並詳細講述應用開發工作中交互功能的實現技術。
全書共分為9章,其中,
1章詳細介紹了虛擬現實的基本概念、發展歷程以及日益臨近我們的元的發展雛形,給學習者建立興趣和方向;
2、3章介紹了虛擬現實開發軟件Unity 3D的工作界面和地形與美術資源的構建,為虛擬現實空間的開發探索打下基礎;
4~6章為全書的重點和難點,分別介紹了使用C#進行遊戲腳本編程、
NVIDIA的Physics物理引擎、Mecanim動畫系統,進一步築牢學習者開發虛擬現實應用的重要技能;
7章介紹了界面開發和設計的新技術UGUI;
8章介紹了粒子系統;
9章介紹了人工智能的成果在遊戲開發中的使用,智能尋路導航在遊戲開發中的應用,以及相應的三大組件。
本書以引導讀者正確認識VR相關技術,掌握虛擬現實應用軟件交互功能開發為目的,將知識點有機融合,
在作過程中由淺入深、循序漸進地安排了教學內容,便於讀者循序漸進地掌握虛擬現實應用軟件交互功能開發的基本流程和關鍵技術。
本書適合於應用型本科、高職院校的虛擬現實、數字媒體、計算機應用等專業的虛擬現實技術課程教學使用,
也可作為廣大虛擬現實內容開發者自學的進階圖書,
還可以作為從事虛擬現實項目開發的工程技術人員學習和應用的參考書。
目錄大綱
1章虛擬現實概述001
1.1 VR從科幻到現實002
1.2 虛擬現實的概念003
1.3 虛擬現實的發展歷程003
1.4 虛擬現實的技術特徵、系統類型、價值008
1.4.1 虛擬現實的技術特徵008
1.4.2 虛擬現實係統類型009
1.4.3 虛擬現實技術的價值010
1.5 虛擬現實係統的相關技術與軟件010
1.5.1 環境建模技術011
1.5.2 實時三維繪製技術013
1.5.3 圖像的插值及視圖變換技術013
1.5.4 三維虛擬聲音仿真技術013
1.5.5 自然交互與傳感技術016
1.5.6 碰撞檢測技術016
1.6 虛擬現實技術的研究現狀及發展趨勢017
1.6.1 虛擬現實技術的研究現狀017
1.6.2 虛擬現實技術存在的主要瓶頸018
1.6.3 虛擬現實技術的發展趨勢019
1.7 增強現實019
1.7.1 增強現實技術的特徵020
1.7.2 增強現實係統的分類020
1.7.3 增強現實的硬件概覽021
1.7.4 增強現實技術的實際應用022
實踐案例Pokémon GO 023
實踐案例甘肅省博物館024
實踐案例AR卡和AR書籍024
1.8 VR和AR的區別024
1.9 關注元025
1.9.1 元的元年025
1.9.2 元的概念及歷史由來026
1.9.3 元的技術與核心027
1.9.4 元與VR(虛擬現實)、AR(增強現實)、MR(融合現實)、AI等的關係028
1.9.5 元與我們未來的生活029
2章Unity 3D軟件界面介紹030
2.1 Unity 3D界面佈局031
2.2 資源管理036
2.3 遊戲開發案例037
2.3.1 創建新項目037
2.3.2 創建地面(創建遊戲對象) 038
2.3.3 創建場景,保存項目038
2.3.4 調整場景視圖的攝像機038
2.3.5 創建方塊和小球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 修改遊戲對象的顏色(創建材質) 043
2.3.12 發布遊戲(調整播放器設置) 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地形系統概述052
實踐案例採用高度圖創建地形054
3.5 Unity 3D創建地形所用工具055
3.6 Unity 3D環境特效062
3.7 PBR材質及工作流程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(元數)類080
4.4.3 Random類080
4.4.4 C#中的IEnumerator(迭代器)類與Unity中的Coroutine(協程)類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(關節)組件096
5.1.6 PhysicsMaterials(物理材質) 099
5.1.7 Triggers(觸發器) 100
5.2 Raycast(線) 101
6章Unity 3D動畫系統109
6.1 Unity 3D動畫系統基本概念110
6.1.1 Animation Clip(動畫剪輯) 110
6.1.2 舊版基於Animation組件的動畫110
6.2 分割提取模型中的動畫與Animator組件管理115
6.2.1 導入並設置縮放116
6.2.2 設置新版動畫類型——Humaid 117
6.2.3 分割動畫片段118
6.3 Animator Controller及動畫狀態機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(事件系統) 129
7.4 Tet控件129
7.5 Image控件130
7.6 Button控件133
7.7 Anchor錨點與屏幕自適應140
8章Unity 3D粒子系統143
8.1 粒子系統概述144
8.2 實例1:使用粒子系統製作火堆效果146
8.3 實例2:使用粒子系統製作飛機發動機噴氣尾管效果149
9章Unity 3D智能尋路導航系統154
9.1 智能尋路導航系統簡述155
9.2 NavMesh及其創建155
9.3 Nav Mesh Agent組件157
9.4 Off Mesh Link組件160
9.5 Nav Mesh Obstacle組件163
參考文獻168
作者介紹
王海嬰
1992直至今一直從事教育教學,95-97年擔任電化教育組組長,
98-01年轉計算機中心工作,2000年後脫離實驗室專門從事教學工作。
先後所教授的課程有:計算機文化基礎、辦公軟件自動化、計算機圖形學、計算機圖像處理製作、3DMa建模、
多媒體製作軟件Authorware、數字媒體工具Director、影視非線性編輯、影視後期特效製作AfterEffects、
數據庫、C語言、Java語言、HTML5前端設計開發、WebApp界面設計、虛擬現實腳本語言基礎(C#)、虛擬現實技術(Unity3D)。
06-08年參加電子科技大學在職工程碩士繼續教育獲軟件工程碩士學位證書;
09年獲評副教授,至今一直從事數字媒體專業的教學工作;
2016年夏季參加首屆與在北京林業大學舉辦的全國高校VR師資培訓;
2017年暑期參加甘肅省教育廳赴波蘭華沙維斯瓦大學的省高校英語水平培訓並獲合格證書。