本發(fā)明涉及虛擬現(xiàn)實技術(shù)領(lǐng)域,特別涉及一種VR眼鏡結(jié)合體感模擬器使用時的視角控制方法、裝置和VR系統(tǒng)。
背景技術(shù):
因為虛擬現(xiàn)實技術(shù)(Virtual Reality,VR)設(shè)備可以給用戶帶來逼真的視覺體驗和聽覺體驗,VR設(shè)備被應(yīng)用在各種場景,特別是在VR游戲中使用VR眼鏡,可以使游戲畫面更加逼真,大大增加了游戲的樂趣。為了進(jìn)一步提高游戲的逼真度,在游戲過程中,VR眼鏡往往是結(jié)合體感模擬器使用,不僅僅是給用戶帶來侵入視覺的感受,還可以讓用戶有身臨其境的體感。
當(dāng)VR眼鏡和體感模擬器結(jié)合使用時,兩者的匹配度會直接影響用戶的體驗感受。用戶通過頭部運(yùn)動控制VR眼鏡中的陀螺儀的數(shù)據(jù),進(jìn)而控制VR中的游戲視角;體感模擬器會根據(jù)游戲中世界坐標(biāo)系中的變化控制用戶身體的移動。但是,體感模擬器會控制用戶身體的移動的同時也會帶動用戶的頭部運(yùn)動,使得游戲系統(tǒng)不能辨認(rèn)VR眼鏡中陀螺儀數(shù)值變化的來源到底是用戶主觀的頭部運(yùn)動導(dǎo)致的,還是體感模擬器帶動頭部運(yùn)動導(dǎo)致的。特別是針對游戲中的偏航角度,體感模擬器的偏航角是根據(jù)游戲中偏航角速度的高頻分量計算獲得的,VR眼鏡中的游戲視角是根據(jù)VR眼鏡中的陀螺儀偏移角度進(jìn)行設(shè)置的,當(dāng)模擬器偏航角和VR眼鏡同時發(fā)生轉(zhuǎn)動時,模擬器偏航角會影響VR眼鏡的陀螺儀的示數(shù),系統(tǒng)不能分辨視角偏移的來源,無法避免模擬器偏航角對視角的影響,造成游戲中的視角發(fā)生偏移的不準(zhǔn)確性,在一定程度上降低的游戲的逼真度,影響用戶的使用感受,降低用戶體驗。
技術(shù)實現(xiàn)要素:
鑒于現(xiàn)有技術(shù)中當(dāng)VR眼鏡和體感模擬器結(jié)合使用時,系統(tǒng)不能分辨視角偏移的來源,無法避免模擬器偏航角對視角的影響,造成游戲中的視角發(fā)生偏移的不準(zhǔn)確性,在一定程度上降低的游戲的逼真度,影響用戶的使用感受,降低用戶體驗的問題,提出了本發(fā)明的一種VR眼鏡結(jié)合體感模擬器使用時的視角控制方法、裝置和VR系統(tǒng),以便解決或至少部分地解決上述問題。
根據(jù)本發(fā)明的一個方面,提供了一種VR眼鏡結(jié)合體感模擬器使用時的視角控制方法,所述方法包括:
獲取VR游戲客戶端在運(yùn)行游戲時實時輸出的偏航角速度值;
根據(jù)所述偏航角速度值,利用體感算法計算所述體感模擬器應(yīng)該到達(dá)的偏航角度值;
讀取所述VR眼鏡中的陀螺儀當(dāng)前的水平偏轉(zhuǎn)角度值,使用所述偏航角度值修正所述水平偏轉(zhuǎn)角度值;
將修正后的所述水平偏轉(zhuǎn)角度值輸出給所述VR游戲客戶端的攝像機(jī),以便根據(jù)修正后的所述水平偏轉(zhuǎn)角度值控制所述VR眼鏡中游戲的顯示視角。
根據(jù)本發(fā)明的另一個方面,提供了一種VR眼鏡結(jié)合體感模擬器使用時的視角控制裝置,該裝置包括:
偏航角速度獲取單元,用于獲取VR游戲客戶端在運(yùn)行游戲時實時輸出的偏航角速度值;
偏航角度計算單元,用于根據(jù)所述偏航角速度值,利用體感算法計算所述體感模擬器應(yīng)該到達(dá)的偏航角度值;
偏轉(zhuǎn)角度修正單元,用于讀取所述VR眼鏡中的陀螺儀當(dāng)前的水平偏轉(zhuǎn)角度值,使用所述偏航角度值修正所述水平偏轉(zhuǎn)角度值;
視角控制單元,用于將修正后的所述水平偏轉(zhuǎn)角度值輸出給所述VR游戲客戶端的攝像機(jī),以便根據(jù)修正后的所述水平偏轉(zhuǎn)角度值控制所述VR眼鏡中游戲的顯示視角。
根據(jù)本發(fā)明的再一個方面,提供了一種VR系統(tǒng),所述VR系統(tǒng)包括:VR主機(jī)、VR眼鏡和體感模擬器,所述VR主機(jī)內(nèi)安裝有VR游戲客戶端,所述VR游戲客戶端向所述VR眼鏡提供在體驗游戲的VR視頻;
所述VR主機(jī),用于獲取VR游戲客戶端在運(yùn)行游戲時實時輸出的偏航角速度值;根據(jù)所述偏航角速度值,利用體感算法計算所述體感模擬器應(yīng)該到達(dá)的偏航角度值;讀取所述VR眼鏡中的陀螺儀當(dāng)前的水平偏轉(zhuǎn)角度值,使用所述偏航角度值修正所述水平偏轉(zhuǎn)角度值;以及將修正后的所述水平偏轉(zhuǎn)角度值輸出給所述VR游戲客戶端的攝像機(jī),根據(jù)修正后的所述水平偏轉(zhuǎn)角度值控制所述VR眼鏡中游戲的顯示視角。
綜上所述,本發(fā)明獲取VR游戲客戶端在運(yùn)行游戲時實時輸出的偏航角速度值,并利用體感算法計算所述體感模擬器應(yīng)該到達(dá)的偏航角度值后,利用該偏航角度值直接修正VR眼鏡中陀螺儀的水平偏轉(zhuǎn)角度值,使VR游戲客戶端根據(jù)修正后的水平偏轉(zhuǎn)角度值控制VR眼鏡中游戲的顯示視角,修正后的水平偏轉(zhuǎn)角度消除了體感模擬器打來的視角偏差,提高了游戲的逼真度,且修正時,直接利用體感算法輸出的偏航角度值,不需要經(jīng)過體感模擬器的位姿反饋,使得視角的偏轉(zhuǎn)與體感模擬器的移動同步進(jìn)行,減小了視覺延遲的同時,還消除了體感模擬器的機(jī)械結(jié)構(gòu)產(chǎn)生的誤差。可見,本發(fā)明的技術(shù)方案避免體感模擬器偏航角對視角的影響,提高了VR眼鏡中視角的準(zhǔn)確性,提高游戲的逼真度,增強(qiáng)用戶體驗。
附圖說明
圖1為本發(fā)明一個實施例提供的一種VR眼鏡結(jié)合體感模擬器使用時的視角控制方法的流程圖;
圖2為本發(fā)明一個實施例提供的一種VR眼鏡結(jié)合體感模擬器使用時的視角控制裝置的示意圖;
圖3為本發(fā)明一個實施例提供的一種VR系統(tǒng)的示意圖。
具體實施方式
本發(fā)明的設(shè)計思路是:鑒于現(xiàn)有技術(shù)中當(dāng)VR眼鏡和體感模擬器結(jié)合使用時,系統(tǒng)不能分辨視角偏移的來源,無法避免模擬器偏航角對視角的影響,造成游戲中的視角發(fā)生偏移的不準(zhǔn)確性,在一定程度上降低的游戲的逼真度,影響用戶的使用感受,降低用戶體驗的問題,又考慮到當(dāng)VR眼鏡和體感模擬器結(jié)合使用時,VR眼鏡中的陀螺儀的水平偏轉(zhuǎn)角度值是用戶主觀的頭部運(yùn)動和體感模擬器會帶動用戶頭部運(yùn)動同時引起的,本發(fā)明在獲取VR游戲客戶端在運(yùn)行游戲時實時輸出的偏航角速度值,并利用體感算法計算體感模擬器應(yīng)該到達(dá)的偏航角度值后,利用該偏航角度值直接修正VR眼鏡中陀螺儀的水平偏轉(zhuǎn)角度值,使VR游戲客戶端根據(jù)修正后的水平偏轉(zhuǎn)角度值控制VR眼鏡中游戲的顯示視角,以避免模擬器偏航角對視角的影響。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。
圖1為本發(fā)明一個實施例提供的一種VR眼鏡結(jié)合體感模擬器使用時的視角控制方法的流程圖。如圖1所示,該方法包括:
步驟S110,獲取VR游戲客戶端在運(yùn)行游戲時實時輸出的偏航角速度值。
游戲中的偏航角是水平方向上的偏轉(zhuǎn)角,例如,在VR賽車游戲中,賽車在車道上向左轉(zhuǎn)的動作所依據(jù)的就是游戲中的偏航角。
步驟S120,根據(jù)偏航角速度值,利用體感算法計算體感模擬器應(yīng)該到達(dá)的偏航角度值。
當(dāng)游戲輸出偏航角速度后,為了提高游戲的逼真度,體感模擬器會根據(jù)偏航角速度值,利用體感算法計算其應(yīng)該到達(dá)的偏航角度值,然后控制體感模擬器進(jìn)行相應(yīng)的運(yùn)動,使游戲用戶體驗到游戲中偏航角的變化。
步驟S130,讀取VR眼鏡中的陀螺儀當(dāng)前的水平偏轉(zhuǎn)角度值,使用偏航角度值修正水平偏轉(zhuǎn)角度值。
VR眼鏡中顯示的是游戲中的視角畫面,該視角是依據(jù)VR眼鏡中的陀螺儀的水平偏轉(zhuǎn)角度值進(jìn)行顯示的,即用戶通過頭部運(yùn)動改變陀螺儀的水平偏轉(zhuǎn)角度值,進(jìn)而改變視角畫面。但是當(dāng)體感模擬器根據(jù)偏航角度值帶動用戶轉(zhuǎn)動的同時,也會帶動用戶的頭部轉(zhuǎn)動,會影響陀螺儀的水平偏轉(zhuǎn)角度值,且此部分陀螺儀的水平偏轉(zhuǎn)角度值并不是由用戶主觀進(jìn)行頭部運(yùn)行引起的,這種情況下,如果用戶不轉(zhuǎn)動頭部,則陀螺儀的水平偏轉(zhuǎn)角度值是由體感模擬器引起的,如果用戶轉(zhuǎn)動頭部,則陀螺儀的水平偏轉(zhuǎn)角度值是由體感模擬器和用戶的頭部運(yùn)動同時引起的。這都會導(dǎo)致VR眼鏡中展現(xiàn)給用戶的視角畫面的不準(zhǔn)確。例如,用戶佩戴VR眼鏡結(jié)合體感模擬器使用時,體感模擬器帶動用戶向左轉(zhuǎn)動10度,但是用戶的頭部是向右轉(zhuǎn)動10度,正確的情況是,VR眼鏡中的視角畫面是向右轉(zhuǎn)10度的畫面,但是由于體感模擬器帶動用戶向左轉(zhuǎn)動了10度,這就使得VR眼鏡中的陀螺儀的水平偏轉(zhuǎn)角度值是0度,VR眼鏡中的視角畫面是不動的。因此為了消除體感模擬器帶來的視角的不準(zhǔn)確,可以用體感模擬器應(yīng)該到達(dá)的偏航角度值直接修正水平偏轉(zhuǎn)角度值,且無需經(jīng)過體感模擬器的位姿反饋,消除體感模擬器的機(jī)械結(jié)構(gòu)產(chǎn)生的誤差。
步驟S140,將修正后的水平偏轉(zhuǎn)角度值輸出給VR游戲客戶端的攝像機(jī),以便根據(jù)修正后的水平偏轉(zhuǎn)角度值控制VR眼鏡中游戲的顯示視角。
這里的VR游戲客戶端的攝像機(jī)就是指用戶在游戲中選用的游戲角色的視角。VR游戲客戶端的攝像機(jī)會根據(jù)修正后的水平偏轉(zhuǎn)角度值控制VR眼鏡中游戲的顯示視角,同時,體感模擬器也會根據(jù)偏航角度值帶動用戶進(jìn)行移動,進(jìn)而使得視角的偏轉(zhuǎn)與體感模擬器的移動同步進(jìn)行,減小了視覺延遲。
可見,本發(fā)明的技術(shù)方案避免體感模擬器偏航角對視角的影響,提高了VR眼鏡中視角的準(zhǔn)確性,提高游戲的逼真度,增強(qiáng)用戶體驗。
在本發(fā)明的一個實施例中,步驟S130中的使用偏航角度值修正水平偏轉(zhuǎn)角度值包括:將讀取的VR眼鏡中的陀螺儀當(dāng)前的水平偏轉(zhuǎn)角度值減去利用體感算法計算出的體感模擬器應(yīng)該到達(dá)的偏航角度值,將得到的差值作為修正后的陀螺儀當(dāng)前的水平偏轉(zhuǎn)角度值。
由上述說明可知,陀螺儀的水平偏轉(zhuǎn)角度值是由體感模擬器和用戶的頭部運(yùn)動同時引起的,那么為了獲得正確的陀螺儀的水平偏轉(zhuǎn)角度值,可直接將體感模擬器應(yīng)該達(dá)到的偏航角度值減去即可,即將讀取的VR眼鏡中的陀螺儀當(dāng)前的水平偏轉(zhuǎn)角度值減去利用體感算法計算出的體感模擬器應(yīng)該到達(dá)的偏航角度值。例如,用戶佩戴VR眼鏡結(jié)合體感模擬器使用時,體感模擬器帶動用戶向左轉(zhuǎn)動10度即-10°,但是用戶的頭部是向右轉(zhuǎn)動10度即+10°,為了是VR眼鏡中的陀螺儀的水平偏轉(zhuǎn)角度值變?yōu)?10°,將讀取的VR眼鏡中的陀螺儀當(dāng)前的水平偏轉(zhuǎn)角度值0°減去利用體感算法計算出的體感模擬器應(yīng)該到達(dá)的偏航角度值-10°,就得到正確的陀螺儀的水平偏轉(zhuǎn)角度值變?yōu)?10°,進(jìn)而控制VR眼鏡中游戲的顯示視角為向右偏轉(zhuǎn)10°的視角。
用體感算法獲得體感模擬器應(yīng)該到達(dá)的偏航角度值后,還需要利用該偏航角度值控制體感模擬器移動,在本發(fā)明的一個實施例中,圖1所示的方法還包括:對利用體感算法計算出的偏航角度值進(jìn)行反解運(yùn)算,求取體感模擬器的各個電缸的行程;根據(jù)求取出的電缸的行程,向相應(yīng)的電缸發(fā)送控制指令,控制該電缸伸縮到指定長度,使體感模擬器到達(dá)指定位姿。這個步驟和圖1所示方法中的步驟S130同時進(jìn)行,這樣才能實現(xiàn)使得視角的偏轉(zhuǎn)與體感模擬器的移動同步進(jìn)行。
其中,上述體感模擬器為六自由度的運(yùn)動模擬器。該六自由度的運(yùn)動模擬器等狗完成留個自由度的運(yùn)動,包括前后、左右、上下以及俯仰、翻滾、偏航。
圖2為本發(fā)明一個實施例提供的一種VR眼鏡結(jié)合體感模擬器使用時的視角控制裝置的示意圖。如圖2所示,該VR眼鏡結(jié)合體感模擬器使用時的視角控制裝置包括:
偏航角速度獲取單元210,用于獲取VR游戲客戶端在運(yùn)行游戲時實時輸出的偏航角速度值。
偏航角度計算單元220,用于根據(jù)偏航角速度值,利用體感算法計算體感模擬器應(yīng)該到達(dá)的偏航角度值。
偏轉(zhuǎn)角度修正單元230,用于讀取VR眼鏡中的陀螺儀當(dāng)前的水平偏轉(zhuǎn)角度值,使用偏航角度值修正水平偏轉(zhuǎn)角度值。
視角控制單元240,用于將修正后的水平偏轉(zhuǎn)角度值輸出給VR游戲客戶端的攝像機(jī),以便根據(jù)修正后的水平偏轉(zhuǎn)角度值控制VR眼鏡中游戲的顯示視角。
在本發(fā)明的一個實施例中,偏轉(zhuǎn)角度修正單元230具體用于,將讀取的VR眼鏡中的陀螺儀當(dāng)前的水平偏轉(zhuǎn)角度值減去利用體感算法計算出的體感模擬器應(yīng)該到達(dá)的偏航角度值,將得到的差值作為修正后的陀螺儀當(dāng)前的水平偏轉(zhuǎn)角度值。
圖3為本發(fā)明一個實施例提供的一種VR系統(tǒng)的示意圖。如圖3所示,該VR系統(tǒng)300包括:VR主機(jī)310、VR眼鏡320和體感模擬器330,VR主機(jī)310內(nèi)安裝有VR游戲客戶端,VR游戲客戶端向VR眼鏡320提供在體驗游戲的VR視頻。
VR主機(jī)310,用于獲取VR游戲客戶端在運(yùn)行游戲時實時輸出的偏航角速度值;根據(jù)偏航角速度值,利用體感算法計算體感模擬器應(yīng)該到達(dá)的偏航角度值;讀取VR眼鏡320中的陀螺儀當(dāng)前的水平偏轉(zhuǎn)角度值,使用偏航角度值修正水平偏轉(zhuǎn)角度值;以及將修正后的水平偏轉(zhuǎn)角度值輸出給VR游戲客戶端的攝像機(jī),根據(jù)修正后的水平偏轉(zhuǎn)角度值控制VR眼鏡320的在體驗游戲的顯示視角。
在本發(fā)明的一個實施例中,VR主機(jī)310具體用于,將讀取的VR眼鏡中的陀螺儀當(dāng)前的水平偏轉(zhuǎn)角度值減去利用體感算法計算出的體感模擬器應(yīng)該到達(dá)的偏航角度值,將得到的差值作為修正后的陀螺儀當(dāng)前的水平偏轉(zhuǎn)角度值。
在本發(fā)明的一個實施例中,VR主機(jī)310,還用于對利用體感算法計算出的偏航角度值進(jìn)行反解運(yùn)算,求取體感模擬器的各個電缸的行程;根據(jù)求取出的電缸的行程,向相應(yīng)的電缸發(fā)送控制指令,控制體感模擬器的各維度的電缸伸縮到指定長度到達(dá)指定位姿。
在本發(fā)明的一個實施例中,體感模擬器330為六自由度的運(yùn)動模擬器;VR主機(jī)310為PC、筆記本電腦。
需要說明的是,圖2所示的裝置和圖3所示的系統(tǒng)的各實施例與圖1所示方法的各實施例對應(yīng)相同,上文已有詳細(xì)說明,在此不再贅述。
綜上所述,本發(fā)明獲取VR游戲客戶端在運(yùn)行游戲時實時輸出的偏航角速度值,并利用體感算法計算所述體感模擬器應(yīng)該到達(dá)的偏航角度值后,利用該偏航角度值直接修正VR眼鏡中陀螺儀的水平偏轉(zhuǎn)角度值,使VR游戲客戶端根據(jù)修正后的水平偏轉(zhuǎn)角度值控制VR眼鏡中游戲的顯示視角,修正后的水平偏轉(zhuǎn)角度消除了體感模擬器打來的視角偏差,提高了游戲的逼真度,且修正時,直接利用體感算法輸出的偏航角度值,不需要經(jīng)過體感模擬器的位姿反饋,使得視角的偏轉(zhuǎn)與體感模擬器的移動同步進(jìn)行,減小了視覺延遲的同時,還消除了體感模擬器的機(jī)械結(jié)構(gòu)產(chǎn)生的誤差。可見,本發(fā)明的技術(shù)方案避免體感模擬器偏航角對視角的影響,提高了VR眼鏡中視角的準(zhǔn)確性,提高游戲的逼真度,增強(qiáng)用戶體驗。
以上所述,僅為本發(fā)明的具體實施方式,在本發(fā)明的上述教導(dǎo)下,本領(lǐng)域技術(shù)人員可以在上述實施例的基礎(chǔ)上進(jìn)行其他的改進(jìn)或變形。本領(lǐng)域技術(shù)人員應(yīng)該明白,上述的具體描述只是更好的解釋本發(fā)明的目的,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。