本發(fā)明涉及步進(jìn)式場(chǎng)景,特別涉及步進(jìn)式場(chǎng)景中點(diǎn)位間的自適應(yīng)移動(dòng)方法、系統(tǒng)及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、步進(jìn)式場(chǎng)景是虛擬與現(xiàn)實(shí)技術(shù)中的一種交互形式,虛擬與現(xiàn)實(shí)技術(shù)以計(jì)算機(jī)技術(shù)為主,利用并綜合三維圖形技術(shù)、多媒體技術(shù)、仿真技術(shù)、顯示技術(shù)、伺服技術(shù)等多種高科技的最新發(fā)展成果,借助計(jì)算機(jī)等設(shè)備產(chǎn)生一個(gè)逼真的三維視覺、觸覺、嗅覺等多種感官體驗(yàn)的虛擬世界。步進(jìn)式場(chǎng)景與普通的虛擬場(chǎng)景不同的是,普通的虛擬場(chǎng)景用戶可自由的在場(chǎng)景中走動(dòng),而步進(jìn)式場(chǎng)景則是在場(chǎng)景構(gòu)建時(shí),設(shè)置不同的點(diǎn)位,在用戶進(jìn)入場(chǎng)景后,通過移動(dòng)鍵,按照點(diǎn)位進(jìn)行移動(dòng),這應(yīng)用于一些偏展示類的虛擬場(chǎng)館上時(shí),能夠減少用戶的操作時(shí)間,提高游覽場(chǎng)館的效率。
2、但是傳統(tǒng)的步進(jìn)式場(chǎng)景中想要在不同點(diǎn)位間移動(dòng)時(shí),一般采用在點(diǎn)位上進(jìn)行傳送的方式,無法展示用戶在點(diǎn)與點(diǎn)移動(dòng)過程中的畫面,這會(huì)降低用戶的虛擬體驗(yàn)感,而且由于切換速度快,畫面更替過程中,也會(huì)給視覺帶來疲勞的感受,若是采用行走的方式,由于虛擬場(chǎng)景鏡頭跟隨用戶的特性,針對(duì)點(diǎn)位相距較近的情況,隨著用戶的行走視角畫面也會(huì)跟著快速變換,不利于用戶觀察點(diǎn)位移動(dòng)時(shí)的畫面,因此傳統(tǒng)的步進(jìn)式場(chǎng)景點(diǎn)位移動(dòng)不夠人性化,無法滿足用戶的使用。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的就在于為了解決上述步進(jìn)式場(chǎng)景點(diǎn)位間的移動(dòng)方式單一,不夠符合用戶的使用習(xí)慣的問題提出步進(jìn)式場(chǎng)景中點(diǎn)位間的自適應(yīng)移動(dòng)方法、系統(tǒng)及存儲(chǔ)介質(zhì),具有根據(jù)點(diǎn)位分布來選擇移動(dòng)方式,更加貼合現(xiàn)實(shí)感受,使用起來更加人性化的優(yōu)點(diǎn)。
2、第一方面,本發(fā)明通過以下技術(shù)方案來實(shí)現(xiàn)上述目的,一種步進(jìn)式場(chǎng)景中點(diǎn)位間的自適應(yīng)移動(dòng)方法,該方法包括以下步驟:
3、預(yù)先設(shè)置距離閾值和角度偏移閾值;
4、獲取用戶的位移信息,所述位移信息包括位移方向和當(dāng)前用戶的視野方向;
5、根據(jù)所述位移信息計(jì)算目標(biāo)點(diǎn)位,并獲取所述目標(biāo)點(diǎn)位的點(diǎn)位信息,所述點(diǎn)位信息包括所述目標(biāo)點(diǎn)位與當(dāng)前位置之間的點(diǎn)位間距、障礙檢測(cè)結(jié)果和正方向,所述正方向?yàn)橛脩羟袚Q至所述目標(biāo)點(diǎn)位時(shí)視野的方向;
6、計(jì)算所述點(diǎn)位間距是否超過距離閾值,若超過則開啟自動(dòng)尋路,設(shè)置所述目標(biāo)點(diǎn)位為自動(dòng)尋路的終點(diǎn);
7、若未超過,則獲取障礙檢測(cè)結(jié)果,若點(diǎn)位間存在障礙,則開啟自動(dòng)尋路,設(shè)置所述目標(biāo)點(diǎn)位為自動(dòng)尋路的終點(diǎn);
8、若點(diǎn)位間無障礙,則計(jì)算當(dāng)前用戶的視野方向與所述正方向之間的夾角;
9、若所述夾角超過所述角度偏移閾值,則開啟自動(dòng)尋路,設(shè)置所述目標(biāo)點(diǎn)位為自動(dòng)尋路的終點(diǎn);
10、若所述夾角未超過所述角度偏移閾值,則將用戶沿直線移動(dòng)到所述目標(biāo)點(diǎn)位。
11、優(yōu)選的,所述將用戶沿直線移動(dòng)到所述目標(biāo)點(diǎn)位的過程中還包括固定用戶的視角方向。
12、優(yōu)選的,該方法還包括設(shè)定角度偏移閾值包括第一閾值和第二閾值,若所述夾角不超過第一閾值,則按照當(dāng)前視野方向進(jìn)行固定,若所述夾角超過第一閾值且不超過第二閾值,則旋轉(zhuǎn)當(dāng)前視野方向與所述目標(biāo)點(diǎn)位的正方向一致,并按照旋轉(zhuǎn)后的視野方向進(jìn)行固定。
13、優(yōu)選的,所述根據(jù)所述位移信息計(jì)算目標(biāo)點(diǎn)位的方法為:
14、計(jì)算位移方向的方向向量;
15、獲取方向向量的左右偏移角度,所述左右偏移角度用于確定位移方向的范圍,根據(jù)左右偏移角度計(jì)算出位移方向的邊界向量;
16、獲取邊界向量之間的所有點(diǎn)位;
17、計(jì)算所有點(diǎn)位與當(dāng)前位置之間的距離,選擇最小距離的點(diǎn)位作為目標(biāo)點(diǎn)位。
18、優(yōu)選的,所述開啟自動(dòng)尋路的方法為:
19、輸入自動(dòng)尋路的初始點(diǎn)和結(jié)束點(diǎn),所述初始點(diǎn)為當(dāng)前位置,結(jié)束點(diǎn)為目標(biāo)點(diǎn)位;
20、烘焙虛擬場(chǎng)景的地面生成導(dǎo)航網(wǎng)格;
21、在所述導(dǎo)航網(wǎng)格中生成最優(yōu)路徑,控制用戶沿著所述最優(yōu)路徑移動(dòng)。
22、優(yōu)選的,所述獲取障礙檢測(cè)結(jié)果的方法為:
23、以當(dāng)前位置向所述目標(biāo)點(diǎn)位發(fā)射若干射線;
24、設(shè)置最高處的射線與最低處的射線間距與用戶模型的身高一致;
25、若所述射線輸出碰撞信號(hào),則輸出存在障礙的結(jié)果,若未輸出碰撞信號(hào),則輸出為無障礙的結(jié)果。
26、第二方面,本發(fā)明通過以下技術(shù)方案來實(shí)現(xiàn)上述目的,一種步進(jìn)式場(chǎng)景中點(diǎn)位間的自適應(yīng)移動(dòng)系統(tǒng),該系統(tǒng)包括:
27、閾值設(shè)置單元,用于預(yù)先設(shè)置距離閾值和角度偏移閾值;
28、位移檢測(cè)單元,用于獲取用戶的位移信息,所述位移信息包括位移方向和當(dāng)前用戶的視野方向;
29、點(diǎn)位檢測(cè)單元,用于根據(jù)所述位移信息計(jì)算目標(biāo)點(diǎn)位,并獲取所述目標(biāo)點(diǎn)位的點(diǎn)位信息,所述點(diǎn)位信息包括所述目標(biāo)點(diǎn)位與當(dāng)前位置之間的點(diǎn)位間距、障礙檢測(cè)結(jié)果和正方向,所述正方向?yàn)橛脩羟袚Q至所述目標(biāo)點(diǎn)位時(shí)視野的方向;
30、移動(dòng)控制單元,用于計(jì)算所述點(diǎn)位間距是否超過距離閾值,若超過則開啟自動(dòng)尋路,設(shè)置所述目標(biāo)點(diǎn)位為自動(dòng)尋路的終點(diǎn);
31、若未超過,則獲取障礙檢測(cè)結(jié)果,若點(diǎn)位間存在障礙,則開啟自動(dòng)尋路,設(shè)置所述目標(biāo)點(diǎn)位為自動(dòng)尋路的終點(diǎn);
32、若點(diǎn)位間無障礙,則計(jì)算當(dāng)前用戶的視野方向與所述正方向之間的夾角;
33、若所述夾角超過所述角度偏移閾值,則開啟自動(dòng)尋路,設(shè)置所述目標(biāo)點(diǎn)位為自動(dòng)尋路的終點(diǎn);
34、若所述夾角未超過所述角度偏移閾值,則將用戶沿直線移動(dòng)到所述目標(biāo)點(diǎn)位。
35、優(yōu)選的,所述移動(dòng)控制單元將用戶沿直線移動(dòng)到所述目標(biāo)點(diǎn)位的過程中還包括固定用戶的視角方向。
36、優(yōu)選的,所述閾值設(shè)置單元設(shè)定的角度偏移閾值包括第一閾值和第二閾值,若所述夾角不超過第一閾值,則按照當(dāng)前視野方向進(jìn)行固定,若所述夾角超過第一閾值且不超過第二閾值,則旋轉(zhuǎn)當(dāng)前視野方向與所述目標(biāo)點(diǎn)位的正方向一致,并按照旋轉(zhuǎn)后的視野方向進(jìn)行固定。
37、第三方面,本發(fā)明通過以下技術(shù)方案來實(shí)現(xiàn)上述目的,一種存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,在所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)如第一方面所述的步進(jìn)式場(chǎng)景中點(diǎn)位間的自適應(yīng)移動(dòng)方法。
38、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
39、本發(fā)明通過對(duì)當(dāng)前位置與目標(biāo)點(diǎn)位之間計(jì)算間距、是否存在障礙物以及視野方向與目標(biāo)點(diǎn)位的正方向是否偏移過多來判斷步進(jìn)式場(chǎng)景中點(diǎn)位切換的方式,每個(gè)點(diǎn)位都設(shè)置正方向,正方向可由開發(fā)人員預(yù)先設(shè)定,這樣移動(dòng)到點(diǎn)位后,視野可以與點(diǎn)位的正方向一致,這樣有助于突出顯示開發(fā)人員想要展示的內(nèi)容供用戶觀看,在本方法中,點(diǎn)位間的移動(dòng)方式有自動(dòng)尋路和直線移動(dòng)的方式,針對(duì)不同情況選擇對(duì)應(yīng)的移動(dòng)方式,這樣能夠在步進(jìn)式游覽過程中,用戶不會(huì)穿過障礙物,或者對(duì)于距離相近的點(diǎn)位,可以快速的切換到該點(diǎn)位;并且在采用直線方式移動(dòng)過程中,由于用戶的當(dāng)前視野方向與正方向偏移程度不大,所以選擇鎖定用戶視角的方式,這樣不會(huì)因鏡頭轉(zhuǎn)換過快而產(chǎn)生不舒適的感受。
1.一種步進(jìn)式場(chǎng)景中點(diǎn)位間的自適應(yīng)移動(dòng)方法,其特征在于,該方法包括以下步驟:
2.根據(jù)權(quán)利要求1所述的步進(jìn)式場(chǎng)景中點(diǎn)位間的自適應(yīng)移動(dòng)方法,其特征在于,所述將用戶沿直線移動(dòng)到所述目標(biāo)點(diǎn)位的過程中還包括固定用戶的視角方向。
3.根據(jù)權(quán)利要求2所述的步進(jìn)式場(chǎng)景中點(diǎn)位間的自適應(yīng)移動(dòng)方法,其特征在于,該方法還包括設(shè)定角度偏移閾值包括第一閾值和第二閾值,若所述夾角不超過第一閾值,則按照當(dāng)前視野方向進(jìn)行固定,若所述夾角超過第一閾值且不超過第二閾值,則旋轉(zhuǎn)當(dāng)前視野方向與所述目標(biāo)點(diǎn)位的正方向一致,并按照旋轉(zhuǎn)后的視野方向進(jìn)行固定。
4.根據(jù)權(quán)利要求1所述的步進(jìn)式場(chǎng)景中點(diǎn)位間的自適應(yīng)移動(dòng)方法,其特征在于,所述根據(jù)所述位移信息計(jì)算目標(biāo)點(diǎn)位的方法為:
5.根據(jù)權(quán)利要求1所述的步進(jìn)式場(chǎng)景中點(diǎn)位間的自適應(yīng)移動(dòng)方法,其特征在于,所述開啟自動(dòng)尋路的方法為:
6.根據(jù)權(quán)利要求1所述的步進(jìn)式場(chǎng)景中點(diǎn)位間的自適應(yīng)移動(dòng)方法,其特征在于,所述獲取障礙檢測(cè)結(jié)果的方法為:
7.一種步進(jìn)式場(chǎng)景中點(diǎn)位間的自適應(yīng)移動(dòng)系統(tǒng),其特征在于,該系統(tǒng)包括:
8.根據(jù)權(quán)利要求7所述的步進(jìn)式場(chǎng)景中點(diǎn)位間的自適應(yīng)移動(dòng)系統(tǒng),其特征在于,所述移動(dòng)控制單元將用戶沿直線移動(dòng)到所述目標(biāo)點(diǎn)位的過程中還包括固定用戶的視角方向。
9.根據(jù)權(quán)利要求7所述的步進(jìn)式場(chǎng)景中點(diǎn)位間的自適應(yīng)移動(dòng)系統(tǒng),其特征在于,所述閾值設(shè)置單元設(shè)定的角度偏移閾值包括第一閾值和第二閾值,若所述夾角不超過第一閾值,則按照當(dāng)前視野方向進(jìn)行固定,若所述夾角超過第一閾值且不超過第二閾值,則旋轉(zhuǎn)當(dāng)前視野方向與所述目標(biāo)點(diǎn)位的正方向一致,并按照旋轉(zhuǎn)后的視野方向進(jìn)行固定。
10.一種存儲(chǔ)介質(zhì),其特征在于,其上存儲(chǔ)有計(jì)算機(jī)程序,在所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)如權(quán)利要求1-6任一項(xiàng)所述的步進(jìn)式場(chǎng)景中點(diǎn)位間的自適應(yīng)移動(dòng)方法。