方 科
(成都師范學院 四川 成都 610000)
隨著元宇宙時代的到來,在5G的寬帶提速和延遲降低的優(yōu)勢下,VR的沉浸式體驗以及交互式體驗得到了更加深入的擴展,在越來越多國家政策的支持下,VR產(chǎn)業(yè)不僅僅局限于傳統(tǒng)游戲領域,更涉及到娛樂、工業(yè)、建筑、培訓和教育等各種行業(yè),獲得了井噴式的發(fā)展[1]。VR產(chǎn)業(yè)大致可以包含硬件、平臺及內(nèi)容制作三大方面。參考智能手機的發(fā)展歷程,短期內(nèi)VR產(chǎn)品硬件研發(fā)確實會提升銷量,但長期來看內(nèi)容生態(tài)繁榮才是制勝關鍵。國內(nèi)各 VR廠商逐漸認識到內(nèi)容生態(tài)建設重要性,開始重點發(fā)力各自應用商店內(nèi)的應用生態(tài)內(nèi)容建設,提升內(nèi)容數(shù)量以及內(nèi)容質(zhì)量[1]。
VR是一種獨特的媒介。它可以以一種不同于任何其他互動體驗的方式讓用戶沉浸其中,它也是一個快速發(fā)展的領域,具有巨大的潛力。VR強調(diào)的是感官的欺騙,它通過對我們感官的占有和欺騙,讓我們的大腦相信我們到了另外一個地方,VR憑借這種場景還原的能力,在所有與現(xiàn)場相關的場合,都可以發(fā)揮它的作用,在5G、云渲染、云技術等所有與信息技術相關的技術支持下,虛擬現(xiàn)實技術的世界可以更加具體,更像我們所認知的世界,可以讓虛擬世界的我們變得更加的完整和有人性,更加像真實世界的我們[2]。
當前,VR內(nèi)容種類相對單一,以游戲為主。市場研究公司Omdia最新報告顯示,2022年,全球VR內(nèi)容市場收入預計達到31億美元,VR游戲營收占比大約為89%。Omdia表示,短期內(nèi)游戲仍然是消費者使用VR的主要應用場景,隨著元宇宙不斷發(fā)展,視頻和交互式內(nèi)容將逐漸興起[3]。
從2016年開始,提及虛擬現(xiàn)實的國家政策文件不斷出臺,帶動了虛擬現(xiàn)實在游戲、娛樂、工業(yè)、建筑、培訓和教育等行業(yè)的快速增長,對內(nèi)容制作的需求也隨之高漲。根據(jù)Hired的2021年軟件工程師狀況報告,VR/AR工程師也是收入最高的開發(fā)人員之一。
在內(nèi)容制作開發(fā)中,很多編輯器中都只能看到關于XR的各種描述。
實際上XR是一個術語,旨在涵蓋將現(xiàn)實世界與數(shù)字世界融合的所有技術,它包括VR(虛擬現(xiàn)實)、AR(增強現(xiàn)實)和MR(混合現(xiàn)實)。XR中的X分別代表VR、AR、MR中的V、A和M,還可以代表尚未發(fā)明的首字母縮略詞。
VR創(chuàng)造了一個完全替代現(xiàn)實世界環(huán)境的數(shù)字環(huán)境,讓用戶沉浸在數(shù)字世界中,VR需要頭戴式顯示器(HMD),它允許用戶通過兩個鏡頭直接看屏幕。
AR將數(shù)字創(chuàng)建的內(nèi)容疊加到用戶的真實世界環(huán)境中。與VR不同,AR的用戶仍然可以看到他們周圍的真實世界。
MR是三者中最廣泛的術語,因為它可以包括AR和VR的元素。一端是真實的物理環(huán)境,另一端是完全虛擬的環(huán)境,VR更接近虛擬端,AR更接近現(xiàn)實端,而MR將包括之間的大部分。有些應用明顯是VR,有些明顯是AR,如果它不完全符合這兩個定義之一,通常就稱之為MR。
比如下文將提到的XR Interaction Toolkit(XR交互工具包)就是包括了VR、AR、MR的基本插件包。
Unity是一個3D、2D、VR和AR實時開發(fā)引擎平臺和編輯器,可以協(xié)作創(chuàng)建沉浸式和交互式體驗的內(nèi)容。它可以提供工具來創(chuàng)建和運營精彩的游戲和其他實時交互體驗,并將它們發(fā)布到各種設備。它支持一次構建內(nèi)容,然后在所有主要的AR、VR、移動、桌面和控制臺平臺上進行部署。
它也是一款國際領先的跨平臺的專業(yè)游戲引擎,Unity平臺提供了一套完善的游戲軟件設計到開發(fā)的完整解決方案,可用于設計、創(chuàng)作、運營任何一款2D或3D游戲,而且還跨平臺支持各種平臺,包括iOS、Android、Windows、Mac等各類硬件平臺,充分體現(xiàn)了Unity強大功能,在使用過程中,它的跨平臺游戲開發(fā)的特性為開發(fā)者解決了大量移植過程中的不必要的麻煩,并且相較于其他游戲的開發(fā)平臺,Unity3D的基于腳本的監(jiān)聽機制使得開發(fā)者僅僅需要編寫相應的游戲腳本即可,由游戲腳本響應Unity系統(tǒng)平臺上的各個模塊的組件,以此實現(xiàn)相應的功能。作為一款商業(yè)游戲引擎,Unity可支持更高級別的引擎功能,在游戲制作后期可以移植和打包,大大方便了開發(fā)者進行使用[4]。
Unity不僅僅是一個領先的實時開發(fā)平臺,它還是一個強大的解決方案生態(tài)系統(tǒng),我們可以使用其自帶的版本控制系統(tǒng)Plastic SCM控制版本迭代,還可以通過Backtrace處理跨平臺崩潰和異常管理自動響應錯誤等。
Unity編輯器還可以從世界構建、動畫和過場動畫到渲染等與Maya或Blender等工具無縫協(xié)作,可以在同一環(huán)境中快速迭代。并通過可自定義的編輯器支持快速原型制作和可擴展的資源,將高性能C#代碼部署到20多個平臺。
在Unity發(fā)布的游戲行業(yè)報告中,2021年每月使用Unity構建的應用程序的下載量達到了50億,前1000款手機游戲中使用Unity制作的占72%,有50%以上的移動設備、PC和電視游戲是使用Unity制作的,每月使用Unity解決方案創(chuàng)建或者運營的活躍用戶達到了39億,有20多個平臺在運行Unity的制作,190多個國家和地區(qū)有Unity的制作者。
2022年8月9日,Unity宣布已與合作伙伴達成協(xié)議并成立了合資企業(yè)——Unity中國,Unity中國投資后的估值為10億美元,抖音集團、佳都科技、中國移動和阿里巴巴等將參與投資Unity中國。
HTC Vive在計算機端開發(fā),因此它與計算機的交互反映在輸入設備和輸出設備上。HTC Vive是如今市場上較先進,使用較廣泛的VR設備,具有很多其他VR設備無法媲美的地方,比如高分辨率、定位追蹤、強大的SteamVR平臺等,大大方便了HTC Vive的使用[5]。
HTC Vive Pro2是HTC公司的專業(yè)VR頭顯(見圖1)。對比以前的產(chǎn)品,頭顯增加了一個前置的攝像頭,它不僅支持瞳距的調(diào)節(jié),還支持鏡頭距離的調(diào)節(jié),并搭載了一套支持拆卸與調(diào)整位置的HI-RES認證耳機,可調(diào)節(jié)的IPD,同時還支持5 K分辨率、120度視場角、120 Hz刷新率。
圖1 HTC Vive Pro2專業(yè)版套裝
專業(yè)版套裝還包含了兩個支持SteamVR追蹤2.0的手柄,以及兩個SteamVR定位器。
Unity編輯器長期支持版本(LTS)已經(jīng)迭代到2021.3.8f1c1,SteamVR Plugin插件版本已經(jīng)迭代到2.7.3(sdk1.14.15),在過去的內(nèi)容制作中,雖然很困難且效率低下,我們還可以使用VRTK模擬器進行編輯,但在SteamVR Plugin插件更新到2.0之后,已經(jīng)不支持2020之前版本的Unity編輯器,為了使用最新版的Unity編輯器功能,如UI Toolkit(開發(fā)用戶界面和編輯器擴展的功能和工具的集合)、新的Terrain Tools、新的URP、特別是圖形可視化腳本Unity Visual Scripting,我們需要重新配置開發(fā)環(huán)境。
Unity官方教程中對Oculus Quest系列頭顯的配置十分詳細,其他與SteamVR兼容的頭顯的說明很簡略并且配置中容易出現(xiàn)各種問題,網(wǎng)絡上的教程和文檔在配置中也容易出現(xiàn)各種錯誤,這里將詳細說明最新版本Unity編輯器與HTC Vive Pro2的連接及開發(fā)環(huán)境配置,見圖2。
圖2 開發(fā)環(huán)境配置流程圖
2.3.1 HTC Vive Pro2連接
首先需要把Vive Cosmos串流盒連接電腦與頭顯,串流盒有一個頭顯端口連接頭顯數(shù)據(jù)線,一個DP端口連接電腦顯卡,一個USB 3.0端口連接電腦USB口。接下來在對角線放置兩個定位器,定位器對應區(qū)域就是VR活動區(qū)域。手柄確保有電即可。
2.3.2 Unity下載及插件配置
進入Unity中文官網(wǎng)Unity.cn,下載Unity Hub。Unity Hub可以使用微信登錄,在設置中將它的語言改為中文。
選擇安裝->安裝編輯器,選擇最新LTS長期支持版本即2021.3.8f1c1點擊安裝,這個版本的Unity是穩(wěn)定的,將得到兩年的全面支持,非常適合開發(fā)。
編輯器安裝完畢后,在項目->新項目中創(chuàng)建3D(URP)項目,下載模板并打開項目,為了在以后編程中使用代碼控制各種組件,編輯器推薦使用英文版。
打開編輯器Windows->Package Manager包管理器,在左上角下拉菜單中選擇Packages:Unity Registry編輯器內(nèi)置包注冊,分別選擇OpenXR Plugin(OpenXR 插件)、XR Interaction Toolkit(XR交互工具)、XR Plugin Management(XR插件管理工具),點擊安裝。
由于新版的編輯器已經(jīng)不能在Package Manager中搜索安裝官方商城中的插件,所以我們需要先登錄官方商城assetstore.unity.com,搜索SteamVR Plugin(SteamVR插件),選擇添加到我的資源。然后打開編輯器Windows->Package Manager,在左上角下拉菜單中選擇Packages:My Assets我的資源,點擊SteamVR Plugin下載安裝,通過插件我們可以與Steam平臺進行連接,插件中也自帶了部分開發(fā)預制模板。
接下來打開Windows->SteamVR Input輸入設置,在彈窗中選擇確認導入插件內(nèi)置的動作,在最下方點擊Save and generate保存Action Set,在Console控制臺中會提示保存成功。
2.3.3 下載Steam并鏈接設備
在Steam官網(wǎng)上按照說明下載安裝Steam客戶端并登錄,在商店中搜索SteamVR下載運行。
根據(jù)提示調(diào)整頭顯及定位器位置,確保它已經(jīng)被SteamVR鏈接并識別,見圖3。
圖3 SteamVR鏈接成功示意圖
對鏈接上有提示的設備進行固件升級。
戴上頭顯,現(xiàn)在應該能看見SteamVR Home場景,并可以在場景中活動和操作手柄。
2.3.4 Unity配置并測試
打開Unity項目,點擊Edit->Project Settings項目設置,選擇XR-Plug-in Management(XR插件管理),在Plug-in Providers中勾選OpenVR Loader(勾選后頭顯才能看見編輯器運行時的Game視圖)和OpenXR。
繼續(xù)選擇XR-Plug-in Management子欄目中的OpenXR,在右邊Windows、mac、Linux setting標簽頁的Interaction Profile交互配置文件中點擊“+”,添加HTC Vive Controller Profile 配置文件。然后把下面的OpenXR Feature Groups功能組全部勾上。
接下來我們進行測試,在Unity編輯器的Hierarchy面板Create->3D Object->Plane,新建一個地面,在Project面板Assets資源目錄下找到SteamVR->Prefabs->CameraRig.prefab攝像機操作預制件,把它拖到Hierarchy面板中。
刪除Unity編輯器Hierarchy面板中自帶的Camera攝像機。
點擊Unity編輯器上方的運行,戴上頭顯可以看到場景中的內(nèi)容,說明HTC Vive Pro2 開發(fā)環(huán)境配置成功,詳見圖4。
圖4 配置成功后頭顯看到的畫面
本文概述VR內(nèi)容開發(fā)的現(xiàn)狀、VR是如何融入XR的,以及虛擬現(xiàn)實產(chǎn)業(yè)在國家政策的支持下蓬勃發(fā)展的情況,VR內(nèi)容開發(fā)將成為一個實用的技能,通過Unity+HTC Vive Pro2開發(fā)環(huán)境的正確配置,我們可以進一步進行VR內(nèi)容制作,同時可以使用頭顯、手柄等測試開發(fā)內(nèi)容,為VR內(nèi)容開發(fā)打了堅實的基礎。