![第5章 VR開發(fā)-5.2 HTC VIVE平臺_第1頁](http://file4.renrendoc.com/view/74ae092f4a1436b43ada63df593d500e/74ae092f4a1436b43ada63df593d500e1.gif)
![第5章 VR開發(fā)-5.2 HTC VIVE平臺_第2頁](http://file4.renrendoc.com/view/74ae092f4a1436b43ada63df593d500e/74ae092f4a1436b43ada63df593d500e2.gif)
![第5章 VR開發(fā)-5.2 HTC VIVE平臺_第3頁](http://file4.renrendoc.com/view/74ae092f4a1436b43ada63df593d500e/74ae092f4a1436b43ada63df593d500e3.gif)
![第5章 VR開發(fā)-5.2 HTC VIVE平臺_第4頁](http://file4.renrendoc.com/view/74ae092f4a1436b43ada63df593d500e/74ae092f4a1436b43ada63df593d500e4.gif)
![第5章 VR開發(fā)-5.2 HTC VIVE平臺_第5頁](http://file4.renrendoc.com/view/74ae092f4a1436b43ada63df593d500e/74ae092f4a1436b43ada63df593d500e5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第5章VR開發(fā)
5.2HTCVIVE平臺
.目錄.1.HTCVIVE平臺簡介
.2.
SteamVRPlugin和VRTK的下載和安裝.3.
HTCVIVE的基本設置
.4.
HTCVIVE手柄的設置.5.
移動方式的設置.6.
可交互物體的設置.7.
UI的操作
HTCVIVE是HTC和Valve聯(lián)合開發(fā)的產品,是目前市場上消費級VR產品中用戶體驗較好的產品之一。在SteamVR平臺上相關的應用中,使用HTCVIVE的占了一半左右。整套HTCVIVE設備包含外接式頭顯、手柄、定位器,如圖所示。1.
HTCVIVE平臺簡介
本書所選軟件和插件版本如下:Unity2018.4SteamVRPlugin1.2.2VRTK3.3HTCVIVE手柄各按鍵名稱中英文對照如圖所示。其中,英文名稱將會在VRTK的交互設置腳本里用到。1.
HTCVIVE平臺簡介2.SteamVRPlugin和VRTK的下載和安裝(1)SteamVRPlugin可以通過Unity的AssetStore直接下載和導入。打開Unity軟件,通過“Window”→“AssetStore”菜單打開AssetStore,在搜索框中輸入插件的名字搜索即可找到。然后單擊“下載”按鈕,下載完成后在同一個界面里單擊“導入”按鈕,即可把插件導入工程,導入SteamVRPlugin插件后Unity工程里的文件結構如圖所示。其中VRTK已經在上一小節(jié)的PPT里介紹了下載地址。2.SteamVRPlugin和VRTK的下載和安裝(2)當Unity工程里包含SteamVRPlugin的時候,第一次打開SteamVR時的設置對話框如圖所示,單擊“AcceptAll”按鈕即可完成默認設置。3.HTCVIVE的基本設置在HTC上使用VRTK非常方便,按下面的步驟操作即可完成基本設置工作。(1)新建一個場景,刪除其中自帶的攝像機。(2)新建一個Plane三維物體,將其放置到坐標原點外,命名為“floor”,作為地板。(3)新建一個空物體,將其放置到坐標原點外,命名為“sdkmanager”,在其上添加VRTK_SDKManager組件。(4)新建一個空物體,將其放置到坐標原點處,命名為“sdksetup”,在其上添加VRTK_SDKSetup組件;在“SDKSelection”里選擇VR平臺為“SteamVR”。如果沒有HTCVIVE設備,這里的SDK也可以選擇“Simulator”,這樣VRTK就是使用鍵盤、鼠標來模擬VR的各種操作。3.HTCVIVE的基本設置(5)將SteamVR插件中的CameraRig和SteamVR預設體,如圖所示,作為子物體添加到sdksetup物體下。(6)在sdkmanager物體的VRTK_SDKManager組件中單擊“AutoPopulate”按鈕,將前面設置的SteamVRSDK自動填充進來。(7)為了讓頭顯的高度正常,需要將sdksetup物體的Y坐標值修改為0.5。
經過這些基本設置后,單擊運行按鈕,即可進入VR場景,通過頭顯就可以看到虛擬世界。4.HTCVIVE手柄的設置
在虛擬世界的操作大部分是通過HTCVIVE手柄來完成的。通過下面的步驟可以把手柄顯示出來,并完成手柄的指向操作。(1)新建空物體,命名為“vrtkscripts”,在其下建立兩個空物體作為子物體,分別命名為“l(fā)eftController”和“rightController”,并將它們拖入sdkmanager物體的VRTK_SDKManager組件的左、右控制器選項里,VRTK_SDKManager中左、右控制器的設置如圖所示。這樣設置就是告知VRTK哪兩個物體是左、右手柄的控制器。4.HTCVIVE手柄的設置
(2)在leftController和rightController物體上都添加VRTK_Pointer和VRTK_StraightPointerRenderer組件。其中,VRTK_Pointer組件的作用是讓手柄具備發(fā)出射線的功能;VRTK_StraightPointerRenderer組件的功能是以直線的形式來渲染手柄發(fā)出的射線。然后,分別將leftController和rightController物體的VRTK_StraightPointerRenderer組件作為參數(shù)導入對應的VRTK_Pointer組件的“PointerRenderer”中,指定使用直線渲染的形式,設置手柄的指向渲染器PointerRenderer屬性如圖所示。此時,運行場景,可以看到兩個手柄,但是手柄還不能進行指向操作。因為現(xiàn)在還缺少手柄按鍵事件的指定。4.HTCVIVE手柄的設置
(3)在leftController和rightController物體上都添加VRTK_ControllerEvents組件,這樣兩個手柄的按鍵就有了相應的按鍵事件;此時再運行場景,并按下手柄的Touchpad鍵,就可以看到手柄上有射線射出。按下Touchpad鍵后手柄射出的射線如圖所示。
當射線指向帶碰撞器的物體時,顯示綠色;當射線沒有碰到任何物體時,顯示紅色。5.
移動方式的設置受到追蹤器追蹤范圍和實際場地大小的限制,用戶戴著頭顯在虛擬世界中只能在一個比較小的范圍內進行移動,但通常虛擬世界可能都有一個比較大的環(huán)境。那么在這個大的虛擬環(huán)境中移動,就是必要的基礎操作了。一般地,有兩種移動形式,一種是瞬間跳轉,一種是連續(xù)平滑移動。5.
移動方式的設置——瞬間跳轉的設置
瞬間跳轉,在VRTK中稱為Teleport。具體設置方法就是在vrtkscripts物體下添加一個空物體,可以命名為PlayArea,然后為其添加VRTK_BasicTeleport組件,所有屬性保持默認設置即可。VRTK_BasicTeleport組件如圖所示。5.
移動方式的設置——瞬間跳轉的設置
這時的跳轉方式就是按住手柄的Touchpad鍵,發(fā)出射線,在射線和地面碰撞后,松開Touchpad鍵,即可瞬間跳轉到碰撞點處。
因為這時使用的射線渲染組件是VRTK_StraightPointerRenderer,所以射線為直線形式。如果使用另一個組件VRTK_BezierPointerRenderer,則射線會變?yōu)樨惾麪柷€的形式。手柄發(fā)出的貝塞爾曲線形式的射線如圖所示。5.
移動方式的設置——連續(xù)平滑移動的設置
將VRTK_TouchpadControl組件添加到場景中的CameraRig物體上,并選擇leftController或者rightController物體,將其拉入VRTK_TouchpadControl組件的“Controller”中完成設置,如圖所示。此時運行場景,按下相應手柄的Touchpad鍵即可實現(xiàn)在場景中向前、后、左、右平滑移動。6.
可交互物體的設置
在虛擬世界中,實現(xiàn)對物體的觸碰、抓取等操作是基本需求之一。這在VRTK中是通過設置交互物體來實現(xiàn)的,具體方法如下。(1)創(chuàng)建幾個3D物體,待抓取的物體如圖所示。6.
可交互物體的設置(2)對leftController和rightController物體添加VRTK_InteractTouch和VRTK_InteractGrab組件,使手柄具有觸碰(Touch)和抓?。℅rab)功能。抓取功能的手柄按鍵默認設置如圖所示,抓取功能是使用手柄的Grip鍵實現(xiàn)的,可以根據需要換成其他的按鍵。6.
可交互物體的設置(3)選中3D物體,單擊“Window”→“VRTK”→“SetupInteractableObject”,保持默認設置,單擊按鈕“SetupInteractableObject”,即可自動完成所有組件和組件屬性設置,使該物體具備和手柄交互的能力?!癝etupInteractableObject”對話框如圖所示。此時可以運行場景,用手柄觸碰物體,物體上會出現(xiàn)邊框提示;按住手柄的Grip鍵,可以抓起物體,松開Grip鍵,則放下物體。7.
UI的操作UI操作是“屏幕時代”較常見的交互方式,在虛擬現(xiàn)實中,將UI的操作移植過來,用戶會感覺比較熟悉,學習VR操作的難度就會降低,從而有利于VR的推廣和普及。7.
UI的操作——三維空間中的UI
Unity中的UI元素都是放在Canvas物體下的,由Canvas物體提供UI的總體屬性。其中,屬性“RenderMode”決定了UI以何種形式進行渲染。Canvas屬性中UI渲染模式的選擇如圖所示,其默認設置是“ScreenSpace–Overlay”,也就是將UI疊加在屏幕上。如果是這樣,那么在虛擬現(xiàn)實的三維世界里,UI就只能看,而不能被用戶用來進行交互操作。所以這里一般將其設置為“WorldSpace”,也就是將UI元素當作三維虛擬世界里的普通物體來看待。7.
UI的操作——UI位置的調整
調整好渲染模式后,還需要將UI放置到合適的位置。這里可以只調節(jié)具體某一個UI元素,也可以將Canvas整體都進行調節(jié)。無論是調節(jié)哪個層次的物體,都是修改其RectTransform組件中坐標、寬度和高度、比例大小等,UI的RectTransform組件如圖所示。調整過后,三維場景中的UI元素如右圖所示。7.
UI的操作——UI和HTCVIVE手柄的交互
手柄發(fā)射的射線是和UI元素交互的基礎。繼續(xù)給左、右手柄控制器添加兩個組件:VRTK_ControllerEvents和VRTK_UIPointer,如圖所示。
其中VRTK_ControllerEvents組件使控制器具備了處理事件交互的功能,VRTK_UIPointer組件則設置了手柄控制器上具體哪些按鍵可通過何種操作來模擬對UI元素的交互。7.
UI的操作——UI和HTCVIVE手柄的交互
配置手柄控制器按鍵對UI的操作形式如圖所示,組件規(guī)定了激活射線是通過手柄上的Touchpad鍵實現(xiàn)的,激活的形式是“HoldButton”,也就是要按住
Touchpad
鍵不放。射線選取UI元素的形式是按住手柄上的雙階段扳機,單擊UI元素則是通過按下雙階段扳機然后放開的方式來實現(xiàn)。7.
UI的操作——UI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)美行業(yè)戰(zhàn)略合作合同范本
- 軟件開發(fā)用工勞動合同范本
- 房地產開發(fā)項目資本金監(jiān)管協(xié)議書
- 品牌推廣與宣傳實戰(zhàn)作業(yè)指導書
- 親子圖書館裝修設計合同
- 手房買賣合同按揭付款
- 冷藏庫租賃合同書
- 廠區(qū)綠化養(yǎng)護協(xié)議書
- 產品一件代發(fā)合作協(xié)議
- 民間借貸合同書
- 胸腔積液護理查房-范本模板
- 水土保持方案中沉沙池的布設技術
- 安全生產技術規(guī)范 第25部分:城鎮(zhèn)天然氣經營企業(yè)DB50-T 867.25-2021
- 現(xiàn)代企業(yè)管理 (全套完整課件)
- 走進本土項目化設計-讀《PBL項目化學習設計》有感
- 《網店運營與管理》整本書電子教案全套教學教案
- 教師信息技術能力提升培訓課件希沃的課件
- 高端公寓住宅項目營銷策劃方案(項目定位 發(fā)展建議)
- 執(zhí)業(yè)獸醫(yī)師聘用協(xié)議(合同)書
- 第1本書出體旅程journeys out of the body精教版2003版
- 2022年肝動脈化療栓塞術(TACE)
評論
0/150
提交評論