Unity虛擬現實開發基礎(微課版)

何建

  • 出版商: 人民郵電
  • 出版日期: 2026-08-01
  • 定價: $359
  • 售價: $358
  • 語言: 簡體中文
  • 頁數: 216
  • ISBN: 7115691495
  • ISBN-13: 9787115691491
  • 相關分類: VR/AR
  • 下單後立即進貨 (約4週~6週)

  • Unity虛擬現實開發基礎(微課版)-preview-1
Unity虛擬現實開發基礎(微課版)-preview-1

商品描述

本書以VR/AR的開發為目的,力圖通過簡練準確的語言、精心設計的案例和圖文並茂的編排方式,闡述Unity編輯器的基本使用技能、VR/AR的開發技術及流程,為廣大讀者提供一條便捷有效的學習路徑。本書由9章組成。第1章闡述虛擬現實的基礎知識、核心技術、常用開發工具和應用。第2章闡述使用Unity編輯器的入門知識和入門技能。第3章闡述Unity腳本編程的基礎知識。第4章、第5章闡述Unity常用交互技術、與UI交互的知識。第6章闡述全景的相關知識和桌面端的全景項目實踐。第7章闡述基於Vuforia的AR項目實踐。第8章闡述基於Steam VR 2.x的VR項目實踐。第9章闡述基於XRI的VR項目實踐。 本書可作為普通高等學校或職業院校虛擬現實技術、數字媒體技術、教育技術學、計算機應用等專業相關課程的教材,也可作為相關教育培訓機構學生、相關從業人員和廣大VR/AR愛好者的參考書和入門讀物。

作者簡介

何建,碩士,高級實驗師,1994年6月畢業於西南師範大學電化教育學系,於四川師範大學計算機科學學院長期從事信息技術教育工作。面向教育技術學專業本/碩學生講授的課程有三維動畫創作、數字視頻節目制作、虛擬現實技術,面向全校師範類本科學生講授的課程有現代教育技術應用。合著教材有《現代教育技術應用》(科學出版社,2022年)、《現代教育技術應用實訓》(科學出版社)等教材。

目錄大綱

