亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于局域網(wǎng)實現(xiàn)VR多人交互系統(tǒng)的方法與流程

文檔序號:12134782閱讀:2749來源:國知局
一種基于局域網(wǎng)實現(xiàn)VR多人交互系統(tǒng)的方法與流程

本發(fā)明涉及計算機圖形以及人機交互技術(shù),具體涉及一種基于局域網(wǎng)實現(xiàn)VR多人交互系統(tǒng)的方法。



背景技術(shù):

虛擬現(xiàn)實(Virtual Reality,VR)技術(shù)是一種可以創(chuàng)建和體驗虛擬世界的計算機仿真系統(tǒng),它利用計算機生成一種模擬環(huán)境,是一種多源信息融合的交互式的三維動態(tài)視景和實體行為的系統(tǒng)仿真,使用戶沉浸到該環(huán)境中。

當(dāng)前的VR設(shè)備,諸如HTC VIVE和Oculus Rift已經(jīng)實現(xiàn)了小范圍的運動跟蹤,并且通過現(xiàn)有技術(shù)可以實現(xiàn)單人在虛擬場景中與單個計算機的交互。然而,很多應(yīng)用場景需要多人的參與和協(xié)同,例如手術(shù)模擬、工業(yè)裝配培訓(xùn)等,現(xiàn)有的技術(shù)通過使用昂貴的動作捕捉設(shè)備可以實現(xiàn)多人互動,但成本過高不適合推廣,且實現(xiàn)起來較為困難。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的不足,提供一種基于局域網(wǎng)實現(xiàn)VR多人交互系統(tǒng)的方法,利用局域網(wǎng)通信,各PC端實時共享VR設(shè)備位置、數(shù)字按鈕、模擬信號等數(shù)據(jù),實現(xiàn)將佩戴VR設(shè)備的真人動作、指令等對應(yīng)到虛擬人物上,從而實現(xiàn)在虛擬空間中的多人交互和互動。

為實現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:

一種基于局域網(wǎng)實現(xiàn)VR多人交互系統(tǒng)的方法,該交互系統(tǒng)包含有N個用戶和N個VR子系統(tǒng),每個用戶對應(yīng)使用單個VR子系統(tǒng),各個VR子系統(tǒng)間通過路由設(shè)備組成局域網(wǎng);

優(yōu)選地,所述單個VR子系統(tǒng)扮演兩個角色,即服務(wù)端和客戶端,其中服務(wù)端負(fù)責(zé)向局域網(wǎng)中發(fā)送當(dāng)前PC連接的VR設(shè)備的數(shù)據(jù),客戶端負(fù)責(zé)接收局域網(wǎng)中其他VR子系統(tǒng)發(fā)送過來的數(shù)據(jù);

優(yōu)選地,所述單個VR子系統(tǒng)包含一臺主機和一套VR硬件設(shè)備;優(yōu)選地,在N個VR子系統(tǒng)組成的局域網(wǎng)中,每個VR子系統(tǒng)只能有一個服務(wù)端,但有N-1個客戶端;

優(yōu)選地,所述單個VR子系統(tǒng)中,服務(wù)端處理的數(shù)據(jù)類型包括位置跟蹤、數(shù)字按鈕和模擬信號等,在圖形渲染的每一幀間隙,PC獲取與本機相連的VR設(shè)備傳回的數(shù)據(jù),并加載和更新到對應(yīng)數(shù)據(jù)類型中;

優(yōu)選地,所述單個VR子系統(tǒng)中,客戶端處理的數(shù)據(jù)類型與服務(wù)端對應(yīng),同樣包括位置跟蹤、數(shù)字按鈕和模擬信號等;

