999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Unity3D虛擬空間在虛擬現實漫游校園中的應用

2022-05-30 02:48:20劉順裕
電腦知識與技術 2022年31期
關鍵詞:VR技術

摘要:隨著計算機網絡的發展和信息化技術的整合升級,很多高校都實現了自己的校園漫游系統,但大部分高校的校園瀏覽系統借助二維圖形技術實現,瀏覽的身臨其境和景物的真實度較差,不能為用戶提供良好的使用體驗。隨著數字化技術的不斷發展以及VR技術的興起,漫游瀏覽系統在漫游方式上發生了翻天覆地的變化。用戶可以借助Unity3D開發VR設備,能夠在自然、逼真且沉浸感強的虛擬校園中進行瀏覽,感知更加精準化,交互方式更加多維性。

關鍵詞:校園漫游;VR技術;Unity3D

中圖分類號:G642 ? ? ?文獻標識碼:A

文章編號:1009-3044(2022)31-0096-03

1 引言

在新冠肺炎疫情暴發的大背景下,很多校園在封閉管理的情況下,為了維持學生的學習進度,開啟了網絡教學,例如網絡課堂教學,或是以網絡直播的方式進行。但筆者認為,在線教學只是滿足學生在學習上的需求,社交需求、辦公需求等很多需求,戶外運動需求是無法滿足的。

以設備安裝、場景漫游、互動展示為例,設計了包含教室會議、課堂互動等一體的Unity3D模擬場景,形成適合學生生活學習的校園模擬仿真立體化系統,通過游戲手柄、射線等方式對房屋進行場景漫游,為學生提供互動真實的漫游體驗。

2 Steam VR Plgin

1) 擁有Unity和HTC Vive

①Unity官網https://unity.cn/下載。

②HTC官方旗艦店各方電商網站均有。

2) Steam VR Plugin的下載

①Asset Store中搜索Steam VR Plugin。

②下載并導入插件。

③打開SteamVR文件夾,查看Prefabs。

3) 配置攝像機以及對應的控制器

把插件中的腳本SteamVR_Camera掛到任一camera上,然后點擊expand即可。而對于控制器手柄,則先建立一個游戲物體,接著進行腳本SteamVR_ControllerManager添加操作,并構建2個相關子游戲物體,按照系統配置需要,進行腳本SteamVR_TrackedObject添加操作,并將相應的Index設置為None,接著完成左右兩個手柄添加;最后再在兩個子游戲物體上各添加一個游戲物體,添加腳本SteamVR_RenderModel用于渲染手柄的模型,并且跟蹤手柄的位置。至此,就可以完成設置并開展工程了。

3 關于Steam VR插件中的代碼事件

3.1 SteamVR_GazeTracker.cs 提供凝視時的事件

這個腳本的作用是判斷當前物體是否被用戶(頭顯)注視,進入注視后會出現回調,離開注視時也會出現回調。在注視狀態下的物體與實際注視點的距離范圍被定義為小于0.15米,而在0.4米以上離開注視狀態的距離范圍。之所以有一個大致的范圍,并且使用了一個平面進行相交,是因為注視這個動作比較粗糙,玩家想要精準地觀看難度比較大。

3.2 SteamVR_LaserPointer.cs 應該是鐳射光線

這個腳本的作用與上面的SteamVR_GazeTracker相關并類似。GazeTracker是通過頭顯的正視方向與物體相交來計算交點的。而這里就是通過所謂的激光束來和物體進行交互的。激光束是手柄指向的方向,在游戲中可以渲染出一個方向的激光束,特別是通過手柄進行UI操作菜單的時候。在github openvr的sample目錄下的unity_teleport_sample示例有使用,它被加到右手柄上同上面的GazeTracker一樣,觸發的事件所帶的參數。

3.3 SteamVR_Teleporter.cs 傳送功能

