Unity 2018 AR與VR開發快速上手( 簡體 字) | |
作者:吳雁濤 | 類別:1. -> 多媒體 -> 遊戲引擎 -> Unity |
出版社:清華大學出版社 | 3dWoo書號: 53300 詢問書籍請說出此書號! 有庫存 NT售價: 645 元 |
出版日:8/1/2020 | |
頁數:662 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787302558804 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 Unity的基本介紹 1
1.1 功能特點 1 1.1.1 Unity簡介 1 1.1.2 Unity的特點 1 1.2 版本及費用 2 1.3 下載和安裝 3 1.3.1 Unity版本的選擇和Unity Hub 3 1.3.2 下載 3 1.3.3 Unity Hub安裝和*啟動 4 1.3.4 用Unity Hub安裝Unity 7 1.4 Unity官方提供的學習資源 10 1.4.1 Unity Hub的連結資源 10 1.4.2 官方網站上的資源 11 1.4.3 Unity商城 12 第2章 Unity的世界和編輯器主要介面介紹 13 2.1 理解Unity的世界 13 2.1.1 虛擬的三維世界 13 2.1.2 必須存在的轉換 14 2.1.3 層級的結構 14 2.1.4 元件決定遊戲物件 14 2.1.5 場景和攝像機 14 2.2 理解Unity專案的結構 15 2.3 關於翻譯 16 2.4 啟動介面 17 2.4.1 新建項目 17 2.4.2 添加已有項目 18 2.4.3 打開項目 18 2.4.4 版本變更 19 2.5 預設介面 20 2.6 場景窗口 21 2.6.1 基本操作 21 2.6.2 變形工具 22 2.6.3 其他輔助工具 24 2.7 “Game”窗口 25 2.8 “Hierarchy”窗口 26 2.9 “Inspector”窗口 27 2.10 “Project”窗口 30 2.11 “Console”窗口 32 第3章 Unity快速入門 33 3.1 場景 33 3.2 遊戲對象 35 3.3 攝像機遊戲對象 36 3.4 組件 39 3.5 預製件 40 3.6 其他常用內容 41 3.6.1 3D模型 41 3.6.2 剛體 42 3.6.3 重力 43 3.6.4 物理特性 44 3.6.5 穿透 45 3.6.6 粒子系統 45 3.6.7 聲音播放 46 3.6.8 視頻播放 47 3.7 Unity GUI 48 3.7.1 渲染模式 48 3.7.2 矩陣變換(Rect Transform) 50 3.7.3 回應腳本 52 3.8 腳本 54 3.8.1 基本介紹 54 3.8.2 MonoBehaviour 55 3.8.3 Transform屬性 56 3.8.4 GameObject 58 3.8.5 常用事件 58 3.8.6 Instantiate 59 3.8.7 Destroy 60 3.8.8 獲取指定遊戲對象 61 3.8.9 獲取指定的組件 62 3.8.10 協程 63 3.8.11 場景切換 63 3.8.12 DontDestroyOnLoad 64 3.8.13 SendMessage 64 3.9 資源包的導入和匯出 66 3.9.1 導入資源包 66 3.9.2 匯出資源包 66 3.10 生成應用 67 3.10.1 生成Windows應用 68 3.10.2 生成Android應用 70 3.10.3 發佈iOS應用 74 3.11 Unity商城資源下載和導入 76 3.12 Unity程式設計新手建議 79 第4章 增強現實介紹 81 4.1 基本概念 81 4.2 支援平臺 81 4.3 實現方式 81 4.4 典型案例 83 4.5 常用增強現實SDK 88 4.6 現狀和前景 89 第5章 基於EasyAR SDK的增強現實的開發 90 5.1 EasyAR簡介 90 5.1.1 基本介紹 90 5.1.2 版本和功能 90 5.1.3 支援平臺 91 5.1.4 官方演示例子 91 5.2 獲取Key 91 5.3 下載導入開發包 93 5.4 EasyAR SDK概述 94 5.4.1 總體結構 94 5.4.2 EasyAR_Tracker(EasyAR追蹤器) 96 5.4.3 CameraDevice(攝像設備) 97 5.4.4 ARCamera(Unity攝像機) 97 5.4.5 EasyAR SDK中類的使用 98 5.4.6 圖片識別度檢測 98 5.5 識別圖片顯示3D模型 98 5.5.1 *基礎的例子——識別一個圖片顯示3D模型 98 5.5.2 圖片識別的兩個關鍵類 100 5.5.3 從多張圖片中只識別出一張圖片 103 5.5.4 從多張圖片中同時識別出多張圖片 107 5.6 識別圖片播放視頻 109 5.6.1 在平面上播放視頻 109 5.6.2 視頻播放的關鍵類 115 5.6.3 在3D物體上播放視頻 116 5.6.4 播放透明視頻 117 5.7 識別物體 118 5.8 相關的程式控制 122 5.8.1 圖片識別後的控制 122 5.8.2 通過程式控制圖片識別 126 5.8.3 物體識別後的控制 128 5.8.4 視頻播放控制 131 5.9 塗塗樂 135 5.10 脫卡 140 第6章 EasyAR SDK示例開發 145 6.1 主要思路 145 6.2 示例設計 145 6.2.1 添加基本內容 145 6.2.2 演示的功能設計 146 6.2.3 Unity3D場景設計 148 6.2.4 介面設計 150 6.3 準備工作 151 6.4 新建項目 155 6.5 啟動載入場景開發 155 6.5.1 設置場景 156 6.5.2 腳本編寫 159 6.6 主功能表場景開發 161 6.6.1 設置場景 161 6.6.2 腳本編寫 163 6.7 關於場景開發 165 6.8 返回功能開發 165 6.8.1 設置場景 165 6.8.2 腳本編寫 166 6.8.3 其他場景的設置 168 6.9 識別單圖場景開發 169 6.9.1 準備工作 169 6.9.2 場景基礎設置 169 6.9.3 識別圖片顯示文字 170 6.9.4 識別圖片顯示UI 171 6.9.5 識別圖片跳轉URL 173 6.9.6 識別圖片顯示3D模型 174 6.10 識別多圖場景開發 175 6.10.1 場景互動基本思路 175 6.10.2 用有限狀態機的理念重新整理思路 177 6.10.3 場景基礎設置 179 6.10.4 3D模型動作關係修改 181 6.10.5 3D模型添加碰撞 185 6.10.6 Yuko相關邏輯的編寫 188 6.10.7 UTC相關邏輯的編寫 191 6.10.8 Misaki相關邏輯編寫 198 6.10.9 清理警告和錯誤提示 202 6.11 物體識別用的模型準備 203 6.11.1 尋找合適的模型 203 6.11.2 模型修改 205 6.11.3 模型匯出和轉換 206 6.11.4 紙模轉換製作 209 6.11.5 模型製作 212 6.12 物體識別場景開發 213 6.12.1 設置場景 213 6.12.2 腳本編寫 215 6.13 視頻播放場景開發 217 6.13.1 設置場景 217 6.13.2 腳本編寫 219 6.14 控制識別物件場景開發 221 6.14.1 設置場景 221 6.14.2 腳本編寫 222 6.15 塗塗樂場景開發 224 6.15.1 塗塗樂內容的準備 224 6.15.2 設置場景 226 6.16 脫卡場景開發 229 6.16.1 設置場景 229 6.16.2 腳本編寫 232 6.17 打包 235 第7章 基於Vuforia Engine的增強現實的開發 238 7.1 Vuforia Engine簡介 238 7.2 Vuforia概述 239 7.3 獲取Key 240 7.4 導入開發包 242 7.5 導入Key和VuforiaConfiguration 246 7.5.1 導入Key 246 7.5.2 VuforiaConfiguration 247 7.6 添加和導入Database 248 7.6.1 添加Database 248 7.6.2 添加圖片識別物件 249 7.6.3 添加方塊識別對象 251 7.6.4 添加柱體識別對象 252 7.6.5 添加物體識別物件 253 7.6.6 下載Database 256 7.6.7 導入Database 257 7.7 識別圖片顯示模型 258 7.7.1 識別顯示單個圖片 258 7.7.2 識別顯示的多張圖片 262 7.8 識別圖片播放視頻 262 7.8.1 官方示例說明 262 7.8.2 借用官方例子的方法實現視頻播放 263 7.9 識別方塊顯示模型 266 7.10 識別柱體顯示模型 268 7.11 識別物體顯示模型 269 7.12 模型資料獲取及識別模型 272 7.12.1 模型資料的獲取 272 7.12.2 識別模型 277 7.13 環境認知 280 7.13.1 Ground Plane 281 7.13.2 Mid Air 282 7.14 程式控制 284 7.14.1 識別後的控制 284 7.14.2 虛擬按鈕及程式控制 290 第8章 用Vuforia做一個AR解謎小遊戲 294 8.1 起因 294 8.2 思路整理 294 8.3 準備工作 296 8.3.1 拼圖可行性測試 296 8.3.2 圖片準備 297 8.3.3 文字和音訊內容準備 298 8.3.4 其他內容準備 299 8.4 程式設計 300 8.4.1 添加基本內容 300 8.4.2 場景設計 301 8.4.3 主場景關鍵流程設計 302 8.5 項目搭建 303 8.6 啟動場景開發 308 8.6.1 設置場景 308 8.6.2 腳本編寫 311 8.7 添加系統變數 313 8.8 功能表場景開發 314 8.8.1 設置場景 314 8.8.2 腳本編寫 315 8.9 主場景開發 318 8.9.1 設置場景 318 8.9.2 識別後事件腳本的編寫 319 8.9.3 添加音訊播放功能的編寫 322 8.9.4 添加文字顯示功能 324 8.9.5 根據識別圖片獲取資訊並處理 326 8.9.6 按鈕解鎖功能的編寫 328 8.9.7 虛擬按鈕解鎖功能的編寫 339 8.9.8 初始提問的編寫 345 8.9.9 回答階段的編寫 355 8.9.10 添加修改解謎類型隨機的方法 358 8.10 發佈 360 8.11 後記 362 第9章 基於ARCore的增強現實開發 363 9.1 ARCore簡介 363 9.2 環境準備 364 9.2.1 SDK下載和導入 364 9.2.2 相關設置 365 9.3 ARCore基本結構 367 9.4 SessionConfig的配置 368 9.5 在平面上放置模型 369 9.6 光照評估 373 9.7 圖片識別 375 第10章 ARCore的例子 380 10.1 說明 380 10.2 場景搭建 380 10.3 菜單場景 382 10.4 異常判斷和返回功能表功能 386 10.5 空中畫線 388 10.5.1 設置場景 388 10.5.2 記錄運動軌跡的元件 390 10.5.3 腳本的編寫 392 10.5.4 腳本及按鈕設置 394 10.6 運動軌跡的顯示 396 10.6.1 添加ARCore Device 396 10.6.2 添加第二個Camera並設置 396 10.6.3 添加記錄軌跡的線 399 10.6.4 場景中其他內容的設置 401 10.6.5 編寫腳本 403 10.6.6 腳本設置 403 10.7 傳送門 405 10.7.1 導入透明材質 405 10.7.2 建立隱身房間預製件 406 10.7.3 設置場景 412 10.8 發佈 414 第11章 基於ARCore的室內導航 416 11.1 室內導航簡介 416 11.2 Unity NavMeshComponents簡介 417 11.3 程式設計 418 11.3.1 添加基本內容 418 11.3.2 功能和場景設計 419 11.4 圖片識別內容開發 422 11.4.1 準備工作 422 11.4.2 圖片識別功能場景的設置 426 11.4.3 ARCore錯誤提示功能腳本的開發 434 11.4.4 圖片識別功能腳本的開發 435 11.5 Debug模式開發 437 11.6 對應實際場景內容搭建和矯正 449 11.7 導航內容的開發 452 11.7.1 新建場景並複製導航內容 452 11.7.2 設置場景導航內容 452 11.7.3 導航腳本的開發 455 11.8 添加牆壁 459 11.9 添加顯示的模型和功能表 460 11.10 添加Debug按鈕 464 第12章 Mapbox的簡單使用 467 12.1 Mapbox簡介 467 12.2 獲取token 467 12.3 下載導入開發包 468 12.4 Mapbox總體結構 470 12.5 Mapbox Studio 471 12.5.1 Dataset 472 12.5.2 Tileset 480 12.5.3 Style 481 12.6 Mapbox顯示地圖 487 12.6.1 General專案配置 488 12.6.2 Image專案配置 491 12.6.3 Map Layers資料配置 492 12.6.4 動態生成多邊形區域內容 493 12.6.5 動態生成線內容 496 12.6.6 動態生成點內容 497 12.6.7 動態生成內容的修改 498 12.7 Mapbox當前位置定位 501 第13章 用Mapbox和ARCore做Pokemon Go 503 13.1 主要思路 503 13.2 CinemaChine介紹 503 13.2.1 CinemaChine的導入 503 13.2.2 CinemaChine基本結構 504 13.2.3 官方提供的Camera 507 13.3 示例設計 511 13.3.1 基本內容設計 511 13.3.2 場景設計 511 13.3.3 介面設計 512 13.4 準備工作 513 13.5 新建項目 514 13.6 單實例類基礎內容開發 515 13.7 啟動場景開發 516 13.7.1 設置場景 516 13.7.2 腳本編寫 520 13.8 ARCore測試場景開發 522 13.8.1 導入並設置相關SDK 522 13.8.2 設置場景 524 13.8.3 腳本編寫 525 13.9 設置場景開發 526 13.9.1 文本捲軸預製件的製作 526 13.9.2 選擇按鈕預製件的製作 530 13.9.3 設置場景 533 13.9.4 腳本編寫 536 13.10 地圖尋找場景開發 541 13.10.1 導入模型和攝像機外掛程式 542 13.10.2 3D模型動作關係修改 543 13.10.3 設置場景 547 13.10.4 玩家動作和鏡頭切換 552 13.10.5 捕捉的寵物製作 554 13.10.6 玩家控制腳本的編寫 555 13.10.7 寵物控制腳本的編寫 556 13.10.8 設置預置寵物 560 13.10.9 編寫隨機寵物初始化腳本 563 13.10.10 編寫寵物按一下處理 566 13.11 普通捕捉場景開發 567 13.11.1 添加陀螺儀控制Camera旋轉 567 13.11.2 添加顯示攝像頭內容 569 13.11.3 雙攝像頭顯示設定 571 13.11.4 添加抓捕特效 573 13.11.5 寵物生成和抓捕腳本的編寫 574 13.12 ARCore捕捉場景開發 578 13.12.1 場景設置 578 13.12.2 腳本編寫 579 13.13 打包 581 第14章 虛擬實境簡介 583 14.1 虛擬實境基本概念 583 14.2 VR設備總體介紹 583 14.3 Google Cardboard 584 14.4 HTC Vive、PSVR、Oculus Rift 584 14.5 VR應用介紹 585 14.6 VR開發常見的問題 586 第15章 基於Google VR SDK針對Cardboard的虛擬實境的開發 588 15.1 Google VR簡介 588 15.2 下載導入開發包 588 15.3 Google VR SDK概述 590 15.4 製作一個VR場景 592 15.4.1 設置場景 592 15.4.2 添加DOTween外掛程式 597 15.4.3 添加注視計時按一下功能 599 15.4.4 添加移動腳本 600 15.4.5 添加退出腳本 601 第16章 基於VRTK的虛擬實境的開發 602 16.1 VRTK簡介 602 16.2 下載導入開發包 603 16.3 VRTK基本結構 603 16.3.1 VRTK基本結構概述 603 16.3.2 VRTK基本結構搭建 604 16.3.3 VRTK模擬器的操作 608 16.4 手柄按鍵事件回應 609 16.5 手柄射線 612 16.6 傳送 617 16.7 與物體交互 621 16.8 UI操作 630 第17章 Unity訪問API 632 17.1 UnityWebRequest簡介 632 17.2 聚合資料的免費天氣 632 17.3 獲取天氣資訊 634 17.4 JSON的處理 639 第18章 其他Unity3D相關的內容 645 18.1 單一資料存儲 645 18.2 少量初始資料的存儲 646 18.2.1 將資料存儲在預製件裡 646 18.2.2 利用ScriptableObject將資料存儲為資源 647 18.3 用iTween外掛程式進行移動、縮放、旋轉操作 649 18.3.1 下載並導入外掛程式 649 18.3.2 iTween的基本調用 650 18.3.3 常見參數 650 18.3.4 iTween實現移動 651 18.3.5 iTween實現旋轉 652 18.3.6 iTween的變化值 652 18.3.7 iTween Visual Editor導入 654 18.3.8 iTween Visual Editor控制變化 655 18.3.9 iTween Visual Editor指定運動路徑 656 18.4 外掛程式推薦 659 Unity3D是一款跨平臺3D、2D游戲及互動內容開發引擎,并有著廣泛的影響力。隨著近年增強現實和虛擬現實的興起,很多增強現實和虛擬現實的技術提供方都提供了基于Unity3D的SDK包。本書講解Unity平臺AR與VR開發,通過本書讀者可以快速了解增強現實和虛擬現實的基本概念、應用實例,學習相關SDK的使用,并且參照例子上手制作出自己的AR/VR作品。
本書共分為18章,詳細講解Unity的安裝和使用、AR(增強現實)背景、EasyAR開發AR及實例、Vuforia開發AR及實例、ARCore開發AR及實例、Mapbox與ARCore的配合使用及實例、VR(虛擬現實)背景、Google VR開發VR及實例、VRTK開發VR及實例等內容,使讀者掌握Unity3D制作AR/VR產品的方法,快速進入AR/VR應用開發之門。 本書適合使用Unity3D平臺開發AR/VR游戲和應用的移動開發人員,也適合高等院校和培訓機構移動游戲開發課程的師生教學參考。 Unity3D是由Unity Technologies開發的一個讓玩家輕松創建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內容的多平臺的綜合型開發工具,是一個全面整合的專業游戲引擎。因其良好的生態及廣泛的支持,使其在增強現實(AR)和虛擬現實(VR)開發上也獲得了眾多廠商的青睞。很多增強現實和虛擬現實的技術提供商都提供了基于Unity3D的SDK包。
本書面向的讀者是沒有接觸過Unity3D的游戲開發初學者。讀者可以通過該書快速地了解Unity3D、增強現實以及虛擬現實的基本概念和一些實例,并且快速地參照例子制作出自己的AR/VR作品。 本書內容介紹 第1~3章介紹Unity3D基礎,內容包括Unity3D的基礎知識、操作界面、基本概念等,讓讀者對Unity3D有一個總體的了解,并能進行一些基本操作、代碼編寫。 第4~13章介紹增強現實開發,內容包括增強現實的基本概念、一些優秀的實例。詳細講解如何使用Unity3D和EasyAR、Vufoira、ARCore三款增強現實SDK開發圖片識別、物體識別、環境認知等相關的增強現實內容。其中每個SDK介紹完以后都有一個具體的例子,讓讀者可以了解如何思考并著手使用Unity3D進行相關內容的開發。此外,還將詳細講解用Unity3D和Mapbox開發地理信息定位的增強現實內容,并提供了一個Pokemon Go的例子。 第14~16章介紹虛擬現實開發,包括虛擬現實的基本概念,以及如何使用Unity3D和Google VR、VRTK兩款虛擬現實SDK開發響應式虛擬現實內容。 第17~18章介紹其他Unity3D相關的內容,包括Unity3D訪問Web API和其他常用的一些技術。 本書相關資料資源下載與技術支持 本書配套的源代碼和資源請掃描右邊二維碼獲得。本書閱讀過程中,如有疑問或者建議,可以發郵件,郵件主題為“2018 AR與VR開發”。 關于作者 吳雁濤,2000年西北工業大學材料科學與工程專業畢業,同年開始從事計算機相關工作,技術方向包括Web應用、Web前端、Unity3D開發等,著有圖書《Unity3D平臺AR與VR開發快速上手》。 吳雁濤 2020年12020年5月 |