優(yōu)選地,所述單個VR子系統(tǒng)的N-1個客戶端分別用于接收局域網(wǎng)中其他N-1個VR子系統(tǒng)通過服務(wù)端發(fā)送的socket包,并將相應(yīng)位置跟蹤、數(shù)字按鈕、模擬信號等數(shù)據(jù)提取,在下一幀渲染前,更新虛擬場景,使得虛擬場景中代表其他VR子系統(tǒng)使用者的模型位置、動作更新,同時對其他使用者手柄按鈕、觸摸板模擬數(shù)據(jù)等作觸發(fā)條件檢測,以實現(xiàn)其他人對虛擬場景的操作在本機上得到更新和同步;

優(yōu)選地,所述位置跟蹤負(fù)責(zé)更新頭盔、手柄位置數(shù)據(jù),數(shù)字按鈕負(fù)責(zé)更新手柄上的按鈕數(shù)據(jù),模擬信號負(fù)責(zé)更新觸摸板上的模擬數(shù)據(jù)等,并將這些數(shù)據(jù)結(jié)合自己局域網(wǎng)IP封裝成socket包,在局域網(wǎng)內(nèi)進行發(fā)送。

采用上述技術(shù)方案后,本發(fā)明與背景技術(shù)相比,具有如下優(yōu)點:本發(fā)明能在不增加任何硬件設(shè)備的條件下,實現(xiàn)局域網(wǎng)內(nèi)VR系統(tǒng)的多人交互和互動,從而使得虛擬場景中需要多人協(xié)同的VR應(yīng)用可以開展。

附圖說明

圖1局域網(wǎng)中的N各VR子系統(tǒng)

圖2單個VR系統(tǒng)的數(shù)據(jù)傳輸通信

具體實施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

實施例

真實世界中有N個用戶,分別為用戶1、用戶2、…、用戶N,他們各自使用一個VR子系統(tǒng),這N個VR子系統(tǒng)分別為VR子系統(tǒng)1、VR子系統(tǒng)2、…、VR子系統(tǒng)N,這N個VR子系統(tǒng)通過路由設(shè)備(如路由器、交換機)組成局域網(wǎng);單個VR子系統(tǒng)包含一臺主機和一套VR硬件設(shè)備;每個獨立的VR子系統(tǒng)扮演兩個角色,即服務(wù)端和客戶端。

局域網(wǎng)中的N各VR子系統(tǒng)可見圖1,同時為了方便理解,可見圖2的單個VR系統(tǒng)的數(shù)據(jù)傳輸通信。

下面以VR子系統(tǒng)1、VR子系統(tǒng)2和VR子系統(tǒng)3共三套VR子系統(tǒng)組成的交互系統(tǒng)為例:

1、建立VR子系統(tǒng)1、VR子系統(tǒng)2和VR子系統(tǒng)3之間的相互連接;

(1)VR子系統(tǒng)1的IP地址為“192.168.1.101”,VR子系統(tǒng)2的IP地址為“192.168.1.102”,VR子系統(tǒng)3的IP地址為“192.168.1.103”,VR子系統(tǒng)1、VR子系統(tǒng)2和VR子系統(tǒng)3已相互知道對方的地址;

(2)VR子系統(tǒng)1的服務(wù)端開啟一個所有VR子系統(tǒng)已知的UDP端口,用于接收其他用戶的連接請求;

(3)VR子系統(tǒng)2的客戶端開啟一個任意可用的TCP端口,并向VR子系統(tǒng)1中的已知UDP端口發(fā)送UDP封包的請求,告知剛開啟的TCP端口并請求VR子系統(tǒng)1的服務(wù)端開啟一個與VR子系統(tǒng)2的TCP連接;VR子系統(tǒng)3進行與VR子系統(tǒng)2相同的操作;

(4)VR子系統(tǒng)2剛開啟的TCP端口如果沒有收到VR子系統(tǒng)1的調(diào)用,則短時間內(nèi)(例如1秒)再次發(fā)送UDP請求,如果長時間依然沒有VR子系統(tǒng)1的回復(fù)則認(rèn)為網(wǎng)絡(luò)連接有誤,停止嘗試;如果VR子系統(tǒng)2的TCP端口接受到了VR子系統(tǒng)1的連接,則執(zhí)行例如數(shù)據(jù)類型對應(yīng)、數(shù)據(jù)初始化、時鐘同步等操作;VR子系統(tǒng)3進行與VR子系統(tǒng)2相同的操作;

