幫助中心 | 我的帳號 | 關於我們

虛擬現實原理與開發(基於Unity的VR技術實現)

  • 作者:編者:邵偉|責編:孔祥飛
  • 出版社:電子工業
  • ISBN:9787121444845
  • 出版日期:2023/01/01
  • 裝幀:平裝
  • 頁數:262
人民幣:RMB 109 元      售價:
放入購物車
加入收藏夾

內容大鋼
    隨著5G、人工智慧、雲計算等技術的發展,虛擬現實技術將在醫療、教育、工業等場景中發揮重要的作用。同時,它還是通向元宇宙的重要入口和體驗場景之一。
    因為Unity是當前業界領先的VR/AR內容製作工具,所以本書基於Unity編輯器對其進行講解。本書主要分為兩大部分:第一部分講解SteamVR 2.x Unity插件的功能,包括新引入的動作機制和Interaction System;第二部分以一個完整的VR項目為例,帶領讀者從零起步,從項目創建開始,到最終導出為可交付的應用程序。各章還會介紹在項目製作過程中涉及的核心技術,包括但不限於場景搭建、製作VR中的UI、使用第三方工具製作材質資源、烘焙場景的光照貼圖、交互開發等。
    本書適合對虛擬現實項目製作感興趣,以及有志於從事虛擬現實軟體開發工作的人員閱讀,也適合院校及培訓機構虛擬現實相關專業的師生參考。

作者介紹
編者:邵偉|責編:孔祥飛
    邵偉,Unity價值專家(UVP),公眾號「XR技術研習社」(ID:XRStudy)主理人,現居山東省淄博市,畢業於山東理工大學。淄博木子信息科技有限公司創始人,蠻牛教育特聘高級講師,錄製了「HTC VIVE房產項目實戰教程」「HTC VIVE開發實例教程」「VR寫實材質技術實例教程」「SLibstance Painter。2018基礎實例教程」等視頻課程,累計錄製視頻時長超過3000分鐘,線上及線下培訓學員總計超2000人,目前專註于VR/AR技術分享工作。

目錄
第1章  SteamVR基礎交互開發
  1.1  SteamVR與相關 VR硬體
    1.1.1  HTC VIVE硬體介紹
    1.1.2  VR 手柄控制器按鍵介紹
    1.1.3  HTC VIVE 開發 PC端規格
  1.2  OpenVR、SteamVR、OpenXR相關概念
    1.2.1  OpenVR
    1.2.2  OpenVR Desk
    1.2.3  OpenVR XR Plugin
    1.2.4  SteamVR客戶端
    1.2.5  SteamVR Plugin
    1.2.6  OpenXR
    1.2.7  OpenXR Plugin
  1.3  在 Unity 中使用SteamVR插件
    1.3.1  SteamVR插件的獲取
    1.3.2  SteamVR Plugin 2.x新版本的變化
    1.3.3  導入SteamVR插件
    1.3.4  初次運行SteamVR應用程序
  1.4  SteamVR 2.x中的動作
    1.4.1  SteamVR Input窗口
    1.4.2  創建動作
    1.4.3  動作與按鍵的綁定
  1.5  通過腳本獲取動作的輸入
    1.5.1  聲明和引用動作
    1.5.2  獲取動作輸入
  1.6  Interaction System
    1.6.1  Interaction System的核心模塊
    1.6.2  使用 Interaction System實現位置傳送
    1.6.3  使用 Interaction System實現與物體的交互
  1.7  在 SteamVR 2.x 中使用自定義手部模型
    1.7.1  骨骼輸入原理概述
    1.7.2  自製模型設置
    1.7.3  SteamVR_Behaviour_Skeleton組件設置
  1.8  使用 Oculus Quest 學習 SteamVR開發
    1.8.1  Oculus Link 簡介
    1.8.2  具體步驟及常見問題
    1.8.3  建議使用的開發軟體版本
    1.8.4  測試
  1.9  SteamVR開發常用腳本匯總
    1.9.1  獲取Touchpad鍵上觸摸點的位置
    1.9.2  獲取體驗者位置
    1.9.3  獲取體驗者某一個Hand的引用
    1.9.4  獲取與當前遊戲對象交互的手柄控制器
    1.9.5  獲取被交互遊戲對象的信息
    1.9.6  手部在進入某區域時切換姿態
第2章  VR博物館項目實戰準備
  2.1  項目軟硬體準備
    2.1.1  項目硬體準備
    2.1.2  項目軟體準備
    2.1.3  Unity插件準備

    2.1.4  為什麼建議使用約定的軟體版本
  2.2  URP 概述
    2.2.1  URP簡介
    2.2.2  使用模板創建基於URP的Unity項目
    2.2.3  將現有項目的渲染管線轉換為URP
    2.2.4  為什麼沒有使用HDRP
    2.2.5  URP學習建議
  2.3  材質、貼圖與UV
    2.3.1  什麼是材質
    2.3.2  基於物理的渲染:PBR理論
    2.3.3  URP中的材質
    2.3.4  什麼是貼圖
    2.3.5  PBR常用貼圖類型
    2.3.6  什麼是UV
  2.4  模型對接標準
    2.4.1  Unity結合Blender進行模型處理的工作流程
    2.4.2  模型UV準備
    2.4.3  模型對象的命名
    2.4.4  確保模型使用的單位與Unity一致
    2.4.5  對模型設置合理的中心點
    2.4.6  使用布線合理且面數較低的模型
