買這商品的人也買了...
- 
                
                   深入淺出 WPF 深入淺出 WPF$270$257
- 
                
                   WPF 編程寶典 -- 使用 C# 2012 和 .NET 4.5 (第4版) (Pro WPF in C# 2012: Windows Presentation Foundation in .NET 4.5) WPF 編程寶典 -- 使用 C# 2012 和 .NET 4.5 (第4版) (Pro WPF in C# 2012: Windows Presentation Foundation in .NET 4.5)$1,374$1,305
- 
                
                   $403Unity 3D 腳本編程 — 使用 C#語言開發跨平臺遊戲 $403Unity 3D 腳本編程 — 使用 C#語言開發跨平臺遊戲
- 
                
                   $594Unity 5.x 完全自學手冊 $594Unity 5.x 完全自學手冊
- 
                
                   $454OpenCV 4 快速入門 $454OpenCV 4 快速入門
- 
                
                   $454AR / VR 技術與應用 — 基於 Unity 3D / ARKit / ARCore (微課視頻版) $454AR / VR 技術與應用 — 基於 Unity 3D / ARKit / ARCore (微課視頻版)
- 
                
                   $517WebRTC 技術詳解:從0到1構建多人視頻會議系統 $517WebRTC 技術詳解:從0到1構建多人視頻會議系統
- 
                
                   Unity AR/VR 開發:實戰高手訓練營 Unity AR/VR 開發:實戰高手訓練營$654$621
- 
                
                   $352虛擬現實開發基礎 $352虛擬現實開發基礎
- 
                
                   $556HoloLens 2 開發入門精要 — 基於 Unity 和 MRTK $556HoloLens 2 開發入門精要 — 基於 Unity 和 MRTK
- 
                
                   $189Unity3D 虛擬現實技術開發 $189Unity3D 虛擬現實技術開發
- 
                
                   Unity VR 與 AR 項目開發實戰 Unity VR 與 AR 項目開發實戰$708$673