(5)VR子系統(tǒng)2再開啟一個可用的UDP端口用于接收之后的數(shù)據(jù)傳輸,通過TCP通道告知VR系統(tǒng)1,VR子系統(tǒng)1的服務(wù)端向VR系統(tǒng)2的UDP端口發(fā)送數(shù)據(jù);同理,VR子系統(tǒng)3再開啟一個可用的UDP端口用于接收之后的數(shù)據(jù)傳輸,通過TCP通道告知VR系統(tǒng)1,VR子系統(tǒng)1的服務(wù)端向VR系統(tǒng)3的UDP端口發(fā)送數(shù)據(jù);

(6)系統(tǒng)中的所有服務(wù)端、客戶端都需要完成類似上述操作,實現(xiàn)數(shù)據(jù)、時鐘同步,并開啟數(shù)據(jù)發(fā)送、接收的通道;

2、單個VR子系統(tǒng)在圖形渲染的每一幀間隙,PC獲取與本機相連的VR硬件設(shè)備傳回的數(shù)據(jù),并加載和更新到對應(yīng)數(shù)據(jù)類型中,比如位置跟蹤負(fù)責(zé)更新頭盔、手柄位置數(shù)據(jù),數(shù)字按鈕負(fù)責(zé)更新手柄上的按鈕數(shù)據(jù),模擬信號負(fù)責(zé)更新觸摸板上的模擬數(shù)據(jù)等;

3、服務(wù)端獲取到的VR硬件設(shè)備數(shù)據(jù)包括位置跟蹤、數(shù)字按鈕和模擬信號等,被封裝為socket包,傳向所有被告知的用于數(shù)據(jù)接收的UDP端口;

4、每個獨立的VR系統(tǒng)只需要發(fā)送自己VR硬件設(shè)備的數(shù)據(jù),所以每個VR子系統(tǒng)只有一個服務(wù)端;客戶端負(fù)責(zé)接收局域網(wǎng)中除自己以外其他VR子系統(tǒng)發(fā)送的socket包,因此在本例3個VR子系統(tǒng)組成的局域網(wǎng)中,每個VR子系統(tǒng)有2個客戶端;

5、客戶端接收到的其他VR子系統(tǒng)發(fā)送的socket包解包以后可以得到與服務(wù)端發(fā)送數(shù)據(jù)對應(yīng)的位置跟蹤、數(shù)字按鈕和模擬信號等數(shù)據(jù),并通過對應(yīng)socket包的IP地址標(biāo)簽可以區(qū)分?jǐn)?shù)據(jù)來源,例如VR子系統(tǒng)2接收到“192.168.1.101”為標(biāo)簽的socket包,就知道解包以后的數(shù)據(jù)為VR子系統(tǒng)1所有;每個VR子系統(tǒng)都可以獲取到其余2個VR子系統(tǒng)封裝的數(shù)據(jù),并明確地與發(fā)送源對應(yīng);

6、客戶端通過解socket包獲取到的其他VR系統(tǒng)的位置跟蹤、數(shù)字按鈕、模擬信號等數(shù)據(jù),在下一幀渲染前,更新虛擬場景,使得虛擬場景中代表其他VR系統(tǒng)使用者的模型位置、動作更新,同時對其他使用者手柄按鈕、觸摸板模擬數(shù)據(jù)等作觸發(fā)條件檢測;

7、通過上述步驟6實現(xiàn)其他2個用戶對虛擬場景的操作在本機上得到更新和同步,真實世界中其他用戶的位置、動作將會表現(xiàn)在虛擬世界的模型上,而其他用戶通過手柄操控的指令也能同樣在本機觸發(fā),進而達到在虛擬場景中協(xié)同、交互的目的。

以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準(zhǔn)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1