關(guān)于我們
書單推薦
新書推薦
|
Unity虛擬現(xiàn)實(shí)開發(fā)實(shí)戰(zhàn)(原書第2版) 讀者對象:游戲開發(fā)者、虛擬現(xiàn)實(shí)技術(shù)感興趣人員、Unity初學(xué)者、3D設(shè)計(jì)師、游戲設(shè)計(jì)師、游戲制作人、游戲策劃、游戲開發(fā)者、游戲愛好者、想要進(jìn)入虛擬現(xiàn)實(shí)領(lǐng)域的程序員
本書將帶你進(jìn)行一系列實(shí)戰(zhàn),并深入討論如何使用Unity游戲引擎開發(fā)VR應(yīng)用程序。本書通過基于項(xiàng)目的實(shí)踐方法,幫助你快速了解使用Unity進(jìn)行VR開發(fā)的具體細(xì)節(jié)。通過Oculus、Daydream和Vive等設(shè)備的體驗(yàn),你將學(xué)習(xí)如何使用Unity開發(fā)VR應(yīng)用程序。在眾多主題和項(xiàng)目中,你將探索基于凝視與手柄控制器輸入、世界坐標(biāo)系UI畫布、移動(dòng)與遠(yuǎn)程傳送、軟件設(shè)計(jì)模式、360°多媒體、時(shí)間軸動(dòng)畫與多人網(wǎng)絡(luò)。通過交互式Unity編輯器,你將了解Unity 3D游戲引擎,并且學(xué)習(xí)C#編程。
Unity已經(jīng)成為新一代消費(fèi)級VR設(shè)備構(gòu)建虛擬游戲、虛擬應(yīng)用和虛擬體驗(yàn)的主流平臺(tái)。
本書將帶你進(jìn)行一系列實(shí)戰(zhàn),并深入討論如何使用Unity游戲引擎開發(fā)VR應(yīng)用程序。 本書通過基于項(xiàng)目的實(shí)踐方法,幫助你快速了解使用Unity進(jìn)行VR開發(fā)的具體細(xì)節(jié)。你將學(xué)習(xí)使用Unity開發(fā)基于Oculus、Daydream與Vive設(shè)備的VR應(yīng)用程序,探索基于凝視與手柄控制器輸入、世界坐標(biāo)系UI畫布、移動(dòng)與傳送、軟件設(shè)計(jì)模式、360°多媒體、時(shí)間軸動(dòng)畫與多人網(wǎng)絡(luò)等眾多的主題或項(xiàng)目,還將通過可交互式Unity編輯器(Editor)了解Unity 3D游戲引擎,并學(xué)習(xí)C#編程。 通過閱讀本書,你將學(xué)到: ●在學(xué)習(xí)世界坐標(biāo)系與縮放比例時(shí),使用Unity和其他3D工具創(chuàng)建3D場景。 ●為特定的頭戴式顯示器,包括Oculus、Vive與Daydream創(chuàng)建并運(yùn)行VR應(yīng)用程序。 ●使用眼睛凝視、手柄控制器以及用戶輸入事件與虛擬對象進(jìn)行交互。 ●使用移動(dòng)與傳送漫游VR場景。 ●使用物理與粒子系統(tǒng)實(shí)現(xiàn)音頻火球游戲。 ●基于傳送與數(shù)據(jù)信息實(shí)現(xiàn)藝術(shù)畫廊。 ●使用音軌與時(shí)間軸設(shè)計(jì)并創(chuàng)建VR故事動(dòng)畫。 ●使用Unity網(wǎng)絡(luò)創(chuàng)建社交VR體驗(yàn)。
【前言】
如今,我們正在見證虛擬現(xiàn)實(shí)(VR)的迅猛發(fā)展,這是一項(xiàng)令人激動(dòng)的技術(shù),它有望改變我們與信息、朋友和整個(gè)世界進(jìn)行交互的基本方式。 戴上一個(gè)VR頭戴式顯示器,你就可以觀看立體3D場景,可以環(huán)顧四周,還可以在虛擬空間中四處走動(dòng),并使用定位手柄控制器與虛擬對象交互。你可以擁有完整的沉浸式體驗(yàn),就像真正置身于某個(gè)虛擬世界一樣。 本書通過基于項(xiàng)目的實(shí)踐方式詳細(xì)講解如何使用Unity 3D游戲引擎進(jìn)行虛擬現(xiàn)實(shí)開發(fā)。我們將使用Unity 2018和其他免費(fèi)或開源軟件來完成一系列實(shí)踐項(xiàng)目、循序漸進(jìn)的教程和深入的討論。VR技術(shù)正在快速發(fā)展,我們將嘗試獲取基本的原則和技巧,以便實(shí)現(xiàn)具有沉浸感和舒適感的VR游戲和應(yīng)用程序。 你將學(xué)習(xí)如何使用Unity來開發(fā)可以用Oculus Rift、Google Daydream、HTC Vive等設(shè)備進(jìn)行體驗(yàn)的VR應(yīng)用程序。我們將涵蓋對于VR來說重要且可能獨(dú)一無二的技術(shù)關(guān)注點(diǎn)。讀完本書后,你將能夠用Unity開發(fā)豐富的交互式虛擬現(xiàn)實(shí)體驗(yàn)程序。 多年前,我在大學(xué)學(xué)習(xí)3D計(jì)算機(jī)圖形學(xué),在研究生院學(xué)習(xí)用戶界面設(shè)計(jì),然后成立了一家小型軟件公司,開發(fā)用于管理AutoCAD工程圖的3D圖形引擎,后來此業(yè)務(wù)出售給了Autodesk。在接下來的幾年里,我專注于2D網(wǎng)絡(luò)應(yīng)用開發(fā),在博客上記錄我的技術(shù)探索,并致力于發(fā)展幾家新的初創(chuàng)公司。然后,在2014年3月,我看到Facebook以20億美元的價(jià)格收購了Oculus,這引起了我的興趣。于是我立即訂購了我的第一臺(tái)VR頭戴式顯示器(Oculus DK2開發(fā)套件),并開始利用Unity開發(fā)小型VR項(xiàng)目。 2015年2月,我打算寫一本關(guān)于Unity VR開發(fā)的書。Packt出版社馬上接受了我的建議,于是到2015年8月,本書的第1版出版了。從提案、大綱、章節(jié)草稿、審查到最終定稿和出版,只花費(fèi)了短暫的時(shí)間,我很癡迷于此。 在撰寫本文時(shí),Google Cardboard發(fā)布了,但是沒有消費(fèi)級VR設(shè)備。DK2沒有手柄控制器,只有一個(gè)XBox游戲控制器。2015年11月,第1版發(fā)布幾個(gè)月后,HTC Vive推出了房間規(guī)模VR設(shè)置,同時(shí)配套有定位手柄控制器。2016年3月,Oculus Rift消費(fèi)者版本發(fā)布。直到2016年12月,也就是第1版出版近一年半之后,Oculus才發(fā)布定位手柄控制器。 自本書第1版出版以來,許多新的VR設(shè)備已經(jīng)上市,硬件和軟件功能得到改進(jìn),Unity游戲引擎也持續(xù)增加原生VR SDK集成和新功能來支持它們。隨著行業(yè)的不斷加速發(fā)展,Oculus、Google、Steam、Samsung、PlayStation、Microsoft等多家企業(yè)加入了競爭行列。 與此同時(shí),在2016年,我與Packt合作出版了另一本書Cardboard VR Projects for Android,這是一本使用Java和Android Studio構(gòu)建Google Daydream和Cardboard應(yīng)用的非Unity VR書籍。(在這本書中,你可以學(xué)習(xí)為移動(dòng)設(shè)備創(chuàng)建并使用自己的3D圖形引擎。)然后在2017年,我與Packt合作編寫了第三本書Augmented Reality for Developers,這是一本令人興奮且被及時(shí)出版的書,它基于Unity的項(xiàng)目,適用于在iOS、Android和HoloLens設(shè)備上開發(fā)AR應(yīng)用程序。 當(dāng)開始修訂本書的第2版時(shí),我認(rèn)為這將是一個(gè)相對簡單的任務(wù),只需要更新到當(dāng)前版本的Unity、增加對定位手柄控制器的支持并進(jìn)行一些調(diào)整即可。但是沒那么簡單!雖然第1版的許多基本原理和建議沒有改變,但作為一個(gè)行業(yè),我們在短短的幾年里學(xué)到了很多東西。例如,在VR中實(shí)現(xiàn)蹦床(我們在第2版中刪去了這個(gè)項(xiàng)目)真的不是一個(gè)好主意,因?yàn)檫@可能導(dǎo)致暈動(dòng)癥! 第2版進(jìn)行了重大修訂和擴(kuò)展。每個(gè)章節(jié)和項(xiàng)目都已更新。我們將一些主題分為獨(dú)立的章節(jié),包括音頻火球游戲(第8章)、動(dòng)畫(第11章)和優(yōu)化(第13章)。我真誠地希望你能認(rèn)為本書既有趣又專業(yè),因?yàn)槲覀冎铝τ趧?chuàng)造出色的新VR內(nèi)容和探索這個(gè)神奇的新媒介。 【本書讀者對象】 如果你對虛擬現(xiàn)實(shí)感興趣,想要了解它的工作原理或創(chuàng)建自己的VR體驗(yàn),請閱讀本書。無論你是不是程序員,是否熟悉3D計(jì)算機(jī)圖形,是否剛開始接觸虛擬現(xiàn)實(shí),你都將從本書獲益。當(dāng)然,擁有任何Unity經(jīng)驗(yàn)都是一種優(yōu)勢。如果你是Unity新手,也可以拿起這本書,但你可以首先從Unity官網(wǎng)上提供的一些入門教程入手(https://unity3d.com/ learn)。 游戲開發(fā)者可能已經(jīng)熟悉本書中重新應(yīng)用到VR項(xiàng)目中的概念,但可以學(xué)習(xí)到許多其他特定于VR的理念。已經(jīng)了解如何使用Unity的移動(dòng)設(shè)備設(shè)計(jì)師和2D游戲設(shè)計(jì)師將能發(fā)現(xiàn)另一個(gè)維度。工程師和3D設(shè)計(jì)師可能了解許多3D概念,但是可以學(xué)習(xí)如何使用Unity引擎開發(fā)VR。應(yīng)用程序開發(fā)人員可能會(huì)欣賞VR潛在的非游戲用途,并可能希望通過學(xué)習(xí)來實(shí)現(xiàn)這一目標(biāo)。 【本書主要內(nèi)容】 ●第1章介紹游戲和非游戲應(yīng)用中消費(fèi)級虛擬現(xiàn)實(shí)的新技術(shù)以及機(jī)會(huì),包括對立體視覺以及頭姿追蹤的解釋。 ●第2章介紹Unity游戲引擎,我們將構(gòu)建簡單的立體模型場景,并介紹如何導(dǎo)入使用其他工具(如Blender、Tilt Brush、Google Poly和Unity EditorXR)創(chuàng)建的3D內(nèi)容。 ●第3章介紹如何設(shè)置系統(tǒng)以及如何在目標(biāo)設(shè)備上構(gòu)建和運(yùn)行Unity項(xiàng)目,這些設(shè)備包括SteamVR、Oculus Rift、Windows MR、GearVR、Oculus Go以及 Google Daydream。 ●第4章探討VR攝像機(jī)與場景中對象的關(guān)系,包括3D光標(biāo)和基于凝視的射線槍。該章還介紹如何使用C#語言進(jìn)行Unity腳本編程。 ●第5章討論通過控制器按鈕和可交互對象實(shí)現(xiàn)用戶輸入事件,涉及使用不同軟件模式,包括輪詢、可編寫腳本的對象、Unity事件以及隨工具包SDK提供的可交互組件。 ●第6章給出使用Unity世界坐標(biāo)系畫布實(shí)現(xiàn)VR的用戶界面(UI)的許多示例,包括護(hù)目鏡(HUD)、信息框、游戲內(nèi)對象和腕部菜單欄。 ●第7章深入探討在VR場景中移動(dòng)自己的技巧,詳細(xì)探討Unity第一人稱角色對象和組件、移動(dòng)、遠(yuǎn)程傳送以及房間規(guī)模VR。 ●第8章探索Unity物理引擎、物理材質(zhì)、粒子系統(tǒng)和更多C#腳本,同時(shí)我們創(chuàng)建了一個(gè)球拍游戲,讓你可以在喜歡的音樂中擊打火球。 ●第9章介紹如何建立交互式藝術(shù)畫廊,包括關(guān)卡設(shè)計(jì)、藝術(shù)作品照片、數(shù)據(jù)管理以及空間傳送。 ●第10章解釋360°多媒體并在各種示例中使用它們,包括地球儀、光球和天空盒等。 ●第11章介紹如何使用導(dǎo)入的3D資源和音軌、Unity時(shí)間軸和動(dòng)畫來創(chuàng)建完整的VR講故事體驗(yàn)。 ●第12章探索使用Unity Networking組件的多人游戲以及Oculus平臺(tái)頭像和VRChat會(huì)議室的開發(fā)。 ●第13章演示如何使用Unity Profiler和Stats窗口來減少VR應(yīng)用程序的延遲,包括優(yōu)化3D藝術(shù)、靜態(tài)照明、高效編碼和GPU渲染。
喬納森林諾維斯(Jonathan Linowes)創(chuàng)立了Parkerhill Reality Labs(一個(gè)沉浸式媒體獨(dú)立工作室),是BridgeXR工具包、Power Solitaire VR游戲以及即將到來的Chess Or Die游戲的開發(fā)者。他是VR/AR的傳播者、Unity開發(fā)者、企業(yè)家和教師。他擁有美國雪城大學(xué)(Syracuse University)的藝術(shù)學(xué)士學(xué)位和麻省理工學(xué)院媒體實(shí)驗(yàn)室(MIT Media Lab)的碩士學(xué)位。他曾在Autodesk公司和其他公司擔(dān)任技術(shù)領(lǐng)導(dǎo)職務(wù)。他撰寫了《Unity Virtual Reality Projects 》(2015年第1版)《Cardboard VR Projects for Android 》(2016) 和 《Augmented Reality for Developers 》(2017)。
譯者序
前言 審閱者簡介 第1章 萬物皆可虛擬 1 1.1 虛擬現(xiàn)實(shí)對你來說意味著什么 2 1.2 頭戴式顯示器的類型 3 1.2.1 桌面VR 3 1.2.2 移動(dòng)VR 3 1.3 虛擬現(xiàn)實(shí)與增強(qiáng)現(xiàn)實(shí)的區(qū)別 4 1.4 應(yīng)用與游戲 5 1.5 虛擬現(xiàn)實(shí)是如何運(yùn)作的 7 1.5.1 立體3 D視圖 7 1.5.2 頭姿追蹤 9 1.6 VR體驗(yàn)類型 10 1.7 VR必備技能 11 1.8 本書涵蓋的內(nèi)容 12 1.9 本章小結(jié) 12 第2章 內(nèi)容、物體和縮放比例 14 2.1 Unity入門 14 2.1.1 新建Unity項(xiàng)目 15 2.1.2 Unity編輯器 15 2.1.3 默認(rèn)世界坐標(biāo)系 16 2.2 創(chuàng)建簡單的透視圖 17 2.2.1 添加立方體 18 2.2.2 添加平面 18 2.2.3 添加球體和材質(zhì) 19 2.2.4 改變場景視圖 21 2.2.5 添加照片 22 2.2.6 給地平面著色 23 2.3 測量工具 24 2.3.1 隨手保留一個(gè)單位立方體 24 2.3.2 使用網(wǎng)格投影器 24 2.3.3 測量Ethan角色 25 2.4 使用第三方內(nèi)容 27 2.5 使用Blender創(chuàng)建3D內(nèi)容 29 2.5.1 Blender簡介 29 2.5.2 單位立方體 31 2.5.3 UV紋理圖片 32 2.5.4 導(dǎo)入U(xiǎn)nity 34 2.5.5 一些觀察 35 2.6 在VR中創(chuàng)建3D內(nèi)容 35 2.6.1 導(dǎo)入和導(dǎo)出Tilt Brush模型 37 2.6.2 使用Google Poly進(jìn)行發(fā)布和導(dǎo)入 38 2.7 在VR中使用EditorXR編輯Unity 39 2.7.1 設(shè)置EditorXR 40 2.7.2 使用EditorXR 41 2.8 本章小結(jié) 43 第3章 VR的構(gòu)建和運(yùn)行 44 3.1 Unity VR支持和工具包 44 3.1.1 Unity的內(nèi)置VR支持 45 3.1.2 特定于設(shè)備的工具包 46 3.1.3 應(yīng)用程序工具包 47 3.1.4 基于Web和JavaScript的VR 47 3.1.5 3D世界 48 3.2 為你的平臺(tái)啟用虛擬現(xiàn)實(shí) 48 3.2.1 設(shè)置目標(biāo)平臺(tái) 49 3.2.2 設(shè)置XR SDK 50 3.2.3 安裝設(shè)備工具包 50 3.2.4 創(chuàng)建MeMyselfEye播放器預(yù)制件 50 3.3 構(gòu)建SteamVR 52 3.4 構(gòu)建Oculus Rift 53 3.5 構(gòu)建Windows沉浸式MR 55 3.5.1 設(shè)置Windows 10開發(fā)人員模式 56 3.5.2 在Visual Studio中安裝UWP支持 56 3.5.3 UWP構(gòu)建 57 3.6 為Android設(shè)備設(shè)置 58 3.6.1 安裝Java開發(fā)工具包 59 3.6.2 安裝Android SDK 59 3.6.3 使用命令行工具 60 3.6.4 關(guān)于Android SDK根路徑位置 61 3.6.5 安裝USB設(shè)備調(diào)試和連接 61 3.6.6 配置Unity外部工具 62 3.6.7 為Android配置Unity Player Settings 63 3.7 為GearVR和Oculus Go構(gòu)建 63 3.8 為Google VR構(gòu)建 64 3.8.1 Google Daydream 64 3.8.2 Google Cardboard 65 3.8.3 Google VR運(yùn)行模式 66 3.9 為iOS設(shè)備設(shè)置 67 3.9.1 擁有Apple ID 67 3.9.2 安裝Xcode 67 3.9.3 配置iOS的Unity Player Settings 68 3.9.4 構(gòu)建和運(yùn)行 68 3.10 本章小結(jié) 69 第4章 基于凝視的操控 70 4.1 游走者Ethan 70 4.1.1 人工智能Ethan 71 4.1.2 NavMesh烘焙 72 4.1.3 鎮(zhèn)上的隨機(jī)游走者 74 4.1.4 RandomPosition腳本 74 4.1.5 “僵尸”Ethan 76 4.2 向我看的方向行走 77 4.2.1 LookMoveTo腳本 77 4.2.2 添加反饋光標(biāo) 79 4.2.3 穿透對象觀察 80 4.3 如果眼神可以殺人 81 4.3.1 KillTarget腳本 81 4.3.2 添加粒子效果 83 4.3.3 清理工作 84 4.4 Unity C#編程簡介 84 4.5 本章小結(jié) 86 第5章 便捷的交互工具 87 5.1 設(shè)置場景 88 5.1.1 創(chuàng)建氣球 88 5.1.2 使之成為預(yù)制件 88 5.2 基本按鈕輸入 90 5.2.1 使用Fire1按鈕 90 5.2.2 OpenVR的扳機(jī)鍵 92 5.2.3 用Daydream控制器單擊 93 5.3 輪詢單擊 93 5.3.1 按鈕界面功能 94 5.3.2 創(chuàng)建并釋放氣球 95 5.3.3 按住按鈕給氣球充氣 96 5.4 使用腳本化對象進(jìn)行輸入 98 5.4.1 創(chuàng)建腳本化對象 99 5.4.2 填充輸入操作對象 100 5.4.3 訪問輸入操作對象 101 5.4.4 使用腳本化對象進(jìn)行模擬測試 101 5.5 使用Unity事件處理輸入 102 5.5.1 調(diào)用輸入操作事件 103 5.5.2 訂閱輸入事件 103 5.6 使用雙手 105 5.6.1 將氣球設(shè)為手柄的子對象 105 5.6.2 讓氣球爆炸 107 5.7 交互項(xiàng)目 108 5.7.1 使用SteamVR交互系統(tǒng)進(jìn)行交互 109 5.7.2 使用Daydream VR Elements進(jìn)行交互 110 5.8 本章小結(jié) 112 第6章 世界坐標(biāo)系UI 113 6.1 學(xué)習(xí)VR設(shè)計(jì)原則 114 6.2 可重用的默認(rèn)畫布 116 6.3 護(hù)目鏡HUD 118 6.4 十字光標(biāo) 120 6.5 擋風(fēng)玻璃HUD 122 6.6 游戲元素UI 124 6.7 使用文字特效插件TextMeshPro 125 6.8 信息框 126 6.9 響應(yīng)輸入事件的游戲內(nèi)儀表板 129 6.9.1 創(chuàng)建帶有按鈕的儀表板 129 6.9.2 連接水管與按鈕 131 6.9.3 用腳本激活按鈕 132 6.9.4 用注視高亮顯示按鈕 133 6.9.5 注視并單擊選擇 135 6.9.6 注視并聚焦選擇 136 6.10 使用VR組件指向并單擊 136 6.10.1 使用Unity UI和SteamVR 137 6.10.2 使用Unity UI和Daydream 139 6.11 構(gòu)建基于手腕的菜單欄 139 6.12 本章小結(jié) 140 第7章 移動(dòng)與舒適 141 7.1 理解Unity角色 141 7.1.1 Unity組件 142 7.1.2 Unity的Standard Assets 143 7.2 使用滑行移動(dòng) 145 7.2.1 沿視線方向移動(dòng) 145 7.2.2 保持腳著地 146 7.2.3 不要穿透固體對象 147 7.2.4 不要在邊緣墜落 149 7.2.5 跨越小物體并處理崎嶇路面 149 7.2.6 開始與停止移動(dòng) 150 7.3 添加舒適模式移動(dòng) 150 7.4 傳送技術(shù) 153 7.4.1 凝視傳送 153 7.4.2 在表面之間傳送 155 7.4.3 傳送生成點(diǎn) 157 7.4.4 其他傳送考慮因素 160 7.5 傳送工具包 161 7.5.1 使用SteamVR交互系統(tǒng)傳送 161 7.5.2 使用Daydream Elements傳送 162 7.6 重置中心和位置 163 7.7 對付VR暈動(dòng)癥 164 7.8 本章小結(jié) 166 第8章 使用物理引擎 167 8.1 Unity的物理組件 167 8.2 彈力球 169 8.3 管理游戲?qū)ο? 171 8.3.1 銷毀墜落的對象 172 8.3.2 設(shè)置持續(xù)時(shí)間 172 8.3.3 實(shí)現(xiàn)一個(gè)對象池 172 8.4 用頭部射擊游戲 176 8.5 球拍游戲 180 8.6 射手游戲 182 8.7 完善場景 185 8.7.1 創(chuàng)建大火球 186 8.7.2 Skull環(huán)境 188 8.7.3 音頻同步 190 8.8 本章小結(jié) 191 第9章 漫游和渲染 192 9.1 用Blender構(gòu)建 192 9.1.1 構(gòu)建墻體 193 9.1.2 添加天花板 194 9.2 用Unity組裝場景 197 9.2.1 畫廊 197 9.2.2 藝術(shù)品部件 198 9.2.3 展覽計(jì)劃 200 9.3 將圖片添加到畫廊中 202 9.4 管理藝術(shù)信息數(shù)據(jù) 204 9.4.1 使用列表 204 9.4.2 使用數(shù)據(jù)結(jié)構(gòu) 205 9.4.3 使用腳本化對象 206 9.5 顯示藝術(shù)信息 208 9.5.1 創(chuàng)建標(biāo)題牌匾 209 9.5.2 詳細(xì)的交互信息 210 9.5.3 調(diào)整圖像寬高比 212 9.6 漫游畫廊 213 9.6.1 在畫像之間傳送 213 9.6.2 考慮房間規(guī)模 215 9.6.3 動(dòng)畫穿越 216 9.7 本章小結(jié) 218 第10章 利用360? 219 10.1 360岸嗝教? 219 10.1.1 等距圓柱投影 220 10.1.2 VR正在侵入你的視野 220 10.1.3 180岸嗝教? 221 10.1.4 立體360岸嗝教? 221 10.2 有趣的光球 222 10.2.1 水晶球 222 10.2.2 地球儀 224 10.3 渲染光球 225 10.3.1 編寫自定義內(nèi)部著色器 226 10.3.2 魔法球 228 10.3.3 光球 229 10.3.4 播放360笆悠? 230 10.4 使用Unity天空盒 232 10.4.1 六邊形或立方體天空盒 233 10.4.2 球面全景天空盒 234 10.4.3 360笆悠堤煒蘸? 235 10.4.4 3D立體天空盒 236 10.5 在Unity中捕捉360岸嗝教? 236 10.5.1 捕捉立方體貼圖和反射探頭 236 10.5.2 使用第三方庫360安痘? 圖像 238 10.5.3 Unity內(nèi)置立體360巴枷窈? 視頻捕獲 239 10.6 本章小結(jié) 240 第11章 動(dòng)畫與VR講故事 241 11.1 撰寫我們的故事 241 11.1.1 收集資源 242 11.1.2 創(chuàng)建初始場景 243 11.2 Timeline和音頻軌道 245 11.3 使用Timeline激活對象 247 11.4 錄制Animation Track 248 11.4.1 正在生長的樹 248 11.4.2 正在生長的鳥 249 11.5 使用動(dòng)畫編輯器 249 11.6 動(dòng)畫的其他屬性 252 11.6.1 動(dòng)畫的燈光 252 11.6.2 動(dòng)畫腳本組件屬性 253 11.6.3 控制粒子系統(tǒng) 255 11.7 使用動(dòng)畫剪輯 257 11.8 使用動(dòng)畫控制器 258 11.8.1 動(dòng)畫和動(dòng)畫器的定義 259 11.8.2 ThirdPersonController動(dòng)畫 259 11.8.3 Living Bird動(dòng)畫器 260 11.8.4 學(xué)習(xí)飛行 262 11.8.5 對鳥進(jìn)行攻擊 264 11.8.6 飛走 264 11.9 讓故事更具互動(dòng)性 265 11.9.1 期待播放效果 265 11.9.2 重置初始場景設(shè)置 267 11.9.3 更多互動(dòng)的想法 268 11.10 本章小結(jié) 268 第12章 社交化的VR虛擬空間 269 12.1 多玩家網(wǎng)絡(luò) 270 12.1.1 網(wǎng)絡(luò)服務(wù) 270 12.1.2 網(wǎng)絡(luò)架構(gòu) 271 12.1.3 本地與服務(wù)器 271 12.1.4 Unity的網(wǎng)絡(luò)系統(tǒng) 272 12.2 建立簡單的場景 273 12.2.1 創(chuàng)建場景環(huán)境 273 12.2.2 創(chuàng)建虛擬角色的頭部 274 12.3 添加多玩家網(wǎng)絡(luò) 275 12.3.1 Network Manager和HUD 275 12.3.2 Network Identity和Sync Transform 275 12.3.3 作為一個(gè)主機(jī)運(yùn)行 276 12.3.4 添加出生點(diǎn)位 276 12.3.5 運(yùn)行游戲的兩個(gè)實(shí)例 277 12.3.6 關(guān)聯(lián)虛擬角色與第一人稱角色 278 12.4 添加配對大廳 280 12.5 同步對象和屬性 281 12.5.1 設(shè)置頭球游戲 282 12.5.2 通過聯(lián)網(wǎng)射擊球 284 12.5.3 同步球變換 285 12.5.4 狀態(tài)變量同步 286 12.6 高級網(wǎng)絡(luò)主題 287 12.7 語音聊天選項(xiàng) 288 12.8 使用Oculus平臺(tái)和虛擬角色 288 12.8.1 Oculus平臺(tái)權(quán)限檢查 289 12.8.2 添加本地虛擬角色 290 12.8.3 添加遠(yuǎn)程虛擬角色 291 12.9 構(gòu)建和共享自定義VRChat會(huì)議室 292 12.10 本章小結(jié) 294 第13章 優(yōu)化性能和舒適度 295 13.1 使用Unity的Profiler和Stats 296 13.1.1 Stats窗口 296 13.1.2 Profiler窗口 297 13.2 優(yōu)化藝術(shù)品 298 13.2.1 設(shè)置場景 299 13.2.2 抽取模型 302 13.2.3 透明材質(zhì) 303 13.2.4 細(xì)節(jié)層次 304 13.3 使用靜態(tài)對象優(yōu)化場景 307 13.3.1 設(shè)置場景 307 13.3.2 燈光和烘焙 307 13.3.3 遮擋刪除 309 13.4 優(yōu)化代碼 310 13.4.1 了解Unity的生命周期 311 13.4.2 編寫高效的代碼 312 13.4.3 避免費(fèi)時(shí)的API調(diào)用 313 13.5 優(yōu)化渲染 313 13.5.1 批次處理 314 13.5.2 多通道像素填充 315 13.5.3 VR優(yōu)化著色器 316 13.6 運(yùn)行時(shí)性能和調(diào)試 316 13.6.1 Daydream 317 13.6.2 Oculus 318 13.7 本章小結(jié) 318
你還可能感興趣
我要評論
|