本發(fā)明屬于虛擬現(xiàn)實(shí)技術(shù)領(lǐng)域,具體涉及一種虛擬現(xiàn)實(shí)的移動(dòng)控制方法。
背景技術(shù):
虛擬現(xiàn)實(shí)技術(shù)是一種可以創(chuàng)建和體驗(yàn)虛擬世界的計(jì)算機(jī)仿真系統(tǒng),它利用計(jì)算機(jī)生成一種模擬環(huán)境,是一種多源信息融合的交互式的三維動(dòng)態(tài)視景和實(shí)體行為的系統(tǒng)仿真使用戶沉浸到該環(huán)境中。虛擬現(xiàn)實(shí)技術(shù)(VR)主要包括模擬環(huán)境、感知、自然技能和傳感設(shè)備等方面。其中模擬環(huán)境是由計(jì)算機(jī)生成的、實(shí)時(shí)動(dòng)態(tài)的三維立體逼真圖像;感知是指理想的VR應(yīng)該具有一切人所具有的感知,除計(jì)算機(jī)圖形技術(shù)所生成的視覺(jué)感知外,還有聽(tīng)覺(jué)、觸覺(jué)、力覺(jué)、運(yùn)動(dòng)等感知,甚至還包括嗅覺(jué)和味覺(jué)等,也稱為多感知;自然技能是指人的頭部轉(zhuǎn)動(dòng),眼睛、手勢(shì)、或其他人體行為動(dòng)作,由計(jì)算機(jī)來(lái)處理與參與者的動(dòng)作相適應(yīng)的數(shù)據(jù),并對(duì)用戶的輸入作出實(shí)時(shí)響應(yīng),并分別反饋到用戶的五官;傳感設(shè)備是指三維交互設(shè)備。
傳感設(shè)備,是一個(gè)人類感知(Perception)模擬器與人類自身比賽的過(guò)程,人身體中有個(gè)感知器官“前庭(Vestibule)”,它就在人的內(nèi)耳中,是內(nèi)耳器官之一,由三個(gè)半規(guī)管和球囊、橢圓囊組成。內(nèi)耳的前庭和耳蝸總稱位聽(tīng)器官,顧名思義就是感知位置和聽(tīng)覺(jué)的,前庭感知人體空間位置,后者負(fù)責(zé)聽(tīng)覺(jué)。前庭的三個(gè)半規(guī)管感知身體旋轉(zhuǎn)的角加速度,球囊、橢圓囊感知直線加速度。前庭感受器感知人體在空間的位置及其變化,并將這些信息向中樞傳遞,主要產(chǎn)生兩個(gè)方面的生理效應(yīng):一方面對(duì)人體變化了的位置和姿勢(shì)進(jìn)行調(diào)節(jié),保持人體平衡;另一方面參與調(diào)節(jié)眼球運(yùn)動(dòng),使人體在體位改變和運(yùn)動(dòng)中保持清晰的視覺(jué),故而它對(duì)保持身體的姿勢(shì)平衡和清晰的視覺(jué)起重要作用。眩暈是一種運(yùn)動(dòng)性或位置性幻覺(jué),是體內(nèi)病理、或生理性位置覺(jué)刺激與大腦高級(jí)感覺(jué)中樞的沖突,是人體平衡系統(tǒng)功能紊亂的表現(xiàn),包括自身旋轉(zhuǎn)感或周圍景物旋轉(zhuǎn)感、擺動(dòng)感、漂浮感、升降感及傾斜感與自身經(jīng)驗(yàn)不符等。
理想的模擬環(huán)境應(yīng)該達(dá)到使用戶難辨真假的程度,為了提高使用者感到作為主角存在于模擬環(huán)境中的真實(shí)程度,就要使得傳感設(shè)備感知模擬器給人眼的感知能與人體本身感知的信息相同,而目前的傳感設(shè)備被用戶使用后,眼睛看到的VR畫面(也就是模擬環(huán)境)與從耳朵接收到的(人體的真實(shí)位置)信息并不能完全及時(shí)地匹配,導(dǎo)致人體腦負(fù)擔(dān)加大,從而產(chǎn)生暈眩感。除了暈眩,甚至還會(huì)有移動(dòng)帶來(lái)的嘔吐,錯(cuò)覺(jué),繼而肌肉緊張,眼睛疲勞。產(chǎn)生暈眩主要有兩大原因:一是VR畫面過(guò)度逼真使人的身體有身臨其境的感覺(jué),認(rèn)為處于畫面中動(dòng)作或狀態(tài)中,但實(shí)際上人的身體并未發(fā)生動(dòng)作或者移動(dòng);二是VR硬件的延遲造成時(shí)間上的不同步,也就是當(dāng)人轉(zhuǎn)動(dòng)視角或是移動(dòng)的時(shí)候,畫面呈現(xiàn)的速度跟不上。
在虛擬現(xiàn)實(shí)環(huán)境中,使用者需要在虛擬世界中進(jìn)行移動(dòng)和漫游,常見(jiàn)的移動(dòng)控制方法有如下幾種:
1.真實(shí)移動(dòng)映射:使用者在固定環(huán)境中,依靠預(yù)先設(shè)置好的追蹤設(shè)備,對(duì)使用者的位置進(jìn)行位置捕捉和追蹤,并且映射到虛擬現(xiàn)實(shí)環(huán)境中,使得使用者在固定大小的環(huán)境空間內(nèi)的移動(dòng)動(dòng)作映射到虛擬環(huán)境中,從而實(shí)現(xiàn)使用者在虛擬環(huán)境中的移動(dòng)控制。目前世面上的追蹤定位技術(shù)主要分為:GPS衛(wèi)星定位、紅外定位、激光定位、低功耗藍(lán)牙定位、WiFi定位、超聲波定位還有ZigBee定位等等,但GPS衛(wèi)星定位信號(hào)受建筑物影響較大,衰弱很大,定位精度相對(duì)較低,在VR控制方面應(yīng)用有限;紅外定位利用多個(gè)紅外發(fā)射攝像頭對(duì)室內(nèi)定位空間進(jìn)行覆蓋,造價(jià)非常昂貴,且供貨量很小,不適用普通家庭;激光定位、低功耗藍(lán)牙定位、WiFi定位、超聲波定位還有ZigBee定位等存在設(shè)備成本高或環(huán)境范圍有限或精度不夠等缺點(diǎn)。因此這種控制方式雖然能夠降低使用者的眩暈感受,但是追蹤設(shè)備成本高,設(shè)備使用對(duì)空間要求也高,并且只能實(shí)現(xiàn)小范圍的虛擬環(huán)境移動(dòng),不能支撐使用者進(jìn)行大范圍的移動(dòng)。
2.傳送移動(dòng):使用者在虛擬現(xiàn)實(shí)環(huán)境中,通過(guò)光標(biāo)選擇目標(biāo)地點(diǎn),通過(guò)控制器控制確認(rèn)要移動(dòng)到該目標(biāo)地點(diǎn),確認(rèn)后會(huì)使用者被傳送到目標(biāo)地點(diǎn)。這種在虛擬環(huán)境中使用者從原本所在點(diǎn)被直接傳輸?shù)侥繕?biāo)地點(diǎn)的傳送方式為點(diǎn)對(duì)點(diǎn)直接傳送,雖然可以少量規(guī)避因?yàn)樯眢w感知造成的眩暈,并且移動(dòng)范圍也比較大,但這種移動(dòng)方式限制了很多虛擬現(xiàn)實(shí)世界的設(shè)計(jì),使得使用者兩點(diǎn)位置之間的移動(dòng)過(guò)程中的很多事件和場(chǎng)景過(guò)程都無(wú)法得到體驗(yàn),一定程度破壞使用者的沉浸感,使用者無(wú)法感覺(jué)自己完全沉浸在虛擬世界中,缺少與真實(shí)世界相同或相似的感知,降低了虛擬現(xiàn)實(shí)環(huán)境帶來(lái)的沉浸體驗(yàn)。
3.輸入設(shè)備映射移動(dòng):使用者通過(guò)手柄,鍵盤,觸摸板等輸入設(shè)備上的按鈕進(jìn)行操控,控制移動(dòng)的方向和速度,操控的結(jié)果會(huì)被映射到虛擬環(huán)境中,進(jìn)而實(shí)現(xiàn)在虛擬現(xiàn)實(shí)環(huán)境中的移動(dòng)。這種移動(dòng)方式的使用者在虛擬環(huán)境中的移動(dòng)范圍和場(chǎng)景雖然不受限制,但是使用者視覺(jué)感知到了移動(dòng)與動(dòng)作,但身體感知運(yùn)動(dòng)的前庭器官并沒(méi)有感知到對(duì)應(yīng)的移動(dòng),因此視覺(jué)感知和身體感知之間的存在差異,感知的信息并沒(méi)有同步,進(jìn)而使得使用者出現(xiàn)強(qiáng)烈眩暈。
綜上,幾種移動(dòng)控制方法都存在或多或少的各種缺陷,尤其是眩暈問(wèn)題,使得使用者不能完全投入地在虛擬環(huán)境中進(jìn)行移動(dòng)動(dòng)作。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是為了解決上述問(wèn)題,提供一種虛擬現(xiàn)實(shí)的移動(dòng)控制方法,僅通過(guò)視覺(jué)控制就可以實(shí)現(xiàn)使用者在虛擬現(xiàn)實(shí)環(huán)境中的移動(dòng)。
為了達(dá)到上述發(fā)明目的,本發(fā)明采用以下技術(shù)方案:
一種虛擬現(xiàn)實(shí)的移動(dòng)控制方法,其特征在于,所述方法包括以下步驟:
S1在虛擬現(xiàn)實(shí)環(huán)境中,設(shè)立若干個(gè)目標(biāo)坐標(biāo)點(diǎn),視覺(jué)可見(jiàn)的目標(biāo)坐標(biāo)點(diǎn)為單個(gè);
S2利用角速度傳感器對(duì)人頭部轉(zhuǎn)動(dòng)角度進(jìn)行追蹤,通過(guò)轉(zhuǎn)動(dòng)頭部實(shí)現(xiàn)對(duì)虛擬現(xiàn)實(shí)環(huán)境中的視覺(jué)朝向的控制;
S3利用針對(duì)某個(gè)目標(biāo)坐標(biāo)點(diǎn)的視覺(jué)方向上獲得的方向圓錐角進(jìn)行移動(dòng)的控制。
人類對(duì)客觀世界的感知信息75%來(lái)自視覺(jué),視覺(jué)通道是VR系統(tǒng)中最重要的感知接口,本發(fā)明僅僅利用角速度傳感器與頭部動(dòng)作的配合就可以實(shí)現(xiàn)對(duì)虛擬現(xiàn)實(shí)環(huán)境中的移動(dòng)的控制,目標(biāo)坐標(biāo)點(diǎn)設(shè)置越多,使用者的移動(dòng)自由度越高,虛擬環(huán)境的場(chǎng)景或范圍就越大;使用者移動(dòng)的范圍僅受目標(biāo)坐標(biāo)點(diǎn)限制,不受使用者實(shí)際所在的空間范圍的限制,因此使用者在虛擬環(huán)境中的移動(dòng)范圍可以很大,對(duì)使用者在現(xiàn)實(shí)世界所處空間大小并沒(méi)有需求限制。
進(jìn)一步,所述目標(biāo)坐標(biāo)點(diǎn)為具體的一個(gè)點(diǎn)或線段或一個(gè)帶邊界的面。目標(biāo)坐標(biāo)點(diǎn)越大越利于視覺(jué)上的聚焦。
進(jìn)一步,所述步驟S2中利用角速度傳感器對(duì)人頭部轉(zhuǎn)動(dòng)角度進(jìn)行追蹤為使用者佩帶設(shè)有陀螺儀的頭顯設(shè)備,通過(guò)轉(zhuǎn)動(dòng)頭部實(shí)現(xiàn)視覺(jué)朝向的控制。
進(jìn)一步,所述步驟S3包括以下步驟:
A確定要移動(dòng)到某個(gè)目標(biāo)坐標(biāo)點(diǎn);
B使用者開始移動(dòng),按照預(yù)設(shè)的第一加速曲線進(jìn)行加速,加速度隨著時(shí)間增加而變大,直到速度達(dá)到預(yù)設(shè)的最高速度值,然后按預(yù)設(shè)的最高速度值進(jìn)行恒速移動(dòng);
C當(dāng)使用者的當(dāng)前位置點(diǎn)和目標(biāo)坐標(biāo)點(diǎn)的距離小于預(yù)設(shè)的距離值,則使用預(yù)設(shè)的第一減速曲線進(jìn)行減速,減速度隨著時(shí)間增加而變大,速度降至零的同時(shí)使用者也到達(dá)目標(biāo)坐標(biāo)點(diǎn)。
更進(jìn)一步,步驟A確定要移動(dòng)到某個(gè)目標(biāo)坐標(biāo)點(diǎn)的過(guò)程為,使用者轉(zhuǎn)動(dòng)頭部,通過(guò)把頭顯設(shè)備屏幕中央的光標(biāo),移動(dòng)到目標(biāo)坐標(biāo)點(diǎn)上維持一段時(shí)間,并且不脫離目標(biāo)坐標(biāo)點(diǎn)范圍,來(lái)確定想目標(biāo)坐標(biāo)點(diǎn)移動(dòng)的需求;屏幕中央的光標(biāo)即使用者視覺(jué)朝向的中心點(diǎn)。利用頭部轉(zhuǎn)動(dòng)來(lái)進(jìn)行目的地確認(rèn),可以降低視覺(jué)和身體知覺(jué)的異步造成的眩暈感。
進(jìn)一步,方向圓錐角的獲得過(guò)程為,方向圓錐角的獲得過(guò)程為,對(duì)使用者的視覺(jué)朝向所顯示的畫面進(jìn)行逐幀監(jiān)測(cè),在使用者的當(dāng)前坐標(biāo)點(diǎn)和目標(biāo)坐標(biāo)點(diǎn)之間的連線上,即朝向目標(biāo)坐標(biāo)點(diǎn)的方向,設(shè)置方向圓錐角,圓錐頂點(diǎn)即使用者的當(dāng)前坐標(biāo)點(diǎn),底面朝向目標(biāo)坐標(biāo)點(diǎn)。
進(jìn)一步,所述逐幀監(jiān)測(cè)的幀數(shù)為至少50幀或滿幀。
更進(jìn)一步,當(dāng)使用者的視覺(jué)朝向偏離預(yù)設(shè)方向圓錐角時(shí),使用預(yù)設(shè)的第二減速曲線進(jìn)行朝向目標(biāo)坐標(biāo)點(diǎn)移動(dòng)速度的緩慢減速,減速度的值伴隨時(shí)間增加而變大,進(jìn)而逐步降低使用者在虛擬現(xiàn)實(shí)環(huán)境中的速度,使用者移動(dòng)速度最低可降低至零。
更進(jìn)一步,當(dāng)使用者的視覺(jué)朝向,再次出現(xiàn)在預(yù)設(shè)的方向圓錐角內(nèi)時(shí),使用預(yù)設(shè)的第二加速曲線進(jìn)行朝向目標(biāo)坐標(biāo)點(diǎn)移動(dòng)速度的緩慢加速,加速度的值隨著時(shí)間增加而變大,直到速度達(dá)到使用者當(dāng)前坐標(biāo)點(diǎn)預(yù)設(shè)的速度值。使用者當(dāng)前坐標(biāo)點(diǎn)即使用者加速行進(jìn)到的具體位置點(diǎn),預(yù)設(shè)的速度值是指(使用者在正常不轉(zhuǎn)頭、不偏離方向圓錐角情況下)依據(jù)第一加速曲線、和第一減速曲線所限定的速度,即速度范圍值限定在起步變加速階段、全速勻速運(yùn)動(dòng)階段、停止變加速階段的對(duì)應(yīng)階段、對(duì)應(yīng)位置點(diǎn)的這個(gè)速度范圍內(nèi)。
更進(jìn)一步,當(dāng)使用者的當(dāng)前位置點(diǎn)和目標(biāo)坐標(biāo)點(diǎn)的距離小于預(yù)設(shè)的距離值,當(dāng)使用者的視覺(jué)朝向,再次出現(xiàn)在預(yù)設(shè)的方向圓錐角內(nèi)時(shí),使用預(yù)設(shè)的第二加速曲線加速的最大速度值等于第一減速曲線當(dāng)前位置點(diǎn)速度。
進(jìn)一步,移動(dòng)過(guò)程中,全程監(jiān)測(cè)使用者的當(dāng)前坐標(biāo)點(diǎn)與目標(biāo)坐標(biāo)點(diǎn)之間的距離L1,當(dāng)使用者當(dāng)前坐標(biāo)點(diǎn)與目標(biāo)坐標(biāo)點(diǎn)之間的距離L1小于預(yù)設(shè)的距離值L時(shí),L1與L之比的數(shù)值通過(guò)clamp函數(shù)限制在范圍【0,1】?jī)?nèi),使用者的移動(dòng)速度值為當(dāng)前輸出的clamp值通過(guò)lerp插值函數(shù)取出當(dāng)前位置的速度值;所述L1、L為正數(shù)。
進(jìn)一步,所述方向圓錐角為m·n>0.6,其中m為使用者的當(dāng)前坐標(biāo)點(diǎn)到目標(biāo)坐標(biāo)點(diǎn)方向的單位向量,n為視覺(jué)朝向方向的單位向量。
進(jìn)一步,所述預(yù)設(shè)的操作在計(jì)算機(jī)平臺(tái)或者手機(jī)等用于產(chǎn)生虛擬環(huán)境的設(shè)備中進(jìn)行。
進(jìn)一步,所述頭顯設(shè)備包含屏幕、陀螺儀、加速計(jì)以及磁強(qiáng)計(jì)和/或耳機(jī)。
進(jìn)一步,所述頭顯設(shè)備為移動(dòng)端頭顯或PC端頭顯或一體機(jī)頭顯。
本發(fā)明與現(xiàn)有技術(shù)中的常見(jiàn)的移動(dòng)方式相比,有益效果是:
1.本方法僅通過(guò)視覺(jué)控制移動(dòng),使用者不容易眩暈;
2.虛擬世界中,只要能鋪設(shè)目標(biāo)坐標(biāo)點(diǎn)的位置,使用者就能進(jìn)行移動(dòng),移動(dòng)的范圍大;
3.使用者的自由度極高,在移動(dòng)過(guò)程中可以隨時(shí)停止,以便觀察周圍環(huán)境;
4.無(wú)需其他輔助設(shè)備及器材,只要目前現(xiàn)有的帶陀螺儀的頭顯設(shè)備即可;
5.對(duì)使用者所處的現(xiàn)實(shí)空間大小沒(méi)有限制,使用者可以在虛擬世界中進(jìn)行更大范圍的移動(dòng);
6.使用者在虛擬世界中代入感更強(qiáng),在虛擬環(huán)境中的移動(dòng)方式更貼近現(xiàn)實(shí)中人體移動(dòng)的方式,極大提高了一個(gè)沉浸感,提高了真實(shí)性。
附圖說(shuō)明
圖1是本發(fā)明方法的流程圖;
圖2是使用者從當(dāng)前位置移動(dòng)到目標(biāo)坐標(biāo)點(diǎn)的速度變化圖;
圖3是方向圓錐角的示意圖;
圖4是從當(dāng)前位置移動(dòng)到目標(biāo)坐標(biāo)點(diǎn)的方向上速度變化的具體示意圖;
圖5為操作者從當(dāng)前位置移動(dòng)到目標(biāo)坐標(biāo)點(diǎn)的方向上速度變化的具體示意圖;
具體實(shí)施方式
下面通過(guò)具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步描述說(shuō)明。
實(shí)施例1
一種虛擬現(xiàn)實(shí)的移動(dòng)控制方法,所述方法包括以下步驟:
S1在虛擬現(xiàn)實(shí)環(huán)境中,設(shè)立若干個(gè)目標(biāo)坐標(biāo)點(diǎn),視覺(jué)可見(jiàn)的目標(biāo)坐標(biāo)點(diǎn)為單個(gè);
S2利用角速度傳感器對(duì)人頭部轉(zhuǎn)動(dòng)角度進(jìn)行追蹤,通過(guò)轉(zhuǎn)動(dòng)頭部實(shí)現(xiàn)對(duì)虛擬現(xiàn)實(shí)環(huán)境中的視覺(jué)朝向的控制;
S3利用針對(duì)某個(gè)目標(biāo)坐標(biāo)點(diǎn)的視覺(jué)方向上獲得的方向圓錐角進(jìn)行移動(dòng)的控制。
其中移動(dòng)的控制是指加速前進(jìn)、勻速運(yùn)行、減速停止,目標(biāo)坐標(biāo)點(diǎn)的設(shè)置可以為具體的一個(gè)點(diǎn)或線段或一個(gè)帶邊界的面。
實(shí)施例2
作為實(shí)施例1的具體化或優(yōu)選方案。步驟3的方向圓錐角的獲得過(guò)程為,對(duì)使用者的視覺(jué)朝向所顯示的畫面進(jìn)行逐幀監(jiān)測(cè),在使用者的當(dāng)前坐標(biāo)點(diǎn)和目標(biāo)坐標(biāo)點(diǎn)之間的連線上,即朝向目標(biāo)坐標(biāo)點(diǎn)的方向,設(shè)置方向圓錐角,圓錐頂點(diǎn)即使用者的當(dāng)前坐標(biāo)點(diǎn),底面朝向目標(biāo)坐標(biāo)點(diǎn)。
如圖3所示,視覺(jué)朝向?yàn)槠x目標(biāo)坐標(biāo)點(diǎn)時(shí),m為使用者的當(dāng)前坐標(biāo)點(diǎn)到目標(biāo)坐標(biāo)點(diǎn)方向的單位向量,n為視覺(jué)朝向方向的單位向量,方向圓錐角通過(guò)m、n來(lái)定義實(shí)現(xiàn),當(dāng)方向圓錐角為m·n>0.6,說(shuō)明使用者為繼續(xù)朝目標(biāo)點(diǎn)前進(jìn),因此繼續(xù)保持當(dāng)前行走速度行走;當(dāng)m·n≤0.6,使用者視線偏離了方向圓錐角的范圍,說(shuō)明使用者頭部轉(zhuǎn)動(dòng)幅度大,開始觀察非目標(biāo)坐標(biāo)點(diǎn)方向的虛擬環(huán)境,因此需要進(jìn)入一個(gè)減速過(guò)程。該過(guò)程也是模擬人體實(shí)際運(yùn)行途中的一個(gè)方向改變的過(guò)程。
本方案中的逐幀監(jiān)測(cè)是為了實(shí)現(xiàn)視覺(jué)與頭部轉(zhuǎn)動(dòng)完全同步,避免兩者存在時(shí)間差給人體造成暈眩感,因此提高單位時(shí)間內(nèi)畫面的切換速度使得其與人視覺(jué)感受進(jìn)行匹配,畫面的滿幀為最佳設(shè)置,優(yōu)先為至少50幀或以上的滿幀,人的視覺(jué)上就感受不出畫面的滯后感,如同人體真的置身虛擬環(huán)境中,避免了人體感官產(chǎn)生的暈眩。
實(shí)施例3
作為實(shí)施例1或2的具體化,實(shí)施例1中的步驟S3包括以下步驟:
A確定要移動(dòng)到某個(gè)目標(biāo)坐標(biāo)點(diǎn);
B使用者開始移動(dòng),按照預(yù)設(shè)的第一加速曲線進(jìn)行加速,加速度隨著時(shí)間增加而變大,直到速度達(dá)到預(yù)設(shè)的最高速度值,然后按預(yù)設(shè)的最高速度值進(jìn)行恒速移動(dòng);
C當(dāng)使用者的當(dāng)前位置點(diǎn)和目標(biāo)坐標(biāo)點(diǎn)的距離小于預(yù)設(shè)的距離值,則使用預(yù)設(shè)的第一減速曲線進(jìn)行減速,減速度隨著時(shí)間增加而變大,速度降至零的同時(shí)使用者也到達(dá)目標(biāo)坐標(biāo)點(diǎn)。
為了更清楚地說(shuō)明移動(dòng)速度的變化,下面結(jié)合附圖2具體說(shuō)明。如使用者從當(dāng)前坐標(biāo)點(diǎn)移動(dòng)到目標(biāo)坐標(biāo)點(diǎn)時(shí),為了還原人在真實(shí)世界移動(dòng)時(shí)的感覺(jué),提高沉浸感,避免使用者的突然高速移動(dòng)或停止移動(dòng)產(chǎn)生暈眩,使用者在虛擬環(huán)境中從初始坐標(biāo)點(diǎn)移動(dòng)到一個(gè)目標(biāo)坐標(biāo)點(diǎn)的過(guò)程分三個(gè)階段:起步變加速過(guò)程、全程勻速移動(dòng)過(guò)程和停止變減速過(guò)程,起步一個(gè)加速過(guò)程,根據(jù)預(yù)設(shè)的加速曲線進(jìn)行變加速,當(dāng)速度達(dá)到一個(gè)預(yù)設(shè)的最高值Vmax時(shí)以該速度進(jìn)行勻速移動(dòng)的過(guò)程,當(dāng)系統(tǒng)檢測(cè)到使用者的當(dāng)前位置點(diǎn)和目標(biāo)坐標(biāo)點(diǎn)的距離小于預(yù)設(shè)的距離值進(jìn)入一個(gè)變減速到零的過(guò)程,該過(guò)程也就是模擬人在快到達(dá)目的地時(shí)的一個(gè)減速過(guò)程。Vmax為正數(shù)。
本方案中的,結(jié)合人體實(shí)際運(yùn)行的感官體驗(yàn),預(yù)設(shè)的最高值Vmax一個(gè)最佳數(shù)值為100cm/s(厘米/秒)。第一減速曲線、第一加速曲線為系統(tǒng)調(diào)用的非線性函數(shù)。
實(shí)施例4
作為實(shí)施例3的具體化或者是一種優(yōu)選的方式。
步驟A確定要移動(dòng)到某個(gè)目標(biāo)坐標(biāo)點(diǎn)的過(guò)程為,使用者轉(zhuǎn)動(dòng)頭部,通過(guò)把頭顯設(shè)備屏幕中央的光標(biāo),移動(dòng)到目標(biāo)坐標(biāo)點(diǎn)上維持一段時(shí)間,并且不脫離目標(biāo)坐標(biāo)點(diǎn)范圍,來(lái)確定想目標(biāo)坐標(biāo)點(diǎn)移動(dòng)的需求;屏幕中央的光標(biāo)即使用者視覺(jué)朝向的中心點(diǎn),指兩眼部之間的中心位置(也可以設(shè)置為其他在屏幕視覺(jué)范圍內(nèi)的一個(gè)光標(biāo))。利用頭部轉(zhuǎn)動(dòng)來(lái)進(jìn)行目的地確認(rèn),可以降低視覺(jué)和身體知覺(jué)的異步造成的眩暈感。
實(shí)施例5
實(shí)施例3的移動(dòng)過(guò)程中,當(dāng)前位置點(diǎn)和目標(biāo)坐標(biāo)點(diǎn)的距離小于預(yù)設(shè)的距離值,全程監(jiān)測(cè)使用者的當(dāng)前坐標(biāo)點(diǎn)與目標(biāo)坐標(biāo)點(diǎn)之間的距離L1,當(dāng)使用者當(dāng)前坐標(biāo)點(diǎn)與目標(biāo)坐標(biāo)點(diǎn)之間的距離L1小于預(yù)設(shè)的距離值L時(shí),L1與L之比的數(shù)值通過(guò)clamp函數(shù)限制在范圍【0,1】?jī)?nèi),使用者的移動(dòng)速度值為當(dāng)前輸出的clamp值通過(guò)lerp插值函數(shù)取出當(dāng)前位置的速度值;所述L1、L為正數(shù)。
下面結(jié)合具體賦值對(duì)該過(guò)程進(jìn)行解釋。如預(yù)設(shè)的距離值L取值為300cm,系統(tǒng)對(duì)使用者當(dāng)前坐標(biāo)點(diǎn)與目標(biāo)坐標(biāo)點(diǎn)之間的距離L1進(jìn)行監(jiān)測(cè):
1.如檢測(cè)到L1為400cm(大于300cm)時(shí),400/300=1.33不在范圍【0,1】?jī)?nèi),因此使用者繼續(xù)以原來(lái)的狀態(tài)速度前進(jìn);
2.如檢測(cè)到L1為300cm時(shí),300/300=1在范圍【0,1】?jī)?nèi),使用者開始進(jìn)入減速程序,通過(guò)調(diào)用減速曲線的函數(shù),使用者進(jìn)入一個(gè)停止變減速過(guò)程,隨著距離L1的逐漸減少,速度逐漸減小,繼續(xù)監(jiān)測(cè)L1為150cm時(shí)300/300=0.5,隨著時(shí)間增加,該L1與L之比的比值逐漸減少但始終在范圍【0,1】?jī)?nèi),直到檢測(cè)到L1=0cm,速度減少到零,使用者也到達(dá)目的地。
實(shí)施例6
與上述實(shí)施例不同的是,本方案在移動(dòng)過(guò)程中,使用者轉(zhuǎn)動(dòng)頭部使得視線偏離方向圓錐角,采用預(yù)設(shè)的第二減速曲線進(jìn)行減速,最低速度可減至零;如視線回到方向圓錐角,則采用預(yù)設(shè)的第二加速曲線進(jìn)行加速,所述第二加速曲線的最大速度小于或等于預(yù)設(shè)的最高值Vmax。第二減速曲線、第二加速曲線為調(diào)用的預(yù)設(shè)的非線性函數(shù)。
進(jìn)一步解釋,當(dāng)使用者的當(dāng)前位置點(diǎn)和目標(biāo)坐標(biāo)點(diǎn)之間的距離大于預(yù)設(shè)的距離值時(shí),使用者的視覺(jué)朝向再次出現(xiàn)在方向圓錐角內(nèi)時(shí),使用預(yù)設(shè)的第二加速曲線朝向目標(biāo)坐標(biāo)點(diǎn)行移動(dòng)速度的緩慢加速,其加速度的值隨著時(shí)間增加而變大,直到速度達(dá)到預(yù)設(shè)的最高速度值,使用者以該最高速度值進(jìn)行移動(dòng);當(dāng)使用者的當(dāng)前位置點(diǎn)和目標(biāo)坐標(biāo)點(diǎn)之間的距離小于預(yù)設(shè)的距離值時(shí),使用者的視覺(jué)朝向再次出現(xiàn)在方向圓錐角內(nèi)時(shí),使用預(yù)設(shè)的第二加速曲線朝向目標(biāo)坐標(biāo)點(diǎn)方向上的移動(dòng)速度的緩慢加速,其加速度的值隨著時(shí)間增加而變大,當(dāng)速度到達(dá)預(yù)設(shè)的速度值時(shí),以預(yù)設(shè)的速度值開始進(jìn)行一個(gè)以第一減速曲線減速到達(dá)目標(biāo)坐標(biāo)點(diǎn)的過(guò)程。
預(yù)設(shè)的速度值是指由起步變加速、全程勻速、停止變加速過(guò)程中依據(jù)第一加速曲線、第二加速曲線確立的相應(yīng)位置點(diǎn)的速度值。
實(shí)施例7
與實(shí)施例6不同的是,使用者的當(dāng)前位置點(diǎn)和目標(biāo)坐標(biāo)點(diǎn)之間的距離小于預(yù)設(shè)的距離值內(nèi),當(dāng)使用者的視覺(jué)朝向,再次出現(xiàn)在預(yù)設(shè)的方向圓錐角內(nèi)時(shí),使用預(yù)設(shè)的第二加速曲線加速的最大速度值小于第一減速曲線在當(dāng)前的位置點(diǎn)速度值。
實(shí)施例8
一種虛擬現(xiàn)實(shí)的移動(dòng)控制方法,所述方法包括以下步驟:
S1.在虛擬現(xiàn)實(shí)環(huán)境中的當(dāng)前坐標(biāo)點(diǎn)時(shí),根據(jù)虛擬環(huán)境設(shè)置的需求,設(shè)立路線上若干個(gè)目標(biāo)坐標(biāo)點(diǎn),當(dāng)前視覺(jué)可見(jiàn)的目標(biāo)坐標(biāo)點(diǎn)為單個(gè);
S2.使用者佩帶設(shè)有陀螺儀(角速度傳感器))的頭顯設(shè)備,使用者轉(zhuǎn)動(dòng)頭部,實(shí)現(xiàn)對(duì)虛擬現(xiàn)實(shí)環(huán)境中的視覺(jué)朝向的控制;
S3.使用者轉(zhuǎn)動(dòng)頭部,通過(guò)把頭顯設(shè)備屏幕中央的光標(biāo),移動(dòng)到目標(biāo)坐標(biāo)點(diǎn)上維持一段預(yù)設(shè)時(shí)間,并且不脫離目標(biāo)坐標(biāo)點(diǎn)范圍,來(lái)確定想目標(biāo)坐標(biāo)點(diǎn)移動(dòng)的需求;屏幕中央的光標(biāo)即使用者視覺(jué)朝向的中心點(diǎn);
S4.需求確認(rèn)后,使用者就開始移動(dòng)了,按照(在控制平臺(tái)上)預(yù)設(shè)的第一加速曲線進(jìn)行緩慢加速,加速度的值隨著時(shí)間增加而變大,直到速度達(dá)到預(yù)設(shè)的最高速度值,然后使用者在虛擬現(xiàn)實(shí)環(huán)境中,以恒定的最高速度值進(jìn)行移動(dòng);
S5.利于計(jì)算機(jī)等控制平臺(tái)對(duì)使用者的視覺(jué)朝向所顯示的畫面進(jìn)行逐幀監(jiān)測(cè),在使用者的當(dāng)前坐標(biāo)點(diǎn)和目標(biāo)坐標(biāo)點(diǎn)之間的連線上,即朝向目標(biāo)坐標(biāo)點(diǎn)的方向,設(shè)置方向圓錐角,圓錐頂點(diǎn)即使用者的當(dāng)前坐標(biāo)點(diǎn),底面朝向目標(biāo)坐標(biāo)點(diǎn);
S6.當(dāng)使用者的視覺(jué)朝向偏離預(yù)設(shè)方向圓錐角時(shí),使用預(yù)設(shè)的第二減速曲線進(jìn)行緩慢減速,減速度的值伴隨時(shí)間增加而變大,進(jìn)而逐步降低使用者在虛擬現(xiàn)實(shí)環(huán)境中的速度,直至使用者移動(dòng)速度降低至0為止;
S7.當(dāng)使用者的視覺(jué)朝向,再次出現(xiàn)在預(yù)設(shè)的方向圓錐角內(nèi)時(shí),重新開始使用預(yù)設(shè)的第二加速曲線進(jìn)行加緩慢加速,加速度的值隨著時(shí)間增加而變大,直到速度達(dá)到預(yù)設(shè)值,使用者以恒定的預(yù)設(shè)值進(jìn)行移動(dòng);
S8.當(dāng)使用者的視覺(jué)朝向再次偏離預(yù)設(shè)方向圓錐角時(shí),重復(fù)步驟S5、S6、S7;
S9.當(dāng)使用者的當(dāng)前坐標(biāo)點(diǎn)和目標(biāo)坐標(biāo)點(diǎn)的距離小于預(yù)設(shè)的距離值,則使用預(yù)設(shè)的第一減速曲線進(jìn)行緩慢減速,減速度伴隨時(shí)間增加而變大,進(jìn)而逐步降低使用者在虛擬現(xiàn)實(shí)環(huán)境中的速度,直至使用者移動(dòng)速度降低至0為止,同時(shí)使用者也到達(dá)目標(biāo)坐標(biāo)點(diǎn)。
本方案中的預(yù)設(shè)時(shí)間可以為毫秒級(jí)或者微秒級(jí)。
實(shí)施例9
與上述實(shí)施例不同的是,作為一種優(yōu)選設(shè)置,第一減速曲線與第一加速曲線調(diào)用的為同一非線性函數(shù),使得變加速的加速度與變減速的減速度值相同。
實(shí)施例10
與上述實(shí)施例不同的是,轉(zhuǎn)動(dòng)頭部使得視線偏離方向圓錐角時(shí),將第二加速曲線與第二減速曲線設(shè)置為利用程序調(diào)用同一函數(shù),使得變加速的加速度與變減速的減速度值相同。
實(shí)施例11
與上述實(shí)施例不同的是,使用者移動(dòng)過(guò)程中,如圖4、圖5所示,根據(jù)使用者當(dāng)前坐標(biāo)點(diǎn)移動(dòng)到目標(biāo)坐標(biāo)點(diǎn)的速度變化,需要經(jīng)過(guò)起步變加速、勻速前行、停止變減速三個(gè)階段,該過(guò)程中的速度為目標(biāo)坐標(biāo)點(diǎn)方向的速度V理論,也就是第一加速曲線、第一減速曲線限定的速度。如果使用者調(diào)轉(zhuǎn)頭部,使得視線偏離偏離目標(biāo)坐標(biāo)點(diǎn)的方向圓錐角(如圖中C速度的位置處),使用者也進(jìn)入停止變減速過(guò)程(也就是朝向非目標(biāo)坐標(biāo)點(diǎn)方向的一個(gè)減速過(guò)程),其視覺(jué)朝向上的進(jìn)行減速過(guò)程為當(dāng)前坐標(biāo)點(diǎn)速度V當(dāng)前,當(dāng)前坐標(biāo)點(diǎn)速度V當(dāng)前調(diào)用第二減速曲線(函數(shù))進(jìn)行減速,直至減速為零停止(如圖中E速度的位置處,)。該位置也可能因視線回轉(zhuǎn)到方向錐度角內(nèi),而沒(méi)有減速到零。
當(dāng)使用者在該停止位置E回到方向圓錐角內(nèi)再次朝目標(biāo)坐標(biāo)+點(diǎn)前進(jìn)時(shí),調(diào)用第二加速曲線(函數(shù))進(jìn)行一個(gè)加速過(guò)程,加速過(guò)程中當(dāng)前坐標(biāo)點(diǎn)速度V當(dāng)前在朝目標(biāo)點(diǎn)分速度向量V1始終小于或等于該該使用者的當(dāng)前位置的目標(biāo)坐標(biāo)點(diǎn)方向的速度V理論,V1=V當(dāng)前·COSα。具體為在起步變加速、勻速前行階段中,V1=V當(dāng)前·COSα會(huì)等于目標(biāo)坐標(biāo)點(diǎn)方向的速度V理論;在停止變減速階段中,V1=V當(dāng)前·COSα會(huì)始終小于目標(biāo)坐標(biāo)點(diǎn)方向速度V理論。
本設(shè)計(jì)也是非常符合人在實(shí)際環(huán)境中的一個(gè)停止與加速過(guò)程的反應(yīng),當(dāng)人在以一定速度前進(jìn)朝目標(biāo)坐標(biāo)點(diǎn)方向前進(jìn)時(shí),突然調(diào)轉(zhuǎn)方向停止有一個(gè)減速過(guò)程,再突然向目標(biāo)坐標(biāo)點(diǎn)前進(jìn)也有一個(gè)加速過(guò)程,虛擬環(huán)境這樣設(shè)置避免了突然動(dòng)作引起反應(yīng)滯后的暈眩感。
如果無(wú)特殊說(shuō)明,本發(fā)明的實(shí)施例中所采用的原料均為本領(lǐng)域常用的原料,實(shí)施例中所采用的方法,均為本領(lǐng)域的常規(guī)方法。
以上為本發(fā)明的優(yōu)選實(shí)施方式,并不限定本發(fā)明的保護(hù)范圍,對(duì)于本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的設(shè)計(jì)思路做出的變形及改進(jìn),都應(yīng)當(dāng)視為本發(fā)明的保護(hù)范圍之內(nèi)。