此腳本在github上的openvr的samples里面的unity_teleport_sample示例中有使用,從名字上看是用來做瞬移的。這個例子是在場景中放一些球,然后把這個腳本放在右邊的控制器上,也就是通過右邊的控制器可以做瞬移。其做法是會從控制器上發出激光束,按下扳機鍵,就能瞬間移動到激光束所指之處。通過觀察球的相對位置,可以看出位置的變換。這在游戲中很常見,拿鼠標一點,被操作的對象就會過去(當然過去有兩種方式,一種是慢慢走過去,一種是直接跳過去),另一種是看到的校園地圖。

3.4 SteamVR_TestThrow.cs 投擲東西

這個腳本上面的測試場景的控制腳本,要與SteamVR_TrackedObject一起使用。實際上它會加到手柄上。

3.5 SteamVR_TrackedController.cs 手柄按鈕事件的接口

這個腳本對控制器的輸入做了一個簡單的封裝,將原始的輸入數據轉化成事件回調模式,它在SteamVR_LaserPointer.cs和SteamVR_Teleporter.cs中有使用,也就是在github上openvr中的teleporter示例中有使用。在SteamVR_Teleporter.cs中,如果當前物體上沒有SteamVR_TrackedController.cs,會自動添加它(在老版的插件中,如果沒有添加,會報錯)。

4 VRTK實現與Vie控制器的交互

4.1 觸摸交互對象(VRTK_InteractTouch)

將腳本T進行添加,主要是添加到之前設置的控制器上,尤其是觸摸交互類型的那種腳本。

4.2 抓取交互對象(VRTK_InteractGrab)

VRTK與Vie控制器交互,在控制器中需運用抓取腳本以及VRTK_ControllerEvents腳本,后者可對按鈕事件作出監聽,并參照實際操作需要,迅速判斷獲得是否存在AliasGrabOn或AliasGrabOff 事件,從而明確對象后續應如何處理,如是否應進入抓取環節或是否應進入釋放環節。

控制器對象可運用VRTK_InteractTouch 腳本,以獲知何時可交互對象能夠被觸摸。僅有可被觸摸的物品方可抓取。

若控制器在運行過程中,同時滿足下述兩項條件:一是,觸碰到VRTK_InteractableObject腳本;二是,isGrabbable 標志位呈現為“真”。此時判定該游戲對象可抓取,則按下相應的抓取按鈕,使得抓取對象以及對其對象能夠被放至控制器,直至松開該按鈕進行釋放操作。

松開抓取按鈕,此時若互動對象能夠被抓取,可能夠按一定速率往松開方向逐步推進,即完成模擬拋擲操作任務。

可交互物體在達成碰撞體激活條件之后能夠完成觸發,在此狀態下剛體可實施拾取操作,進而達成移動目的。

4.3 使用可交互對象(VRTK_InteractUse)

一種腳本而且是可交互使用、添加至[CameraRig] 之前設定的相關控制器的對應目標對象,此后還需要進行另外的一個步驟,比如說是把VRTK_ControllerEvents用來做其他的流程,比如是進行監聽。這種監聽要監聽特定的事件,比如AliasUseOn 和AliasUseOff,從而確定是否應該繼續進行下去,還是說需要進行停止的程序。

在這時,還需要考慮其他的因素,比如添加VRTK_InteractTouch,從而來決定什么時候可以接觸,什么時候不可以接觸。基本可以確定的是進行有效的接觸才能產生有效使用。

如果說發生了以下的情況,如觸碰VRTK_InteractableObject 腳本同時isGrabbable 標志位呈現為“真”,此時表示“有效”。

4.4 自動抓取可交互對象(VRTK_ObjectAutoGrab)

對VRTK_ObjectAutoGrab腳本作出進一步的處理和應用,比如把它放到控制器上,然后再進行之后的抓取步驟,從而實現自動這一程序和要求。之后可以接著進行下一次操作,比如把[CameraRig] 進行添加,主要是添加到控制對象上,之后再次添加

VRTK_InteractGrab 腳本。在進行Clone Grabbed Object的步驟中,如果進行以下操作也就是勾選,那么這樣一來會添加到控制器上,其他的就會留在之前的場景中。

5 簡單激光指針與傳送(VRTK_SimplePointer)