第 1章 虛擬現實技術概述 1 1.1 虛擬現實基礎知識 1 1.1.1 虛擬現實的概念 1 1.1.2 虛擬現實的起源與發展 2 1.1.3 虛擬現實的特征 4 1.1.4 虛擬現實系統分類 5 1.1.5 VR、AR、MR和XR概念辨析 7 1.2 虛擬現實技術 8 1.2.1 虛擬現實的技術結構 8 1.2.2 實物虛化技術 8 1.2.3 虛物實化技術 9 1.2.4 人機交互技術 11 1.3 虛擬現實常用開發工具 13 1.3.1 虛擬現實引擎 13 1.3.2 常用VR開發工具 16 1.3.3 常用AR開發工具 17 1.4 VR/AR應用 20 1.4.1 VR應用 20 1.4.2 AR應用 22 1.5 本章小結 24 1.6 本章習題 24 第 2章 走近Unity 25 2.1 Unity版本說明 25 2.2 搭建Unity開發環境 25 2.2.1 硬件環境準備 25 2.2.2 創建Unity ID 26 2.2.3 安裝Unity Hub 26 2.2.4 安裝Unity編輯器 27 2.2.5 獲取個人版許可證 28 2.3 Unity編輯器入門 29 2.3.1 創建一個Unity項目 29 2.3.2 初識Unity編輯器的界面 29 2.3.3 從Unity資源商店獲取需要的 資源 31 2.3.4 探索操作Scene視圖的方法 33 2.3.5 探索變換遊戲對象的方法 34 2.3.6 在Unity中運行遊戲 34 2.3.7 練一練:第 一人稱漫遊作品 34 2.3.8 發布自己的第 一款Unity作品 36 2.4 資源導入與導出 37 2.4.1 Unity資源概述 37 2.4.2 圖片文件的導入 37 2.4.3 音頻文件的導入 38 2.4.4 練一練:添加背景音樂 39 2.4.5 視頻文件的導入 40 2.4.6 練一練:在模型表面播放視頻 40 2.4.7 3D模型文件、動畫文件與材質 文件的導入 41 2.4.8 練一練:從Windows 3D資源庫 導入3D模型 42 2.4.9 Unity資源包的創建與導入 43 2.5 本章小結 44 2.6 本章習題 44 第3章 Unity腳本編程基礎 45 3.1 Unity腳本編寫規範 45 3.2 C#語法基礎 46 3.2.1 變量和數據類型 46 3.2.2 枚舉 48 3.2.3 算術、關系、邏輯運算符 49 3.2.4 語句和表達式 50 3.2.5 常用數據結構 51 3.2.6 方法 53 3.3 面向對象程序設計 57 3.3.1 類和對象 57 3.3.2 類的繼承與多態 60 3.3.3 接口及其實現 60 3.3.4 委托 62 3.3.5 事件 62 3.4 Unity組件化開發中的一些核心類型 65 3.4.1 Unity組件化開發 65 3.4.2 MonoBehaviour類 66 3.4.3 GameObject類 68 3.4.4 Transform類 69 3.4.5 Time類 70 3.4.6 Mathf類 70 3.4.7 Vector3結構體 71 3.5 實戰案例:制作一款迷你遊戲 71 3.5.1 案例描述 71 3.5.2 項目初始設置 72 3.5.3 讓遊戲主角可移動 72 3.5.4 設置攝影機的跟隨移動 73 3.5.5 添加可旋轉的“食物” 74 3.5.6 創建UI,顯示計分信息 75 3.5.7 案例中Inspector窗口顯示名與代碼 標識符的命名規則差異的說明 79 3.6 本章小結 79 3.7 本章習題 80 第4章 Unity常用交互技術 81 4.1 物理系統 81 4.1.1 剛體 82 4.1.2 碰撞體 83 4.1.3 碰撞事件 84 4.1.4 觸發事件 85 4.2 輸入 86 4.2.1 Input Manager 86 4.2.2 Input類中的常用變量和方法 88 4.3 鍵盤交互 89 4.4 鼠標交互 90 4.4.1 單擊事件 90 4.4.2 雙擊事件 91 4.4.3 滾輪事件 92 4.5 射線交互 92 4.5.1 場景射線 93 4.5.2 攝影機射線 93 4.5.3 Raycast()方法 93 4.5.4 練一練:通過鼠標移動遊戲對象 94 4.6 觸屏交互 95 4.7 Input System 96 4.7.1 Input System的安裝 96 4.7.2 Input System的結構 97 4.7.3 Input System的基礎使用 97 4.7.4 練一練:使用Input System移動 遊戲對象 98 4.8 實戰案例:制作一款雙人坦克遊戲 100 4.8.1 案例描述 100 4.8.2 項目初始設置 100 4.8.3 控制坦克行駛或轉向 101 4.8.4 炮彈飛行和擊中目標 104 4.8.5 坦克發射炮彈 107 4.8.6 坦克被炮彈擊中 110 4.8.7 雙玩家控制坦克 111 4.9 本章小結 112 4.10 本章習題 113 第5章 與UI交互 114 5.1 Canvas 114 5.1.1 Canvas概述 114 5.1.2 Canvas的3種渲染模式 115 5.1.3 UI控件的顯示順序 115 5.2 Rect Transform組件 116 5.3 Unity UI中的非交互控件 116 5.3.1 Image控件和Raw Image控件 117 5.3.2 Text控件和Text-TextMeshPro 控件 117 5.4 Unity UI中的可交互控件 118 5.4.1 Button控件和Button-TextMeshPro 控件 118 5.4.2 練一練:制作一個PPT文件瀏覽 項目 118 5.4.3 Toggle控件 120 5.4.4 Slider控件、Scrollbar控件 和Scroll View控件 121 5.4.5 Input Field控件和Input Field- TextMeshPro控件 122 5.4.6 Dropdown控件和Dropdown- TextMeshPro控件 122 5.5 Unity UI的布局管理 123 5.6 實戰案例:制作一款簡單計算器 123 5.6.1 案例描述 123 5.6.2 項目初始設置 123 5.6.3 分析簡單計算器的UI 123 5.6.4 編寫腳本 124 5.6.5 掛載腳本 130 5.6.6 運行測試 131 5.7 本章小結 131 5.8 本章習題 131 第6章 全景項目實踐 132 6.1 全景概述 132 6.1.1 全景的概念 132 6.1.2 全景的分類 133 6.1.3 全景的特點 134 6.2 全景素材的獲取 135 6.2.1 全景的拍攝設備 135 6.2.2 全景的拍攝方法 136 6.2.3 全景的後期處理 138 6.3 實戰案例:全景圖交互式瀏覽 139 6.3.1 案例描述 139 6.3.2 項目初始設置 140 6.3.3 創建球天並應用材質 140 6.3.4 創建多個球天對象 141 6.3.5 實現交互式瀏覽 141 6.3.6 在多個全景圖之間切換 142 6.4 實戰案例:全景視頻交互式瀏覽 145 6.4.1 案例描述 145 6.4.2 項目初始設置 145 6.4.3 設置全景視頻 145 6.4.4 實現交互式瀏覽 146 6.4.5 在多個全景視頻之間切換 146 6.4.6 新建起始場景並實現場景切換 功能 148 6.5 本章小結 150 6.6 本章習題 150 第7章 基於Vuforia的AR項目 實踐 151 7.1 AR概述 151 7.1.1 AR的概念和特點 151 7.1.2 AR項目開發工具 152 7.2 實戰案例:AR產品手冊 152 7.2.1 案例描述 152 7.2.2 部署Vuforia開發環境 153 7.2.3 搭建場景 155 7.2.4 交互的設計與實現 158 7.2.5 發布Android應用 159 7.3 實戰案例:AR識字遊戲 162 7.3.1 案例描述 162 7.3.2 準備知識 162 7.3.3 配置Vuforia開發環境 163 7.3.4 創建Database,添加識別圖 163 7.3.5 在圖片識別中應用虛擬按鈕 164 7.3.6 應用多圖識別實現拼字 166 7.3.7 發布Android應用 169 7.4 本章小結 170 7.5 本章習題 170 第8章 基於SteamVR 2.x的VR 項目實踐 171 8.1 HTC Vive安裝和調試 171 8.1.1 HTC Vive概述 171 8.1.2 HTC Vive硬件安裝 173 8.1.3 HTC Vive軟件安裝 174 8.1.4 探索HTC Vive的使用 176 8.2 新建VR項目的初始化設置 177 8.2.1 SteamVR Runtime和SteamVR Plugin概述 177 8.2.2 VR項目的初始設置 178 8.2.3 探索Interaction System 179 8.3 在VR中傳送 180 8.3.1 初始化場景 180 8.3.2 使用傳送點 181 8.3.3 使用傳送平面 182 8.4 在VR中與物體交互 183 8.4.1 可抓取的小球 183 8.4.2 可開關的門 184 8.4.3 可開關的抽屜 186 8.5 在VR中與UI交互 187 8.6 實戰案例:基於SteamVR 2.x的 沈浸式全景項目 188 8.6.1 案例描述 188 8.6.2 項目初始設置 189 8.6.3 MainScene場景的重定制 189 8.6.4 PanoramaPhotoScene場景的 重定制 190 8.6.5 PanoramaVideoScene場景的 重定制 193 8.7 本章小結 195 8.8 本章習題 195 第9章 基於XRI的VR項目 實踐 196 9.1 XRI概述 196 9.2 新建VR項目的初始化設置 197 9.2.1 安裝XR Plugin Management 和OpenXR 197 9.2.2 安裝XRI及其示例 198 9.3 在VR中移動、轉向和傳送 200 9.3.1 搭建自己的虛擬房間 200 9.3.2 在VR中移動和轉向 201 9.3.3 在VR中傳送 202 9.3.4 自定義傳送的遊標模型 203 9.4 在VR中與物體交互 203 9.4.1 使物體可抓取 204 9.4.2 隱藏手柄模型 204 9.4.3 對抓取的細節做一些優化 204 9.4.4 設置抓取位置和抓取姿態 205 9.5 提升與物體交互時的體驗 205 9.5.1 用聲音來強化反饋 206 9.5.2 定制一款電視機遙控器 206 9.6 在VR中與UI交互 208 9.6.1 在TextMeshPro中使用中文 字體 208 9.6.2 制作歡迎辭頁面 208 9.6.3 制作復位場景提示頁面 210 9.6.4 為動作綁定輸入 210 9.6.5 給玩家指定一個初始位置 和朝向 211 9.6.6 完善復位場景提示頁面的按鈕 交互 212 9.7 實戰案例:沈浸式飛機引擎拆裝 VR項目 212 9.7.1 案例描述 212 9.7.2 項目初始設置 212 9.7.3 創建沈浸式的3D場景 213 9.7.4 實現飛機引擎的拆分和裝配 214 9.8 本章小結 216 9.9 本章習題 216