商品簡介
本書以Unity 2019.3.2版本為基礎介紹虛擬現實遊戲開發知識。主要講述Unity 2019.3.2版本的使用方法及經驗,系統地介紹虛擬現實遊戲的設計開發方法。 本書分為兩部分,部分為基礎知識篇(第1~9章),第二部分為綜合實踐篇(第10~11章)。其中,部分主要介紹Unity的基礎知識,包括虛擬現實技術概述、初識Unity引擎、腳本開發基礎、GUI遊戲界面、3D遊戲場景、物理系統、動畫系統、粒子系統及導航系統等內容,從總體上對Unity引擎進行概要性介紹。第二部分介紹2D撲克牌遊戲和3D射擊遊戲,使讀者對Unity遊戲開發及虛擬現實內容設計製作有一個較全面的認識。全書提供了大量應用實例的配套資源,讀者可通過掃描書中二維碼或登錄清華大學出版社網站下載使用。 本書適合作為高等院校數字媒體技術、數字媒體藝術及相關專業學生的參考書,也適合廣大Unity初學者以及有志於從事Unity工作的人員使用。
作者簡介
主講課程本科生課程2門:虛擬現實技術、遊戲引擎基礎、增強現實技術;
研究方向:虛擬現實技術、數字遊戲開發;發表核心期刊十余篇;代表性著作主要有:《Unity3D項目實踐》,吉林:吉林文史出版社等;
科研項目:參與1項遼寧省自然科學基金項目:基於移動增強現實的目標識別與跟蹤技術研究。
曾經編寫過的教材
楊浩婕,李婷婷《Unity3D項目實踐》,吉林:吉林文史出版社,2016.5.
李婷婷,剛家林《計算機圖形圖像編程實踐教程》,大連:東軟電子出版社。
名人推薦
1.本書面向初級開發者,以Unity 2019.3.2為平臺,系統介紹虛擬現實遊戲開發的基礎知識。內容豐富、條理清晰,講解由淺入深、循序漸進。
2.提供完整的操作流程與詳細的步驟講解,分別從項目構思、項目設計、項目實施、項目測試角度詳細講解案例。
3.注重理論與實踐的結合,分析製作重點和難點,用大量案例闡述虛擬現實遊戲開發的理論知識和實際操作。
4.可作為高等院校數字媒體和遊戲開發專業的學習用書,也可作為學習Unity遊戲引擎開發的自學參考書。
5.本書提供豐富的配套資源,讀者可登錄清華大學出版社網站下載使用。
序
自21世紀起,虛擬現實(Virtual Reality,VR)伴隨計算機技術、電子信息技術、仿真技術的發展成為一項全新的應用技術。虛擬現實系統可以利用計算機生成一種模擬環境,使用戶沉浸到該環境中,與虛擬世界中的物體進行自然交互,通過視覺、聽覺和觸覺等獲得對虛擬世界的感知。目前,虛擬現實技術已經在多個領域有了廣泛應用,包括醫學模擬手術、軍事航天模擬訓練、工業仿真、應急推演以及電子遊戲等等。其中,電子遊戲與虛擬現實技術有著極為重要的聯繫。虛擬現實技術賦予遊戲玩家身臨其境的帶入感,使得遊戲從平面真正走向立體化,對遊戲開發起到了巨大的推動作用。
如今,市面流行的遊戲開發引擎主要有Unity、Unreal、Cocos2D、CryEngine等。其中,Unity和Unreal是目前市場上熱門的遊戲引擎,且各自擁有為數眾多的開發者。Unity引擎是由Unity Technologies公司開發的,它憑借自身的跨平臺性和開發性優勢,已逐漸成為當今世界範圍內的主流遊戲引擎。Unity引擎常用於手機端和網絡端的遊戲開發,用其開發的遊戲可以在瀏覽器、移動設備或遊戲機等所有常見平臺上運行。該引擎功能強大,簡單易學,對初學者或專業遊戲開發團隊來說都是非常好的選擇。
本書以Unity 2019.3.2版本為基礎介紹虛擬現實遊戲開發的相關知識,系統介紹Unity引擎的開發基礎知識和使用方法,包括虛擬現實技術概述、初識Unity引擎、腳本開發基礎、GUI遊戲界面、3D遊戲場景、物理系統、動畫系統、粒子系統、導航系統、2D撲克牌遊戲開發、3D射擊遊戲開發等內容。通過學習本書,讀者可以在Unity引擎的基礎上熟悉並掌握虛擬現實遊戲開發的方法。
本書內容豐富,條理清晰,從基本知識到高級特性,從簡單的應用程序到完整的3D遊戲開發,循序漸進地將Unity引擎基礎知識及虛擬現實開發流程完整地呈現在廣大讀者面前。本書的章節內容安排如圖1所示。本書非常適合作為數字媒體技術、數字媒體藝術及計算機相關專業關於虛擬現實或遊戲引擎的入門參考書。
本書受遼寧省教育廳科學研究經費項目(項目編號: JZR2019005)、遼寧省自然科學基金計劃(項目編號: 2019ZD0352)、大連市科技創新基金項目(項目編號: 2019J13SN112)資助,由大連東軟信息學院數字媒體藝術專業虛擬現實設計課程群負責人李婷婷編著,參加項目開發測試的還有許鳴輝、宋志謙等。圖1章節內容安排
由於近年來虛擬現實開發技術發展迅速,Unity引擎版本更新加快,同時受編者自身水平及編寫時間所限,本書難免存在疏漏和不足之處,敬請廣大讀者提出寶貴意見和建議,我們將不勝感激。
編者2021年3月
目次
第1篇 基礎知識篇第1章虛擬現實技術概述31.1虛擬現實技術的相關概念31.1.1虛擬現實31.1.2增強現實31.1.3混合現實41.1.4VR、AR和MR的區別41.2虛擬現實系統的基本特徵51.3虛擬現實系統的分類61.4虛擬現實系統的組成61.5虛擬現實技術的應用71.6虛擬現實開發軟件及平臺91.7虛擬現實開發設備121.7.1Oculus Rift121.7.2HoloLens131.7.3Gear VR141.7.4HTC Vive141.8虛擬博物館開發項目151.9小結191.10習題19第2章初識Unity引擎202.1Unity引擎概述202.1.1Unity引擎的特點202.1.2Unity引擎的發展212.1.3Unity引擎的應用222.2Unity引擎的下載與安裝252.2.1下載Unity引擎252.2.2安裝Unity引擎262.2.3登錄Unity引擎352.3Unity引擎編輯器362.3.1界面布局362.3.2工作視圖372.3.3菜單欄452.3.4工具欄502.4Unity引擎的基本操作512.4.1創建項目512.4.2創建遊戲物件522.4.3添加材質532.4.4添加組件542.4.5保存項目552.4.6發布項目562.5基礎操作綜合項目592.6小結622.7習題63第3章腳本開發基礎643.1腳本概述643.2腳本編寫643.2.1創建腳本643.2.2鏈接腳本663.2.3運行腳本663.2.4注意事項663.3腳本開發實踐項目673.3.1移動的立方體673.3.2創建遊戲物件733.3.3變換的立方體753.4腳本開發綜合項目783.5小結843.6習題84第4章GUI遊戲界面854.1GUI概述854.1.1GUI的概念854.1.2GUI的發展854.2UGUI控件864.2.1Canvas控件864.2.2EventSystem事件系統874.2.3Text控件884.2.4Image控件894.2.5Raw Image控件894.2.6Button 控件904.2.7Toggle控件914.2.8Input Field控件924.2.9Slider控件944.2.10Scrollbar控件954.2.11Panel控件964.3Rect Transform974.3.1Anchors984.3.2Pivot984.4GUI遊戲界面綜合項目994.5小結1194.6習題120第5章3D遊戲場景1215.1遊戲場景概述1215.2創建場景地形1225.2.1使用高度圖創建地形1225.2.2使用地形編輯器創建地形1245.3創建光源陰影1365.3.1光源分類1365.3.2光照陰影1405.4添加角色控制1415.4.1人稱角色1415.4.2第三人稱角色1425.5添加環境效果1445.5.1添加天空盒1445.5.2添加水效果1445.5.3添加霧效果1465.6添加影音效果1475.6.1添加音效1475.6.2添加視頻1495.7系統資源管理1535.7.1導入系統資源包1545.7.2導入外部資源包1555.7.3導出系統內資源1565.8資源商店1575.8.1資源商店簡介1575.8.2資源商店的使用1575.93D遊戲場景綜合項目1605.10小結1775.11習題177第6章物理系統1786.1物理系統概述1786.2常用物理組件1786.2.1剛體組件1786.2.2角色控制器組件1806.2.3觸發器組件1816.2.4碰撞器組件1816.2.5布料組件1856.2.6關節組件1866.3常用物理材質1936.4射線檢測1946.5物理管理器1956.6物理系統實踐項目1966.6.1可拖拽的剛體1966.6.2碰撞消失的立方體1996.6.3彈跳的小球2026.6.4拾取物體2066.7物理系統綜合項目2086.8小結2156.9習題215第7章動畫系統2167.1Mecanim概述2167.1.1Mecanim系統的特性2167.1.2Mecanim的核心概念2167.1.3Mecanim的工作流程2187.2人形動畫2187.2.1創建Avatar2187.2.2配置Avatar2197.2.3動畫重定向2197.3動畫狀態機2217.3.1連接設置2217.3.2過渡設置2217.4動畫系統實踐項目2227.4.1順序角色動畫項目2227.4.2鍵盤交互動畫項目2267.4.3鼠標交互動畫項目2337.5動畫系統綜合項目2407.6小結2537.7習題253第8章粒子系統2548.1粒子系統概述2548.2粒子系統屬性2548.2.1通用屬性2558.2.2其他屬性2578.3粒子系統實踐項目2698.3.1燃燒的火焰項目2698.3.2發光的法杖項目2768.3.3上升的氣泡項目2798.4粒子系統綜合項目2828.5小結2938.6習題293第9章導航系統2949.1導航系統概述2949.2導航設置步驟2949.2.1設置導航物件2949.2.2烘焙(Bake)2959.2.3設置導航網格代理2969.3導航系統實踐項目2989.3.1AI路徑規劃項目2989.3.2AI障礙繞行項目3019.3.3AI導航追擊項目3039.4AI導航綜合項目3109.5小結3209.6習題320第2篇 綜合實踐篇第10章2D撲克牌遊戲32310.1遊戲構思32310.2遊戲設計32310.3遊戲實施32410.4遊戲測試33310.5小結33410.6習題334第11章3D射擊遊戲33511.1遊戲構思33511.2遊戲設計33511.3遊戲實施33611.3.1項目準備33611.3.2武器設定33811.3.3設定34011.3.4開槍動畫34611.3.5射擊功能35111.3.6遊戲優化35311.4遊戲測試35411.5小結35511.6習題355參考文獻357