簡單指針腳本從控制器尾部發出一個光束來控制世界指針,控制玩家瞬間轉移。

這在場景中對指向對象是有用的,它可以判斷所指向的對象使用控制器抓起與握住物體,使用控制器與物體互動。

期間默認激光射線通過控制器的抓握鍵來激活。偵聽的事件是把游戲物體變成交互式的UI元素,所以相關的文件都存放在VRTK這個文件中,此文件可以通過復制完成到現有的所有工程中。

簡單指針腳本添加到預制里的控制器對象上,同時添加需要腳本來監聽啟用和禁用光束的控制器按鈕事件,Examples文件夾包括了該工具集中的實例的場景中。

5.1 可調節性的垂直高度傳送器(VRTK_HeightAdjustTeleport)

該傳送器能夠結合傳送位置,判斷目標對象是否位于其余對象的頂部區域,因此可以改變相應的y位置,從而滿足實際調節需要。

和建好場景之后,直接加到游戲場景中,無須多余的操作。當開始運行時,從頭盔就可以看到兩個控制器手柄。

Play Space Falling 選項表示參與者頭盔在處于對象上方時,此時可直接判斷是否能夠自動傳送至其他對象頂部位置,在模擬爬梯操作時具有實踐意義,無須通過指針光束進行定位。若不勾選此選項,玩家就可以在所站物體的相同Y高度(即物體外部有一部分游玩區)的空中行走。

激光束默認按控制器上的抓握鍵Grip來激活。在預制體下面的控制器對象上,并且對外提供事件處理監聽器。原因是系統菜單按鈕行為是Steam平臺提供的,它不能被覆蓋。

5.2 基礎性物理傳送器(VRTK_BasicTeleport)

基礎傳送器的實時性,直接由彈性變形元件感測壓力帶動指針變動。 基礎傳送器腳本采用精密壓力矯正器或者是物理系統重量設置傳送器。

靜止壓力與差型號經過傳送器后產生位移,當彈力膜收到張力,將電阻力量與剛體形變拉長,變細,即可崩壞以及彈力增大。

5.3 貝瑟爾指向性地添加性控制器

可將腳本添加至[CameraRig]中所預制形成的控制器。

最重要的是開始使用函數中調用游戲體發射的函數,該函數實例化一個子類游戲體,對游戲體的剛體施加一定的力,發射出去之后,經過一段時間即可銷毀。VRTK_ControllerEvents腳本可用于監聽按鈕開關光束。

在開始運行時,設置一個旋轉速度,在結束運動時候設置為0,這實現了通過觸發器的時候膠囊體是一直旋轉的,松懈時可以立刻停止。貝瑟爾生成的激光射線并不是直線,而是曲線,允許用戶在消失的物體頂端爬動。

5.4 頭部裝置設定淡出顯示碰撞器

該設置可以了解參與者VR頭盔何時會觸碰其他相關游戲對象,此時會形成一個單色。目的是處理玩家將頭放入一個游戲對象中,就是文章所提到的菟葵,能夠獲知對象內部裁剪情況,并不是如預期一般。

這一情況主要是由于若參與者將頭擺放至不應擺放的位置,則會形成一種特定顏色(比如紅色),而不是綠色。這會讓玩家意識到自己做錯了事情,然后可能自然而然地就會反觀自己的行為是否出錯。若頭盔發生碰撞,那么傳送行為將被立刻禁止,防止有類似穿墻的外掛行為發生 。

5.5 呈現碰撞結束標記

虛擬現實用戶在游戲呈現上有身體的概念,可結合用戶自身所處位置,采取持續沖撞的方式強化身體概念。在整個游戲過程中,碰撞及剛性車身能夠防止游戲玩家出現穿墻或其他實體碰撞物的情況。在系統設計中,碰撞體高度一般與玩家頭盔具體高度相關,若玩家蹲下或者需要上坡或者下坡,碰撞體收縮的幅度一樣大,這就意味著在較低的空間里可能會去蹲下爬行通過。

參考文獻:

[1] 李歡.基于Unity+3D的室內VR仿真設計[J].科技創新與應用,2019(10):40-42.