第3章  烘焙光照貼圖技術
  3.1  光照貼圖
    3.1.1  什麼是光照信息
    3.1.2  為什麼要烘焙光照貼圖
    3.1.3  直接光照和間接光照
    3.1.4  烘焙光照貼圖的基本原理
  3.2  Lighting窗口的參數介紹
    3.2.1  窗口概覽
    3.2.2  Scene選項卡中的參數
    3.2.3  Environment選項卡中的參數
    3.2.4  Baked Lightmaps選項卡
  3.3  項目基礎布光設置
    3.3.1  場景光照來源分析
    3.3.2  製作玻璃材質
    3.3.3  調整URP配置文件的相關參數
  3.4  烘焙光照貼圖
    3.4.1  應用臨時材質
    3.4.2  設置遊戲對象參與烘焙光照貼圖
    3.4.3  設置Lighting Settings參數
    3.4.4  面光源的使用
    3.4.5  切換天空盒
第4章  VR寫實材質技術
  4.1  Substance材質的使用
    4.1.1  概述
    4.1.2  Substance in Unity插件的使用
    4.1.3  在Unity中使用Substance材質
  4.2  使用Substance 3D Designer製作牆面材質
    4.2.1  Substance 3D Designer簡介
    4.2.2  在Substance 3D Designer中製作牆面材質

    4.2.3  在場景中使用牆面材質
  4.3  製作並應用木地板材質
    4.3.1  在Substance 3D Sampler中製作木地板材質
    4.3.2  將材質導出為 Substance
    4.3.3  將木地板材質應用到項目場景中
  4.4  下一步行動
第5章  實現項目的基本交互功能
  5.1  實現基礎VR交互
    5.1.1  導入SteamVR插件
    5.1.2  實現在VR頭顯中查看場景內容
    5.1.3  將要材質適配URP
    5.1.4  實現位置傳送功能
    5.1.5  優化位置傳送體驗
    5.1.6  整理場景遊戲對象
  5.2  實現對象的抓取
    5.2.1  為遊戲對象添加合適的碰撞體組件
    5.2.2  為遊戲對象添加Throwable組件
  5.3  解決高亮輪廓在URP下的顯示問題
    5.3.1  SteamVR 實現高亮效果的機制
    5.3.2  Quick Outline插件的使用
    5.3.3  使用Quick Outline插件替換SteamVR的高亮效果
  5.4  使用Skeleton Poser組件設計抓取手形
    5.4.1  為可交互遊戲對象添加Skeleton Poser組件
    5.4.2  編輯左手手形
    5.4.3  編輯右手手形
  5.5  使用DOTween插件實現佛像的浮動特效
    5.5.1  獲取DOTween插件
    5.5.2  導入DoTween插件
    5.5.3  編寫腳本實現浮動特效
    5.5.4  調整附加光源的陰影解析度
第6章  VR中的UI技術
  6.1  製作文字介紹UI
    6.1.1  製作VR中的UI的一般流程
    6.1.2  為《蒙娜麗莎》畫像添加文字介紹
  6.2  使用Prefab Variant技術製作雕塑介紹UI
    6.2.1  準備製作 Original Prefab的遊戲對象
    6.2.2  創建 Prefab Variant
    6.2.3  編輯 Prefab Variant
  6.3  開發UI與體驗者移動的動態交互
    6.3.1  編寫IntroTxtBasic父類實現UI的自動顯示和隱藏
    6.3.2  編寫IntroTxtRotate子類實現UI永遠朝向體驗者
  6.4  使用Curved UI 插件進行UI交互開發
    6.4.1  Curved UI 插件簡介
    6.4.2  Curved UI 插件與SteamVR 2.x 的集成
  6.5  解決UI交互與位置傳送交互衝突的問題
    6.5.1  存在現象
    6.5.2  解決思路
    6.5.3  實現方法
  6.6  使用Modern UI Pack插件製作項目UI界面
    6.6.1  Modern UI Pack插件概述

    6.6.2  Window Manager簡介
    6.6.3  使用Modern UI Pack插件創建UI控制項
    6.6.4  為窗口添加UI控制項
    6.6.5  使用TextMeshPro在VR環境中顯示中文
    6.6.6  製作SettingWindow中的內容
  6.7  開發系統菜單的交互功能
第7章  場景交互功能開發
  7.1  實現切換場景風格的功能
    7.1.1  導入材質資源
    7.1.2  編寫腳本來實現材質切換
  7.2  實現調節場景畫質表現功能
    7.2.1  實現原理
    7.2.2  獲取Slider控制項的數值
    7.2.3  動態修改特效參數
  7.3  開發繪畫作品介紹的交互功能
    7.3.1  交互設計思路分析
    7.3.2  創建文字介紹UI並實現交互功能
  7.4  開發作品的視頻播放功能
    7.4.1  Video Player組件簡介
    7.4.2  創建視頻播放載體
    7.4.3  設置Video Player組件
    7.4.4  實現視頻播放控制功能
第8章  項目的導出
  8.1  提高照明參數烘焙光照貼圖
  8.2  UI界面優化
  8.3  解決材質導出后不顯示的問題
  8.4  項目導出設置
附錄A:Unity 2020 發行說明(XR相關)

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032