本發(fā)明涉及vr業(yè)務(wù)場景,更具體涉及一種用于多個vr場景在同一時間同一場地中動態(tài)分配可行走空間的方法。
背景技術(shù):
1、在常規(guī)多人vr業(yè)務(wù)場景中,最大允許5人左右同時進行vr場景體驗,此時在當前場地中,一個vr業(yè)務(wù)場景就占據(jù)了所有的場地空間,會導(dǎo)致運行vr場景時,空間利用率非常低。
2、考慮到多人vr場景中,一個vr場景中,可移動可交互的空間范圍一般需要25平米并不需要占據(jù)當前場地中所有的空間,因此需要一種可以提升空間利用率的方法,允許同一現(xiàn)實空間中同時運行多個vr(多人)業(yè)務(wù)場景。
技術(shù)實現(xiàn)思路
1、本發(fā)明需要解決的技術(shù)問題是提供一種用于多個vr場景在同一時間同一場地中動態(tài)分配可行走空間的方法,允許同一現(xiàn)實空間中同時運行多個vr業(yè)務(wù)場景。
2、為解決上述技術(shù)問題,本發(fā)明所采取的技術(shù)方案如下。
3、用于多個vr場景在同一時間同一場地中動態(tài)分配可行走空間的方法,包括以下步驟:
4、a.根據(jù)當前現(xiàn)實中場地的寬高對場景進行建模;
5、b.根據(jù)空間中障礙物對場地模型進行修改;
6、c.啟動vr場景,vr場景根據(jù)具體業(yè)務(wù)需求從后臺程序申請空間;
7、d.后臺程序根據(jù)算法計算從當前場景中劃分出申請空間,并標記為已占用,返回給vr業(yè)務(wù)實例;
8、e.vr業(yè)務(wù)實例根據(jù)自身場景內(nèi)容繼續(xù)申請空間,釋放空間。
9、進一步優(yōu)化技術(shù)方案,所述步驟a中,建模的方法包括以下幾個步驟:
10、a1.通過對現(xiàn)實場景進行實地測量,獲取現(xiàn)實場景準確的長度、寬度、高度尺寸,將該場地的長寬劃分成若干標準單位的區(qū)域,該區(qū)域即是可動態(tài)分配的空間大小,其中障礙物始為已占用空間;
11、a2.根據(jù)測量數(shù)據(jù),使用3dmax或maya,搭建對應(yīng)要求的場景,保證vr內(nèi)容可活動區(qū)域與實際場景相匹配,使用時無沖突;
12、a3.制作成一組可銜接、可調(diào)整的場景模塊,對vr場景內(nèi)容分配支持動態(tài)空間。
13、進一步優(yōu)化技術(shù)方案,所述步驟b中,去除空間中障礙物的方法包括以下幾個步驟:
14、b1.在建模階段,根據(jù)測量所得的空間障礙物位置,對vr場景進行設(shè)計,以避讓、模型占位、可移動空間規(guī)避形式對這些障礙物做第一步處理;
15、b2.在動態(tài)分配系統(tǒng)中,對有障礙物的空間已進行提前標記,在分配時這部分被標記空間設(shè)為已占用,將不會被參與分配。
16、進一步優(yōu)化技術(shù)方案,所述步驟c中,申請空間的方法是根據(jù)vr內(nèi)容的尺寸,向后臺程序申請?zhí)囟ù笮〉目尚凶呖臻g。
17、進一步優(yōu)化技術(shù)方案,所述步驟d中,利用廣度優(yōu)先搜索算法和計劃搜索算法以及降低時間復(fù)雜度的算法優(yōu)化,在場地空間中實時申請空間。
18、進一步優(yōu)化技術(shù)方案,所述廣度優(yōu)先搜索算法是從根節(jié)點開始,探索盡可能近的節(jié)點,即先訪問起始節(jié)點的所有鄰接節(jié)點,然后再依次訪問這些鄰接節(jié)點的未被訪問的鄰接節(jié)點,以此類推,直到訪問完圖中所有可達的節(jié)點。
19、進一步優(yōu)化技術(shù)方案,所述計劃搜索算法是通過系統(tǒng)地探索問題空間來尋找滿足特定條件的解決方案。
20、進一步優(yōu)化技術(shù)方案,所述降低時間復(fù)雜度的算法優(yōu)化是使用c++替代腳本語言提升性能,以及使用合適容器、利用優(yōu)勢算法、消除多重運算、利用條件分支和優(yōu)化數(shù)據(jù)結(jié)構(gòu)。
21、進一步優(yōu)化技術(shù)方案,所述步驟e中,vr業(yè)務(wù)實例申請空間和釋放空間的方法是在進入下一場景時,需要根據(jù)當前場景的出口位置和下一場景的尺寸、入口位置,向后臺程序發(fā)起空間申請,后臺程序根據(jù)需求,分配未占用的空間以及相應(yīng)路徑給該業(yè)務(wù)實例,當該實例進入下一場景后,則上一場景從vr內(nèi)容中卸載,且上一場景所占用的空間在后臺程序被釋放,重新劃入未分配空間,供后續(xù)分配時使用。
22、由于采用了以上技術(shù)方案,本發(fā)明所取得技術(shù)進步如下。
23、本發(fā)明提供的用于多個vr場景在同一時間同一場地中動態(tài)分配可行走空間的方法,利用廣度優(yōu)先算法和計劃搜索算法以及降低時間復(fù)雜度的算法優(yōu)化,在場地空間中實時申請空間實時釋放空間,使得多個vr(多人)業(yè)務(wù)場景可以同時運行,每一個業(yè)務(wù)場景申請的空間互不影響。
1.用于多個vr場景在同一時間同一場地中動態(tài)分配可行走空間的方法,其特征在于:包括以下步驟:
2.根據(jù)權(quán)利要求1所述的用于多個vr場景在同一時間同一場地中動態(tài)分配可行走空間的方法,其特征在于:所述步驟a中,建模的方法包括以下幾個步驟:
3.根據(jù)權(quán)利要求1所述的用于多個vr場景在同一時間同一場地中動態(tài)分配可行走空間的方法,其特征在于:所述步驟b中,去除空間中障礙物的方法包括以下幾個步驟:
4.根據(jù)權(quán)利要求1所述的用于多個vr場景在同一時間同一場地中動態(tài)分配可行走空間的方法,其特征在于:所述步驟c中,申請空間的方法是根據(jù)vr內(nèi)容的尺寸,向后臺程序申請?zhí)囟ù笮〉目尚凶呖臻g。
5.根據(jù)權(quán)利要求1所述的用于多個vr場景在同一時間同一場地中動態(tài)分配可行走空間的方法,其特征在于:所述步驟d中,利用廣度優(yōu)先搜索算法和計劃搜索算法以及降低時間復(fù)雜度的算法優(yōu)化,在場地空間中實時申請空間。
6.根據(jù)權(quán)利要求5所述的用于多個vr場景在同一時間同一場地中動態(tài)分配可行走空間的方法,其特征在于:所述廣度優(yōu)先搜索算法是從根節(jié)點開始,探索盡可能近的節(jié)點,即先訪問起始節(jié)點的所有鄰接節(jié)點,然后再依次訪問這些鄰接節(jié)點的未被訪問的鄰接節(jié)點,以此類推,直到訪問完圖中所有可達的節(jié)點。
7.根據(jù)權(quán)利要求5所述的用于多個vr場景在同一時間同一場地中動態(tài)分配可行走空間的方法,其特征在于:所述計劃搜索算法是通過系統(tǒng)地探索問題空間來尋找滿足特定條件的解決方案。
8.根據(jù)權(quán)利要求5所述的用于多個vr場景在同一時間同一場地中動態(tài)分配可行走空間的方法,其特征在于:所述降低時間復(fù)雜度的算法優(yōu)化是使用c++替代腳本語言提升性能,以及使用合適容器、利用優(yōu)勢算法、消除多重運算、利用條件分支和優(yōu)化數(shù)據(jù)結(jié)構(gòu)。
9.根據(jù)權(quán)利要求1所述的用于多個vr場景在同一時間同一場地中動態(tài)分配可行走空間的方法,其特征在于:所述步驟e中,vr業(yè)務(wù)實例申請空間和釋放空間的方法是在進入下一場景時,需要根據(jù)當前場景的出口位置和下一場景的尺寸、入口位置,向后臺程序發(fā)起空間申請,后臺程序根據(jù)需求,分配未占用的空間以及相應(yīng)路徑給該業(yè)務(wù)實例,當該實例進入下一場景后,則上一場景從vr內(nèi)容中卸載,且上一場景所占用的空間在后臺程序被釋放,重新劃入未分配空間,供后續(xù)分配時使用。