[2] 朱惠娟.基于Unity3D的虛擬漫游系統[J].計算機系統應用,2012(10):36-39.

【通聯編輯:李雅琪】

收稿日期:2022-04-11

基金項目:廣東省普通高校青年創新人才類項目:《基于VR技術的虛擬校園漫游系統的開發與研究》(編號:2019GKQNCX001)

作者簡介:劉順裕,男,廣東江門人,本科,主要研究方向為計算機應用技術、數字媒體技術。

猜你喜歡
VR技術
虛擬現實技術在新聞報道中的應用
新媒體研究(2017年1期)2017-03-07 03:02:03
手機載體下VR技術的發展及應用
科技傳播(2016年23期)2017-03-01 12:56:19
VR技術現況及其未來對游戲設計的影響
科技傳播(2016年19期)2016-12-27 15:58:11
淺析vr技術及其應用
解析AR技術在動畫電影中的應用
VR(虛擬)技術在電影制作中的實際應用及影響研究
藝術科技(2016年9期)2016-11-18 16:28:21
VR技術在網購中的應用及相關問題闡述
視頻直播模式下的新聞生產方式
今傳媒(2016年7期)2016-09-07 00:35:11
VR技術的軍事化運用淺探
VR技術對古陶瓷修復和展示的研究和運用
科技傳播(2016年10期)2016-07-15 23:01:45
主站蜘蛛池模板: av在线5g无码天天| 精品国产91爱| 久久久无码人妻精品无码| 欧美成人午夜视频免看| 欧美中文字幕一区| 九九香蕉视频| 国产精品尤物在线| 国产成人一区免费观看 | 午夜精品久久久久久久99热下载| 免费不卡视频| 国产日韩丝袜一二三区| 综合人妻久久一区二区精品| 国产日韩久久久久无码精品| 久久国产成人精品国产成人亚洲| 国产精品欧美激情| 成人国产精品一级毛片天堂| 久久久亚洲色| 美女黄网十八禁免费看| 国产一区二区精品高清在线观看 | 欧美日韩国产在线播放| 精品国产污污免费网站| 亚洲色图欧美| 成人韩免费网站| 亚洲无码电影| 亚洲国产精品无码AV| 欧美不卡在线视频| 四虎成人精品| 亚洲 欧美 日韩综合一区| 国产精品爽爽va在线无码观看| 成人小视频网| 五月六月伊人狠狠丁香网| 在线观看精品国产入口| 午夜福利在线观看成人| 国产精品一区在线观看你懂的| 亚洲人成在线免费观看| 国产美女久久久久不卡| 亚洲无码A视频在线| 欧美啪啪一区| 精品成人一区二区三区电影 | 精品无码人妻一区二区| 亚洲国产一区在线观看| 国产在线精品网址你懂的| av在线5g无码天天| 亚洲第一黄片大全| 国产欧美日韩资源在线观看| 国产亚洲欧美日韩在线一区| 欧美人人干| 大香网伊人久久综合网2020| 日韩精品一区二区三区免费在线观看| 亚洲另类国产欧美一区二区| 国产你懂得| 女人一级毛片| 九九这里只有精品视频| 国产毛片高清一级国语| 国产亚洲高清在线精品99| 99视频在线免费| 国产欧美日韩专区发布| 伊人AV天堂| 在线国产毛片手机小视频| 美女国产在线| 亚洲91精品视频| 国产亚洲欧美在线人成aaaa| 亚洲欧洲日韩综合| 动漫精品中文字幕无码| 福利视频一区| 国产精品视频导航| 中国特黄美女一级视频| 国产门事件在线| 亚洲日韩精品伊甸| 中文字幕 日韩 欧美| 91探花在线观看国产最新| 亚洲免费成人网| 成AV人片一区二区三区久久| lhav亚洲精品| 亚洲国产精品成人久久综合影院| av在线5g无码天天| 97国产精品视频人人做人人爱| 77777亚洲午夜久久多人| 日韩毛片免费观看| 亚洲人成成无码网WWW| 丁香五月激情图片| 五月激情婷婷综合|