- 
                
                   $356Unity 腳本語言基礎 (基於 C#)(微課版) $356Unity 腳本語言基礎 (基於 C#)(微課版)
- 
                
                   $458Unity 3D可視化VR應用開發實戰(零代碼版·微課視頻版) $458Unity 3D可視化VR應用開發實戰(零代碼版·微課視頻版)
- 
                
                   VR/AR 應用開發 (Unity 3D) VR/AR 應用開發 (Unity 3D)$570$542
- 
                
                   $512Unity 遊戲優化, 3/e (Unity Game Optimization, 3/e) $512Unity 遊戲優化, 3/e (Unity Game Optimization, 3/e)
- 
                
                   $403Unity + EasyAR 增強現實開發實踐 $403Unity + EasyAR 增強現實開發實踐
- 
                
                   Unreal Engine 5 從入門到精通 Unreal Engine 5 從入門到精通$888$844
- 
                
                   $556Unreal Engine 5 互動開發 $556Unreal Engine 5 互動開發
- 
                
                   跟 NVIDIA 學深度學習!從基本神經網路到 ......、GPT、BERT...,紮穩機器視覺與大型語言模型 (LLM) 的建模基礎 跟 NVIDIA 學深度學習!從基本神經網路到 ......、GPT、BERT...,紮穩機器視覺與大型語言模型 (LLM) 的建模基礎$880$748
- 
                
                   新範式來臨 - 用 PyTorch 了解 LLM 開發微調 ChatGLM 全過程 新範式來臨 - 用 PyTorch 了解 LLM 開發微調 ChatGLM 全過程$980$774
- 
                
                   AI 神助攻!程式設計新境界 – GitHub Copilot 開發 Python 如虎添翼 : 提示工程、問題分解、測試案例、除錯 AI 神助攻!程式設計新境界 – GitHub Copilot 開發 Python 如虎添翼 : 提示工程、問題分解、測試案例、除錯$560$442
- 
                
                   人工智能邊緣運算開發實戰:基於 NVIDIA Jetson Nano 人工智能邊緣運算開發實戰:基於 NVIDIA Jetson Nano$594$564
- 
                
                   VR 遊戲實踐速通 (面向一體機平臺的 Unity 開發技巧) VR 遊戲實踐速通 (面向一體機平臺的 Unity 開發技巧)$534$507
- 
                
                   Unity3D 虛擬現實開發 Unity3D 虛擬現實開發$419$398
商品描述
隨著5G、人工智能、雲計算等技術的發展,虛擬現實技術將在醫療、教育、工業等場景中發揮重要的作用。同時,它還是通向元宇宙的重要入口和體驗場景之一。 因為Unity是當前業界領先的VR/AR內容製作工具,所以本書基於Unity編輯器對其進行講解。本書主要分為兩大部分:第一部分講解SteamVR 2.x Unity插件的功能,包括新引入的動作機制和Interaction System;第二部分以一個完整的VR項目為例,帶領讀者從零起步,從項目創建開始,到最終導出為可交付的應用程序。各章還會介紹在項目製作過程中涉及的核心技術,包括但不限於場景搭建、製作VR中的UI、使用第三方工具製作材質資源、烘焙場景的光照貼圖、交互開發等。
目錄大綱
第 1 章 SteamVR 基礎交互開發 .................................................................................. 1 
1.1 SteamVR 與相關 VR 硬件 .................................................................................. 1 
1.1.1 HTC VIVE 硬件介紹 .............................................................................. 1 
1.1.2 VR 手柄控制器按鍵介紹........................................................................ 3 
1.1.3 HTC VIVE 開發推薦 PC 端規格 ........................................................... 4 
1.2 OpenVR、SteamVR、OpenXR 相關概念 ........................................................ 5 
1.2.1 OpenVR .................................................................................................... 6 
1.2.2 OpenVR Desktop ..................................................................................... 6 
1.2.3 OpenVR XR Plugin .................................................................................. 7 
1.2.4 SteamVR 客戶端 ..................................................................................... 8 
1.2.5 SteamVR Plugin ....................................................................................... 9 
1.2.6 OpenXR .................................................................................................. 10 
1.2.7 OpenXR Plugin ...................................................................................... 11 
1.3 在 Unity 中使用 SteamVR 插件 ....................................................................... 12 
1.3.1 SteamVR 插件的獲取 .......................................................................... 12 
1.3.2 SteamVR Plugin 2.x 新版本的變化 ..................................................... 14 
1.3.3 導入 SteamVR 插件 .............................................................................. 15 
1.3.4 初次運行 SteamVR 應用程序 ............................................................... 17 
1.4 SteamVR 2.x 中的動作 .................................................................................... 19 
1.4.1 SteamVR Input 窗口 ............................................................................. 19 
1.4.2 創建動作 ................................................................................................ 22 
1.4.3 動作與按鍵的綁定 ................................................................................ 22 
1.5 通過腳本獲取動作的輸入 ................................................................................ 26 
1.5.1 聲明和引用動作 .................................................................................... 26 
1.5.2 獲取動作輸入 ........................................................................................ 27 
1.6 Interaction System .............................................................................................. 30 
1.6.1 Interaction System 的核心模塊 ............................................................. 31 
1.6.2 使用 Interaction System 實現位置傳送 ............................................... 32 
1.6.3 使用 Interaction System 實現與物體的交互 ....................................... 35 
1.7 在 SteamVR 2.x 中使用自定義手部模型 ....................................................... 37 
1.7.1 骨骼輸入原理概述 ............................................................................... 37 
1.7.2 自製模型設置 ....................................................................................... 39 
1.7.3 SteamVR_Behaviour_Skeleton 組件設置 ............................................ 40 
1.8 使用 Oculus Quest 學習 SteamVR 開發 ....................................................... 41 
1.8.1 Oculus Link 簡介 .................................................................................. 41 
1.8.2 具體步驟及常見問題............................................................................ 42 
1.8.3 建議使用的開發軟件版本 .................................................................... 45 
1.8.4 測試 ....................................................................................................... 47 
1.9 SteamVR 開發常用腳本匯總 .......................................................................... 47 
1.9.1 獲取 Touchpad 鍵上觸摸點的位置 ...................................................... 47 
1.9.2 獲取體驗者位置 ................................................................................... 48 
1.9.3 獲取體驗者某一個 Hand 的引用 ......................................................... 49 
1.9.4 獲取與當前遊戲對象交互的手柄控制器 ............................................ 49 
1.9.5 獲取被交互遊戲對象的信息 ................................................................ 50 
1.9.6 手部在進入某區域時切換姿態 ............................................................ 50 
第 2 章 VR 博物館項目實戰準備................................................................................ 52 
2.1 項目軟硬件準備 ............................................................................................... 52 
2.1.1 項目硬件準備 ....................................................................................... 52 
2.1.2 項目軟件準備 ....................................................................................... 53 
2.1.3 Unity 插件準備 .................................................................................... 55 
2.1.4 為什麼建議使用約定的軟件版本 ........................................................ 55 
2.2 URP 概述 ........................................................................................................... 56 
2.2.1 URP 簡介 ............................................................................................... 56 
2.2.2 使用模板創建基於 URP 的 Unity 項目 ............................................... 57 
2.2.3 將現有項目的渲染管線轉換為 URP ................................................... 60 
2.2.4 為什麼沒有使用 HDRP ........................................................................ 62 
2.2.5 URP 學習建議 ....................................................................................... 63 
2.3 材質、貼圖與 UV ............................................................................................. 63 
2.3.1 什麼是材質 ........................................................................................... 63 
2.3.2 基於物理的渲染:PBR 理論 ............................................................... 64 
2.3.3 URP 中的材質 ....................................................................................... 65 
2.3.4 什麼是貼圖 ........................................................................................... 67 
2.3.5 PBR 常用貼圖類型 ............................................................................... 67 
2.3.6 什麼是 UV ............................................................................................. 71 
2.4 模型對接標準 .................................................................................................... 72 
2.4.1 Unity 結合 Blender 進行模型處理的工作流程.................................... 72 
2.4.2 模型 UV 準備 ........................................................................................ 75 
2.4.3 模型對象的命名 .................................................................................... 77 
2.4.4 確保模型使用的單位與 Unity 一致 ..................................................... 77 
2.4.5 對模型設置合理的中心點 .................................................................... 78 
2.4.6 使用布線合理且面數較低的模型 ........................................................ 79 
第 3 章 烘焙光照貼圖技術 ......................................................................................... 81 
3.1 光照貼圖 ............................................................................................................ 81 
3.1.1 什麼是光照信息 .................................................................................... 81 
3.1.2 為什麼要烘焙光照貼圖 ........................................................................ 82 
3.1.3 直接光照和間接光照 ............................................................................ 83 
3.1.4 烘焙光照貼圖的基本原理 .................................................................... 84 
3.2 Lighting 窗口的參數介紹 ................................................................................. 85 
3.2.1 窗口概覽 ................................................................................................ 85 
3.2.2 Scene 選項卡中的參數 ......................................................................... 86 
3.2.3 Environment 選項卡中的參數 .............................................................. 95 
3.2.4 Baked Lightmaps 選項卡 ....................................................................... 98 
3.3 項目基礎布光設置 ............................................................................................ 99 
3.3.1 場景光照來源分析 ................................................................................ 99 
3.3.2 製作玻璃材質 ...................................................................................... 100 
3.3.3 調整 URP 配置文件的相關參數 ........................................................ 102 
3.4 烘焙光照貼圖 .................................................................................................. 105 
3.4.1 應用臨時材質 ...................................................................................... 105 
3.4.2 設置遊戲對象參與烘焙光照貼圖 ...................................................... 106 
3.4.3 設置 Lighting Settings 參數 .............................................................. 107 
3.4.4 面光源的使用 ...................................................................................... 110 
3.4.5 切換天空盒 .......................................................................................... 112 
第 4 章 VR 寫實材質技術 ......................................................................................... 115 
4.1 Substance 材質的使用 .................................................................................... 115 
4.1.1 概述 ...................................................................................................... 115 
4.1.2 Substance in Unity 插件的使用 .......................................................... 116 
4.1.3 在 Unity 中使用 Substance 材質 ..................................................... 117 
4.2 使用 Substance 3D Designer 製作牆面材質 ................................................. 121 
4.2.1 Substance 3D Designer 簡介 .............................................................. 121 
4.2.2 在 Substance 3D Designer 中製作牆面材質 .................................... 122 
4.2.3 在場景中使用牆面材質 ...................................................................... 128 
4.3 製作並應用木地板材質 .................................................................................. 129 
4.3.1 在 Substance 3D Sampler 中製作木地板材質 ................................. 130 
4.3.2 將材質導出為 Substance ................................................................... 134 
4.3.3 將木地板材質應用到項目場景中 ...................................................... 135 
4.4 下一步行動 ..................................................................................................... 136 
第 5 章 實現項目的基本交互功能 ............................................................................ 137 
5.1 實現基礎 VR 交互 .......................................................................................... 137 
5.1.1 導入 SteamVR 插件 .......................................................................... 137 
5.1.2 實現在 VR 頭顯中查看場景內容 ...................................................... 138 
5.1.3 將必要材質適配 URP ......................................................................... 139 
5.1.4 實現位置傳送功能 ............................................................................. 140 
5.1.5 優化位置傳送體驗 ............................................................................. 142 
5.1.6 整理場景遊戲對象 ............................................................................. 144 
5.2 實現對象的抓取 ............................................................................................. 144 
5.2.1 為遊戲對象添加合適的碰撞體組件 .................................................. 144 
5.2.2 為遊戲對象添加 Throwable 組件 ...................................................... 145 
5.3 解決高亮輪廓在 URP 下的顯示問題 ............................................................ 147 
5.3.1 SteamVR 實現高亮效果的機制 ........................................................ 147 
5.3.2 Quick Outline 插件的使用 ................................................................. 149 
5.3.3 使用 Quick Outline 插件替換 SteamVR 的高亮效果 ....................... 150 
5.4 使用 Skeleton Poser 組件設計抓取手形 ........................................................ 153 
5.4.1 為可交互遊戲對象添加 Skeleton Poser 組件 .................................. 154 
5.4.2 編輯左手手形 ..................................................................................... 155 
5.4.3 編輯右手手形 ..................................................................................... 157 
5.5 使用 DOTween 插件實現佛像的浮動特效 ................................................. 158 
5.5.1 獲取 DOTween 插件 ......................................................................... 158 
5.5.2 導入 DoTween 插件 ............................................................................ 159 
5.5.3 編寫腳本實現浮動特效 ...................................................................... 160 
5.5.4 調整附加光源的陰影分辨率 .............................................................. 162 
第 6 章 VR 中的 UI 技術........................................................................................... 163 
6.1 製作文字介紹 UI ............................................................................................. 163 
6.1.1 製作 VR 中的 UI 的一般流程 ............................................................ 163 
6.1.2 為《蒙娜麗莎》畫像添加文字介紹 .................................................. 165 
6.2 使用 Prefab Variant 技術製作雕塑介紹 UI .................................................... 168 
6.2.1 準備製作 Original Prefab 的遊戲對象 ............................................... 169 
6.2.2 創建 Prefab Variant .............................................................................. 169 
6.2.3 編輯 Prefab Variant .............................................................................. 170 
6.3 開發 UI 與體驗者移動的動態交互 ................................................................ 172 
6.3.1 編寫 IntroTxtBasic 父類實現 UI 的自動顯示和隱藏 ........................ 173 
6.3.2 編寫 IntroTxtRotate 子類實現 UI 永遠朝向體驗者 .......................... 176 
6.4 使用 Curved UI 插件進行 UI 交互開發 ......................................................... 178 
6.4.1 Curved UI 插件簡介 ............................................................................ 179 
6.4.2 Curved UI 插件與 SteamVR 2.x 的集成 ............................................ 180 
6.5 解決 UI 交互與位置傳送交互沖突的問題 .................................................... 184 
6.5.1 存在現象 .............................................................................................. 184 
6.5.2 解決思路 .............................................................................................. 184 
6.5.3 實現方法 .............................................................................................. 185 
6.6 使用 Modern UI Pack 插件製作項目 UI 界面 ............................................... 188 
6.6.1 Modern UI Pack 插件概述 .................................................................. 188 
6.6.2 Window Manager 簡介 ........................................................................ 189 
6.6.3 使用 Modern UI Pack 插件創建 UI 控件 ........................................... 191 
6.6.4 為窗口添加 UI 控件 ............................................................................ 193 
6.6.5 使用 TextMeshPro 在 VR 環境中顯示中文 .................................... 200 
6.6.6 製作 SettingWindow 中的內容 ........................................................... 207 
6.7 開發系統菜單的交互功能 .............................................................................. 210 
第 7 章 場景交互功能開發 ....................................................................................... 217 
7.1 實現切換場景風格的功能 .............................................................................. 217 
7.1.1 導入材質資源 ...................................................................................... 217 
7.1.2 編寫腳本來實現材質切換 .................................................................. 218 
7.2 實現調節場景畫質表現功能 .......................................................................... 222 
7.2.1 實現原理 .............................................................................................. 222 
7.2.2 獲取 Slider 控件的數值....................................................................... 222 
7.2.3 動態修改特效參數 ............................................................................. 228 
7.3 開發繪畫作品介紹的交互功能 ...................................................................... 234 
7.3.1 交互設計思路分析 ............................................................................. 234 
7.3.2 創建文字介紹 UI 並實現交互功能 ................................................. 234 
7.4 開發作品的視頻播放功能 .............................................................................. 240 
7.4.1 Video Player 組件簡介 ........................................................................ 240 
7.4.2 創建視頻播放載體 ............................................................................. 241 
7.4.3 設置 Video Player 組件 ....................................................................... 242 
7.4.4 實現視頻播放控制功能 ...................................................................... 243 
第 8 章 項目的導出 .................................................................................................. 248 
8.1 提高照明參數烘焙光照貼圖 .......................................................................... 248 
8.2 UI 界面優化 .................................................................................................... 249 
8.3 解決材質導出後不顯示的問題 ...................................................................... 250 
8.4 項目導出設置 ................................................................................................. 252 
附錄 A:Unity 2020 發行說明(XR 相關) ................................................................ 255

 
     
     
    
 
    
 
    
 
     
     
    
 
    
 
    