-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
虛擬現實原理與開發:基于 Unity 的 VR 技術實現 版權信息
- ISBN:9787121444845
- 條形碼:9787121444845 ; 978-7-121-44484-5
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
虛擬現實原理與開發:基于 Unity 的 VR 技術實現 本書特色
圍繞Unity 2020 LTS 及其配套的通用渲染管線(URP)展開,介紹SteamVR,硬件開發平臺則以HTC VIVE 為主,講解完整項目的制作流程虛擬現實是通向元宇宙的非常重要的入口和體驗場景之一。目前無論是虛擬現實還是元宇宙,均處于行業 發展初期。對于開發者,虛擬現實技術尚存在一定的門檻,零基礎的朋友對于項目制作流程尚存在疑慮, 所以出版本書的目的在于為初學者解答以上問題,并帶領大家從零開始制作一個VR項目,*終希望大家能創造屬于自己的虛擬世界。 在虛擬現實技術的知識產品方面,邵老師可能是國內比較高產的創作者之一。同時,在線下服務方面,邵老 師在與我們的多次合作過程中,都能夠為學員們提供系統且完備的知識結構,相信本書也能夠給讀者這樣的 感受,介紹給各位有志于從事這個未來充滿機遇的行業的初學者學習這本書。 孫逸君 | 上海交通大學媒體與傳播學院培訓中心主任 邵偉每年都在持續更新AR/VR開發實戰課程,緊跟行業的發展。如果你還在尋找AR/VR開發實戰的書籍, 邵偉的這本書非常適合。 劉衛華 | 映維網創始人 VR領域雖然有很多教程,但這本書很值得一看。作者多年的學習方法、實操經驗都以一種顯性化、結構 化、傳承化的方式融匯到書里,極具針對性和實用性,使你像與高手對話,茅塞頓開。 李佳 | 極客邦科技內容總監 邵老師是我在VR開發領域的領路人,他的課程一如既往用心設計,實戰性強。只要認真學習,“萌新”跟 著邵老師完整做兩套案例就能得心應手。 小意思VR(姚舜) | B站知名UP主 邵老師在虛擬現實技術領域里深耕多年,是大家非常喜歡的專業老師,《虛擬現實原理與開發:基于 Unity的VR技術實現》這本新書非常不錯。 崇慕 | Metacore CEO
虛擬現實原理與開發:基于 Unity 的 VR 技術實現 內容簡介
隨著5G、人工智能、云計算等技術的發展,虛擬現實技術將在醫療、教育、工業等場景中發揮重要的作用。同時,它還是通向元宇宙的重要入口和體驗場景之一。 因為Unity是當前業界領先的VR/AR內容制作工具,所以本書基于Unity編輯器對其進行講解。本書主要分為兩大部分:**部分講解SteamVR 2.x Unity插件的功能,包括新引入的動作機制和Interaction System;第二部分以一個完整的VR項目為例,帶領讀者從零起步,從項目創建開始,到*終導出為可交付的應用程序。各章還會介紹在項目制作過程中涉及的核心技術,包括但不限于場景搭建、制作VR中的UI、使用第三方工具制作材質資源、烘焙場景的光照貼圖、交互開發等。
虛擬現實原理與開發:基于 Unity 的 VR 技術實現 目錄
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
虛擬現實原理與開發:基于 Unity 的 VR 技術實現 作者簡介
邵偉,Unity 價值專家(UVP),兩屆高通Qualcomm XR 創新應用挑戰賽評委和技術導師,公眾號“XR技術研習社”(ID:XRStudy)主理人,騰訊課堂同名銀牌機構創始人。出版教材《Unity VR 虛擬現實完全自學教程》和《Unity 2017 虛擬現實開發標準教程》,錄有《VR博物館項目實戰教程》、《SteamVR 2.x 交互開發指南》、《Pico VR 應用開發基礎教程》、《HTC VIVE房產項目實戰教程》、《HTC VIVE開發實例教程》、《VR寫實材質技術實例教程》等在線課程,累計視頻時長超過5000分鐘,線上線下培訓學員共計超3000人,目前專注于VR/AR技術教育工作。
- >
我從未如此眷戀人間
- >
中國歷史的瞬間
- >
史學評論
- >
二體千字文
- >
伊索寓言-世界文學名著典藏-全譯本
- >
月亮與六便士
- >
煙與鏡
- >
有舍有得是人生