本發(fā)明涉及信息處理技術(shù),尤其涉及一種轉(zhuǎn)向控制方法、裝置及系統(tǒng)。
背景技術(shù):
隨著虛擬現(xiàn)實(shí)(vr,virtualreality)領(lǐng)域的日益繁榮,虛擬游戲開始出現(xiàn),在虛擬游戲提供的沉浸式交互體驗(yàn)中,精確的空間定位追蹤技術(shù)顯得尤為關(guān)鍵。目前使用的定位技術(shù),無論是雙目識(shí)別還是激光定位,都是在用戶面對(duì)攝像機(jī)或者信號(hào)發(fā)射基站的180度范圍內(nèi)實(shí)現(xiàn)定位;如果用戶想轉(zhuǎn)身向后,例如虛擬游戲中用戶身后有個(gè)桌子,用戶想轉(zhuǎn)身拿身后桌子上的東西,此時(shí),用戶的頭戴式顯示設(shè)備(以下簡稱頭顯)定位器和手柄定位器,不能被攝像機(jī)識(shí)別或者不能接受到信號(hào)發(fā)射基站發(fā)射的定位信號(hào),導(dǎo)致頭顯定位器和手柄定位器無法進(jìn)行定位。因此,對(duì)于這類定位方式,無法實(shí)現(xiàn)用戶轉(zhuǎn)身對(duì)身后場景進(jìn)行操作,從而影響了用戶體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
以下是對(duì)本文詳細(xì)描述的主題的概述。本概述并非是為了限制權(quán)利要求的保護(hù)范圍。
本申請(qǐng)實(shí)施例提供一種轉(zhuǎn)向控制方法、裝置及系統(tǒng),解決了針對(duì)特定定位方式下用戶轉(zhuǎn)身后無法進(jìn)行定位的問題。
本申請(qǐng)實(shí)施例提供一種轉(zhuǎn)向控制方法,用于調(diào)整目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色所面對(duì)的場景信息,上述方法包括:
在接收到轉(zhuǎn)向觸發(fā)指令之后,根據(jù)所述目標(biāo)物體在現(xiàn)實(shí)場景中的位置以及所述轉(zhuǎn)向觸發(fā)指令所指示的轉(zhuǎn)向角度,確定所述目標(biāo)物體在所述虛擬場景中對(duì)應(yīng)角色按照所述轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后的位置;
根據(jù)所述目標(biāo)物體在所述虛擬場景中對(duì)應(yīng)角色按照所述轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后的位置,調(diào)整所述目標(biāo)物體在所述虛擬場景中對(duì)應(yīng)角色所面對(duì)的場景信息。
在示例性實(shí)施方式中,所述目標(biāo)物體上可以設(shè)置有至少兩個(gè)定位設(shè)備;
所述根據(jù)所述目標(biāo)物體在現(xiàn)實(shí)場景中的位置以及所述轉(zhuǎn)向觸發(fā)指令所指示的轉(zhuǎn)向角度,確定所述目標(biāo)物體在所述虛擬場景中對(duì)應(yīng)角色按照所述轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后的位置,可以包括:
根據(jù)所述至少兩個(gè)定位設(shè)備在現(xiàn)實(shí)場景中的坐標(biāo)以及所述轉(zhuǎn)向角度,確定所述目標(biāo)物體在所述虛擬場景中對(duì)應(yīng)角色按照所述轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后,所述至少兩個(gè)定位設(shè)備在所述虛擬場景中的坐標(biāo)。
在示例性實(shí)施方式中,所述調(diào)整所述目標(biāo)物體在所述虛擬場景中對(duì)應(yīng)角色所面對(duì)的場景信息之后,上述方法還可以包括:
當(dāng)所述目標(biāo)物體在現(xiàn)實(shí)場景中移動(dòng)到現(xiàn)實(shí)目標(biāo)位置時(shí),根據(jù)所述目標(biāo)物體處于現(xiàn)實(shí)目標(biāo)位置時(shí)所述至少兩個(gè)定位設(shè)備在所述現(xiàn)實(shí)場景中的坐標(biāo)、在接收到轉(zhuǎn)向觸發(fā)指令時(shí)所述至少兩個(gè)定位設(shè)備中的至少一個(gè)在所述現(xiàn)實(shí)場景中的坐標(biāo)以及所述轉(zhuǎn)向角度,確定所述目標(biāo)物體處于所述現(xiàn)實(shí)目標(biāo)位置時(shí)在所述虛擬場景中所述至少兩個(gè)定位設(shè)備的坐標(biāo)。
在示例性實(shí)施方式中,所述定位設(shè)備的數(shù)目可以為三個(gè),其中一個(gè)定位設(shè)備可以安裝在頭戴式顯示設(shè)備上,其余兩個(gè)定位設(shè)備可以分別安裝在兩個(gè)手柄上。
在示例性實(shí)施方式中,所述轉(zhuǎn)向角度可以為180度。
本申請(qǐng)實(shí)施例還提供一種轉(zhuǎn)向控制裝置,用于調(diào)整目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色所面對(duì)的場景信息;所述轉(zhuǎn)向控制裝置包括:
接收模塊,用于接收轉(zhuǎn)向觸發(fā)指令;
位置調(diào)整模塊,用于在所述接收模塊接收到轉(zhuǎn)向觸發(fā)指令之后,根據(jù)所述目標(biāo)物體在現(xiàn)實(shí)場景中的位置以及所述轉(zhuǎn)向觸發(fā)指令所指示的轉(zhuǎn)向角度,確定所述目標(biāo)物體在所述虛擬場景中對(duì)應(yīng)角色按照所述轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后的位置;
顯示控制模塊,用于根據(jù)所述目標(biāo)物體在所述虛擬場景中對(duì)應(yīng)角色按照所述轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后的位置,調(diào)整所述目標(biāo)物體在所述虛擬場景中對(duì)應(yīng)角色所面對(duì)的場景信息。
在示例性實(shí)施方式中,所述目標(biāo)物體上可以設(shè)置有至少兩個(gè)定位設(shè)備;
所述位置調(diào)整模塊可以用于根據(jù)所述至少兩個(gè)定位設(shè)備在現(xiàn)實(shí)場景中的坐標(biāo)以及所述轉(zhuǎn)向角度,確定所述目標(biāo)物體在所述虛擬場景中對(duì)應(yīng)角色按照所述轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后,所述至少兩個(gè)定位設(shè)備在所述虛擬場景中的坐標(biāo)。
在示例性實(shí)施方式中,所述位置調(diào)整模塊還可以用于當(dāng)所述目標(biāo)物體在現(xiàn)實(shí)場景中移動(dòng)到現(xiàn)實(shí)目標(biāo)位置時(shí),根據(jù)所述目標(biāo)物體處于現(xiàn)實(shí)目標(biāo)位置時(shí)所述至少兩個(gè)定位設(shè)備在所述現(xiàn)實(shí)場景中的坐標(biāo)、在接收到轉(zhuǎn)向觸發(fā)指令時(shí)所述至少兩個(gè)定位設(shè)備中的至少一個(gè)在所述現(xiàn)實(shí)場景中的坐標(biāo)以及所述轉(zhuǎn)向角度,確定所述目標(biāo)物體處于所述現(xiàn)實(shí)目標(biāo)位置時(shí)在所述虛擬場景中所述至少兩個(gè)定位設(shè)備的坐標(biāo)。
本申請(qǐng)實(shí)施例還提供一種轉(zhuǎn)向控制系統(tǒng),包括:轉(zhuǎn)向控制裝置以及設(shè)置在目標(biāo)物體上的至少兩個(gè)定位設(shè)備;
所述至少兩個(gè)定位設(shè)備用于確定所述目標(biāo)物體在現(xiàn)實(shí)場景中的位置;
所述轉(zhuǎn)向控制裝置用于在接收到轉(zhuǎn)向觸發(fā)指令之后,根據(jù)所述目標(biāo)物體在現(xiàn)實(shí)場景中的位置以及所述轉(zhuǎn)向觸發(fā)指令所指示的轉(zhuǎn)向角度,確定所述目標(biāo)物體在所述虛擬場景中對(duì)應(yīng)角色按照所述轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后的位置;根據(jù)所述目標(biāo)物體在所述虛擬場景中對(duì)應(yīng)角色按照所述轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后的位置,調(diào)整所述目標(biāo)物體在所述虛擬場景中對(duì)應(yīng)角色所面對(duì)的場景信息。
在示例性實(shí)施方式中,所述定位設(shè)備可以用于通過接收信號(hào)發(fā)射器發(fā)射的定位信號(hào),確定在現(xiàn)實(shí)場景中的坐標(biāo)。
本申請(qǐng)實(shí)施例還提供一種終端,包括:存儲(chǔ)器以及處理器,所述存儲(chǔ)器存儲(chǔ)有轉(zhuǎn)向控制程序,在所述轉(zhuǎn)向控制程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述轉(zhuǎn)向控制方法的步驟。
本申請(qǐng)實(shí)施例還提供一種機(jī)器可讀介質(zhì),存儲(chǔ)有轉(zhuǎn)向控制程序,在所述轉(zhuǎn)向控制程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述轉(zhuǎn)向控制方法的步驟。
在本申請(qǐng)實(shí)施例中,當(dāng)目標(biāo)物體(比如用戶)需要在虛擬場景中進(jìn)行轉(zhuǎn)向時(shí),目標(biāo)物體在現(xiàn)實(shí)場景中無需轉(zhuǎn)向,僅控制在虛擬場景中對(duì)應(yīng)角色進(jìn)行轉(zhuǎn)向,比如可以使得目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色可以面向之前背對(duì)的場景,避免由于在現(xiàn)實(shí)場景中進(jìn)行轉(zhuǎn)向?qū)е聼o法進(jìn)行定位的問題,從而提高了用戶體驗(yàn)。
本申請(qǐng)的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本申請(qǐng)而了解。本申請(qǐng)的目的和其他優(yōu)點(diǎn)可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
附圖說明
附圖用來提供對(duì)本申請(qǐng)技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本申請(qǐng)的實(shí)施例一起用于解釋本申請(qǐng)的技術(shù)方案,并不構(gòu)成對(duì)本申請(qǐng)技術(shù)方案的限制。
圖1為本申請(qǐng)實(shí)施例提供的轉(zhuǎn)向控制方法的流程圖;
圖2為本申請(qǐng)實(shí)施例的目標(biāo)物體對(duì)應(yīng)角色進(jìn)行轉(zhuǎn)向時(shí)的位置轉(zhuǎn)換示意圖;
圖3為本申請(qǐng)實(shí)施例的目標(biāo)物體對(duì)應(yīng)角色在轉(zhuǎn)向后的位置移動(dòng)示意圖;
圖4為本申請(qǐng)實(shí)施例提供的轉(zhuǎn)向控制裝置的示意圖;
圖5為本申請(qǐng)實(shí)施例提供的轉(zhuǎn)向控制系統(tǒng)的示意圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本申請(qǐng)實(shí)施例進(jìn)行詳細(xì)說明,應(yīng)當(dāng)理解,以下所說明的實(shí)施例僅用于說明和解釋本申請(qǐng),并不用于限定本申請(qǐng)。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
實(shí)施例一
本實(shí)施例提供一種轉(zhuǎn)向控制方法,用于調(diào)整目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色所面對(duì)的場景信息。如圖1所示,本實(shí)施例的轉(zhuǎn)向控制方法包括:
s101、在接收到轉(zhuǎn)向觸發(fā)指令之后,根據(jù)目標(biāo)物體在現(xiàn)實(shí)場景中的位置以及轉(zhuǎn)向觸發(fā)指令所指示的轉(zhuǎn)向角度,確定目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色按照該轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后的位置;
s102、根據(jù)目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色按照該轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后的位置,調(diào)整對(duì)應(yīng)角色在虛擬場景中所面對(duì)的場景信息。
本實(shí)施例中,目標(biāo)物體可以為人,比如,虛擬游戲的操控者。在示例性實(shí)施方式中,目標(biāo)物體通過在現(xiàn)實(shí)場景中進(jìn)行運(yùn)動(dòng),使得看到的虛擬場景中的場景信息發(fā)生變化;或者,在虛擬場景中存在目標(biāo)物體對(duì)應(yīng)的角色,目標(biāo)物體在現(xiàn)實(shí)場景中的運(yùn)動(dòng)控制對(duì)應(yīng)角色在虛擬場景中的運(yùn)動(dòng)。
在本實(shí)施例中,在接收到轉(zhuǎn)向觸發(fā)指令時(shí),用戶在現(xiàn)實(shí)場景中的位置無需轉(zhuǎn)向,僅需調(diào)整用戶對(duì)應(yīng)在虛擬場景中的角色的位置,以實(shí)現(xiàn)用戶在虛擬場景中對(duì)應(yīng)的角色進(jìn)行轉(zhuǎn)向,使得用戶通過對(duì)應(yīng)角色在虛擬場景中看到的場景進(jìn)行轉(zhuǎn)向。
在本實(shí)施例中,目標(biāo)物體在現(xiàn)實(shí)場景中的位置可以通過定位設(shè)備進(jìn)行定位確定。定位設(shè)備可以采用雙目定位方式或激光定位方式,本申請(qǐng)對(duì)此并不限定。
其中,目標(biāo)物體上可以設(shè)置有至少兩個(gè)定位設(shè)備。至少兩個(gè)定位設(shè)備在目標(biāo)物體上的設(shè)置位置不同。比如,以目標(biāo)物體為虛擬游戲的操控者為例,兩個(gè)定位設(shè)備可以分別為手柄定位儀,兩個(gè)手柄定位儀可以分別由虛擬游戲操控者的左右兩個(gè)手握持;或者,兩個(gè)定位設(shè)備可以分別為手柄定位儀和頭顯定位儀,手柄定位儀可以由虛擬游戲操控者的一個(gè)手握持,頭顯定位儀可以戴在虛擬游戲操控者的頭上。然而,本申請(qǐng)對(duì)此并不限定。
在示例性實(shí)施方式中,定位設(shè)備的數(shù)目可以為三個(gè),其中一個(gè)定位設(shè)備可以安裝在頭戴式顯示設(shè)備上,其余兩個(gè)定位設(shè)備可以分別安裝在兩個(gè)手柄上。如此,用戶可以通過握持兩個(gè)手柄,頭戴頭顯實(shí)現(xiàn)自身在現(xiàn)實(shí)場景中的定位。
其中,定位設(shè)備可以通過接收信號(hào)發(fā)射器(比如,信號(hào)發(fā)射基站)發(fā)射的定位信號(hào)確定在現(xiàn)實(shí)場景中的位置。比如,在現(xiàn)實(shí)場景中可以確定預(yù)設(shè)空間坐標(biāo)系。在一示例中,以信號(hào)發(fā)射器為長方體為例,預(yù)設(shè)空間坐標(biāo)系的原點(diǎn)可以為信號(hào)發(fā)射器的重心、第一坐標(biāo)軸(例如稱為x軸)可以垂直于信號(hào)發(fā)射器的側(cè)面板,第二坐標(biāo)軸(例如稱為z軸)可以垂直于信號(hào)發(fā)射器的前面板,且指向前面板前側(cè)的方向?yàn)榈诙鴺?biāo)軸的正方向,第一坐標(biāo)軸的正方向和第二坐標(biāo)軸的正方向滿足右手定則,第三坐標(biāo)軸(例如稱為y軸)垂直于第一坐標(biāo)軸和第二坐標(biāo)軸所確定平面。其中,關(guān)于預(yù)設(shè)空間坐標(biāo)系的設(shè)置方式存在多種,本申請(qǐng)對(duì)此并不限定。在實(shí)際應(yīng)用中,可以根據(jù)現(xiàn)實(shí)場景的實(shí)際情況以及所采用的定位方式確定預(yù)設(shè)空間坐標(biāo)系。
在上述示例中,信號(hào)發(fā)射器發(fā)射的定位信號(hào)可以包括:第一激光平面信號(hào)、第二激光平面信號(hào)以及超聲波信號(hào)。其中,第一激光平面信號(hào)以及第二激光平面信號(hào)旋轉(zhuǎn)發(fā)射,且兩者的旋轉(zhuǎn)軸可以相互垂直。信號(hào)發(fā)射器可以在每個(gè)信號(hào)周期內(nèi)發(fā)射同步信號(hào)、超聲波信號(hào)、第一激光平面信號(hào)以及第二激光平面信號(hào)。定位設(shè)備可以根據(jù)接收到這些信號(hào)的時(shí)間得到收到同步信號(hào)的時(shí)刻、收到激光平面信號(hào)的時(shí)刻以及收到超聲波信號(hào)的時(shí)刻,采用相應(yīng)的算法可以計(jì)算得到定位設(shè)備在預(yù)設(shè)空間坐標(biāo)系中的坐標(biāo)。
其中,s101可以包括:
根據(jù)至少兩個(gè)定位設(shè)備在現(xiàn)實(shí)場景中的坐標(biāo)以及轉(zhuǎn)向角度,確定目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色按照轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后,至少兩個(gè)定位設(shè)備在虛擬場景中的坐標(biāo)。
在本實(shí)施例中,目標(biāo)物體所在的現(xiàn)實(shí)場景中的預(yù)設(shè)空間坐標(biāo)系(以下稱為第一坐標(biāo)系)與虛擬場景中的空間坐標(biāo)系(以下稱為第二坐標(biāo)系)可以一致或不同。在第一坐標(biāo)系和第二坐標(biāo)系不同一致時(shí),兩者之間可以存在轉(zhuǎn)換關(guān)系。即第一坐標(biāo)系中的坐標(biāo)通過該轉(zhuǎn)換關(guān)系可以得到在第二坐標(biāo)系中對(duì)應(yīng)的坐標(biāo)。
在第一坐標(biāo)系和第二坐標(biāo)系一致時(shí),根據(jù)定位設(shè)備在第一坐標(biāo)系中的坐標(biāo)即可以確定在虛擬場景中的位置,即在第二坐標(biāo)系中的坐標(biāo)。
在第一坐標(biāo)系和第二坐標(biāo)系之間存在轉(zhuǎn)換關(guān)系時(shí),根據(jù)定位設(shè)備在第一坐標(biāo)系中的坐標(biāo)以及上述轉(zhuǎn)換關(guān)系,可以得到定位設(shè)備在虛擬場景中的位置,即在第二坐標(biāo)系中的坐標(biāo)。
以兩個(gè)定位設(shè)備d1、d2為例,將接收到轉(zhuǎn)向觸發(fā)指令時(shí)定位設(shè)備d1在第一坐標(biāo)系中的坐標(biāo)作為置換原點(diǎn);根據(jù)置換原點(diǎn)以及轉(zhuǎn)向角度,確定若目標(biāo)物體在第一坐標(biāo)系中進(jìn)行轉(zhuǎn)向后,兩個(gè)定位設(shè)備d1、d2在第一坐標(biāo)系下的坐標(biāo);在第一坐標(biāo)系與虛擬場景中的第二坐標(biāo)系一致時(shí),確定定位設(shè)備d1、d2在第一坐標(biāo)系下的坐標(biāo)即為目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色進(jìn)行轉(zhuǎn)向后兩個(gè)定位設(shè)備d1、d2的坐標(biāo)。例如,轉(zhuǎn)向角度為180度時(shí),在轉(zhuǎn)向后,由于定位設(shè)備d1的坐標(biāo)為置換原點(diǎn),則定位設(shè)備d1的坐標(biāo)不變,定位設(shè)備d2的坐標(biāo)變?yōu)橐远ㄎ辉O(shè)備d1的坐標(biāo)為置換原點(diǎn)經(jīng)過180度轉(zhuǎn)向后的位置。在第一坐標(biāo)系與虛擬場景中的第二坐標(biāo)系不一致時(shí),可以先根據(jù)定位設(shè)備d1、d2在第一坐標(biāo)系下的坐標(biāo),計(jì)算假設(shè)目標(biāo)物體在現(xiàn)實(shí)場景進(jìn)行轉(zhuǎn)向后的坐標(biāo),再將該坐標(biāo)根據(jù)轉(zhuǎn)換關(guān)系映射得到虛擬場景中定位設(shè)備d1、d2的坐標(biāo);或者,可以先根據(jù)定位設(shè)備d1、d2在第一坐標(biāo)系下的坐標(biāo)以及兩個(gè)坐標(biāo)系之間的轉(zhuǎn)換關(guān)系,計(jì)算定位設(shè)備d1、d2在虛擬場景中第二坐標(biāo)系下的坐標(biāo),然后,在第二坐標(biāo)系下對(duì)定位設(shè)備d1、d2的坐標(biāo)進(jìn)行轉(zhuǎn)向,得到轉(zhuǎn)向后的坐標(biāo)。然而,本申請(qǐng)對(duì)此并不限定。
在示例性實(shí)施方式中,s102之后,本實(shí)施例的方法還可以包括:當(dāng)目標(biāo)物體在現(xiàn)實(shí)場景中移動(dòng)到現(xiàn)實(shí)目標(biāo)位置時(shí),根據(jù)目標(biāo)物體處于現(xiàn)實(shí)目標(biāo)位置時(shí)至少兩個(gè)定位設(shè)備在現(xiàn)實(shí)場景中的坐標(biāo)、在接收到轉(zhuǎn)向觸發(fā)指令時(shí)至少兩個(gè)定位設(shè)備中的至少一個(gè)在現(xiàn)實(shí)場景中的坐標(biāo)以及轉(zhuǎn)向角度,確定目標(biāo)物體處于現(xiàn)實(shí)目標(biāo)位置時(shí)在虛擬場景中至少兩個(gè)定位設(shè)備的坐標(biāo)。
其中,當(dāng)目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色進(jìn)行轉(zhuǎn)向之后,由于現(xiàn)實(shí)場景中目標(biāo)物體沒有轉(zhuǎn)向,因此實(shí)際是虛擬場景中的場景進(jìn)行了旋轉(zhuǎn),使得可以看到目標(biāo)物體對(duì)應(yīng)角色轉(zhuǎn)向后的場景。
其中,當(dāng)目標(biāo)物體在虛擬場景對(duì)應(yīng)角色進(jìn)行轉(zhuǎn)向后,目標(biāo)物體進(jìn)行移動(dòng)時(shí),若第一坐標(biāo)系和第二坐標(biāo)系一致,則可以根據(jù)目標(biāo)物體移動(dòng)之后定位設(shè)備在第一坐標(biāo)系的坐標(biāo)以及起始的置換原點(diǎn),確定目標(biāo)物體轉(zhuǎn)向后定位設(shè)備在第二坐標(biāo)系統(tǒng)的坐標(biāo)。
若第一坐標(biāo)系和第二坐標(biāo)系不一致,則可以先根據(jù)定位設(shè)備在第一坐標(biāo)系下的坐標(biāo)以及置換原點(diǎn),計(jì)算假設(shè)目標(biāo)物體在現(xiàn)實(shí)場景進(jìn)行轉(zhuǎn)向后定位設(shè)備在第一坐標(biāo)系下的坐標(biāo),再將該坐標(biāo)根據(jù)轉(zhuǎn)換關(guān)系映射得到虛擬場景中定位設(shè)備在第二坐標(biāo)系下的坐標(biāo);或者,可以先根據(jù)定位設(shè)備在第一坐標(biāo)系下的坐標(biāo)以及轉(zhuǎn)換關(guān)系,計(jì)算在虛擬場景中定位設(shè)備在第二坐標(biāo)系下的坐標(biāo),然后,將在虛擬場景的第二坐標(biāo)系下定位設(shè)備的坐標(biāo)進(jìn)行轉(zhuǎn)向,得到轉(zhuǎn)向后的坐標(biāo)。然而,本申請(qǐng)對(duì)此并不限定。
本實(shí)施例的轉(zhuǎn)向控制方法可以應(yīng)用于頭顯,或者,應(yīng)用于獨(dú)立于頭顯和手柄的控制設(shè)備。然而,本申請(qǐng)對(duì)此并不限定。
在示例性實(shí)施方式中,手柄上可以設(shè)置轉(zhuǎn)向觸發(fā)按鍵,或者頭顯上可以設(shè)置轉(zhuǎn)向觸發(fā)按鍵,在出現(xiàn)需要用戶轉(zhuǎn)身的場景時(shí),用戶可以按下轉(zhuǎn)向觸發(fā)按鍵。比如,手柄上的轉(zhuǎn)向觸發(fā)按鍵被按下時(shí),手柄可以向頭顯或控制設(shè)備發(fā)送轉(zhuǎn)向觸發(fā)指令。
在示例性實(shí)施方式中,根據(jù)轉(zhuǎn)向角度的不同,手柄上或頭顯上可以對(duì)應(yīng)設(shè)置多個(gè)轉(zhuǎn)向觸發(fā)按鍵,或者,手柄上或頭顯上可以設(shè)置組合按鍵以便用戶設(shè)置轉(zhuǎn)向角度。
在示例性實(shí)施方式中,轉(zhuǎn)向角度可以為180度,然而,本申請(qǐng)對(duì)此并不限定。在實(shí)際應(yīng)用中,可以根據(jù)實(shí)際情況,設(shè)置需要采用本申請(qǐng)方案處理的轉(zhuǎn)向角度,比如,轉(zhuǎn)向角度可以大于180度。
需要說明的是,本實(shí)施例中,以轉(zhuǎn)向角度為180度為例,虛擬場景當(dāng)目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色進(jìn)行180度轉(zhuǎn)向之后,在虛擬場景中,目標(biāo)物體對(duì)應(yīng)角色所面對(duì)的場景除了位置轉(zhuǎn)變,姿態(tài)也發(fā)生180度的轉(zhuǎn)動(dòng)。
下面通過一個(gè)示例對(duì)本申請(qǐng)的方案進(jìn)行說明。
在本示例中,以目標(biāo)物體為用戶,定位設(shè)備的數(shù)目為三個(gè),其中一個(gè)安裝在頭顯,另外兩個(gè)安裝在手柄為例進(jìn)行說明。在現(xiàn)實(shí)場景中,設(shè)置有一個(gè)信號(hào)發(fā)射基站,該信號(hào)發(fā)射基站限定現(xiàn)實(shí)空間的x、y、z軸,建立一個(gè)空間坐標(biāo)系(對(duì)應(yīng)上述的第一坐標(biāo)系)。定位設(shè)備通過接收信號(hào)發(fā)射基站發(fā)射的定位信號(hào)確定在該空間坐標(biāo)系內(nèi)的坐標(biāo)。在本示例中,以第一坐標(biāo)系和虛擬場景內(nèi)的第二坐標(biāo)系一致為例進(jìn)行說明。在虛擬場景中,目標(biāo)物體(用戶)對(duì)應(yīng)的角色為人類,安裝在頭顯上的定位設(shè)備對(duì)應(yīng)于人類頭部的位置,安裝在手柄上的定位設(shè)備對(duì)應(yīng)于人類手部的位置。
在本示例中,當(dāng)出現(xiàn)需要轉(zhuǎn)身的場景時(shí),用戶可以按下觸發(fā)裝置,該觸發(fā)裝置可以是手柄上的按鍵或者頭顯上的按鍵等。
在本示例中,以頭顯執(zhí)行本申請(qǐng)的方案為例進(jìn)行說明。在觸發(fā)裝置被按下之后,會(huì)產(chǎn)生轉(zhuǎn)向觸發(fā)指令給頭顯。
在頭顯收到轉(zhuǎn)向觸發(fā)指令后開始進(jìn)行位置轉(zhuǎn)換。如圖2所示,頭顯的原位置為t0,兩個(gè)手柄的原位置為a0和b0,其中,設(shè)置t0為新坐標(biāo)系的置換原點(diǎn),轉(zhuǎn)向角度為180度時(shí),用戶在虛擬場景中對(duì)應(yīng)角色(人類)進(jìn)行轉(zhuǎn)向之后,在虛擬場景中,人類的頭部位置變?yōu)閠0’,兩個(gè)手部的位置分別變?yōu)閍0’和b0’。
如圖2所示,t0點(diǎn)坐標(biāo)為(x0、y0、z0)、a0點(diǎn)坐標(biāo)為(xa0、ya0、za0)、b0點(diǎn)坐標(biāo)為(xb0、yb0、zb0)。a0’點(diǎn)坐標(biāo)為(xa0’、ya0’、za0’),b0’點(diǎn)坐標(biāo)為(xb0’、yb0’、zb0’)。
在轉(zhuǎn)向角度為180度時(shí),經(jīng)過計(jì)算可知:
xa0’=2x0-xa0,ya0’=y(tǒng)a0,za0’=2z0-za0;
xb0’=2x0-xb0,yb0’=y(tǒng)b0,zb0’=2z0-zb0;
t’=(x0、y0、z0)。
同時(shí),用戶在虛擬場景中對(duì)應(yīng)角色(人類)的手部的姿勢也發(fā)生180度旋轉(zhuǎn)。
在本示例中,當(dāng)用戶對(duì)應(yīng)角色在虛擬場景進(jìn)行轉(zhuǎn)向之后,用戶在現(xiàn)實(shí)場景中移動(dòng),例如頭顯以及手柄在現(xiàn)實(shí)場景中從圖2所示的位置t0、a0和b0移動(dòng)到如圖3所示的位置t1、a1和b1,則現(xiàn)實(shí)場景中兩個(gè)手柄的坐標(biāo)分別為a1(xa1、ya1、za1)、b1(xb1、yb1、zb1),頭顯的坐標(biāo)為t1(xt1、yt1、zt1)。對(duì)應(yīng)在虛擬場景中對(duì)應(yīng)角色手部的坐標(biāo)分別為a1’(xa1’、ya1’、za1’)、b1’(xb1’、yb1’、zb1’),頭部的坐標(biāo)為t1’(xt1’、yt1’、zt1’)。
在轉(zhuǎn)向角度為180度時(shí),經(jīng)過計(jì)算可知:
xa1’=2x0-xa1,ya1’=y(tǒng)a1,za1’=2z0-za1;
xb1’=2x0-xb1,yb1’=y(tǒng)b1,zb1’=2z0-zb1;
xt1’=2x0-xt1,yt1’=y(tǒng)t1,zt1’=2z0-zt1。
綜上所述,本實(shí)施例通過在虛擬場景中實(shí)現(xiàn)用戶對(duì)應(yīng)角色轉(zhuǎn)向,而無需在現(xiàn)實(shí)場景中進(jìn)行用戶轉(zhuǎn)向,避免了由于現(xiàn)實(shí)場景中用戶轉(zhuǎn)向?qū)е聼o法進(jìn)行定位的問題,從而提高了用戶體驗(yàn)。
實(shí)施例二
本實(shí)施例提供一種轉(zhuǎn)向控制裝置,用于調(diào)整目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色所面對(duì)的場景信息;如圖4所示,本實(shí)施例的轉(zhuǎn)向控制裝置包括:
接收模塊401,用于接收轉(zhuǎn)向觸發(fā)指令;
位置調(diào)整模塊402,用于在接收模塊401接收到轉(zhuǎn)向觸發(fā)指令之后,根據(jù)目標(biāo)物體在現(xiàn)實(shí)場景中的位置以及轉(zhuǎn)向觸發(fā)指令所指示的轉(zhuǎn)向角度,確定目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色按照轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后的位置;
顯示控制模塊403,用于根據(jù)目標(biāo)物體對(duì)應(yīng)角色在虛擬場景中按照轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后的位置,調(diào)整目標(biāo)物體對(duì)應(yīng)角色在虛擬場景中所面對(duì)的場景信息。
其中,目標(biāo)物體上可以設(shè)置有至少兩個(gè)定位設(shè)備;
位置調(diào)整模塊402可以用于根據(jù)至少兩個(gè)定位設(shè)備在現(xiàn)實(shí)場景中的坐標(biāo)以及轉(zhuǎn)向角度,確定目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色按照轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后,至少兩個(gè)定位設(shè)備在虛擬場景中的坐標(biāo)。
其中,位置調(diào)整模塊402還可以用于當(dāng)目標(biāo)物體在現(xiàn)實(shí)場景中移動(dòng)到現(xiàn)實(shí)目標(biāo)位置時(shí),根據(jù)目標(biāo)物體處于現(xiàn)實(shí)目標(biāo)位置時(shí)至少兩個(gè)定位設(shè)備在現(xiàn)實(shí)場景中的坐標(biāo)、在接收到轉(zhuǎn)向觸發(fā)指令時(shí)至少兩個(gè)定位設(shè)備中的至少一個(gè)在現(xiàn)實(shí)場景中的坐標(biāo)以及轉(zhuǎn)向角度,確定目標(biāo)物體處于現(xiàn)實(shí)目標(biāo)位置時(shí)在虛擬場景中至少兩個(gè)定位設(shè)備的坐標(biāo)。
在示例性實(shí)施方式中,定位設(shè)備的數(shù)目可以為三個(gè),其中一個(gè)定位設(shè)備可以安裝在頭戴式顯示設(shè)備上,其余兩個(gè)定位設(shè)備可以分別安裝在兩個(gè)手柄上。
位置調(diào)整模塊402可以用于根據(jù)三個(gè)定位設(shè)備在現(xiàn)實(shí)場景中的坐標(biāo)以及轉(zhuǎn)向角度,確定目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色按照轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后,三個(gè)定位設(shè)備在虛擬場景中的坐標(biāo)。位置調(diào)整模塊402還可以用于當(dāng)目標(biāo)物體在現(xiàn)實(shí)場景中移動(dòng)到現(xiàn)實(shí)目標(biāo)位置時(shí),根據(jù)目標(biāo)物體處于現(xiàn)實(shí)目標(biāo)位置時(shí)三個(gè)定位設(shè)備在現(xiàn)實(shí)場景中的坐標(biāo)、在接收到轉(zhuǎn)向觸發(fā)指令時(shí)位于頭戴式顯示設(shè)備上的定位設(shè)備在現(xiàn)實(shí)場景中的坐標(biāo)以及轉(zhuǎn)向角度,確定目標(biāo)物體處于現(xiàn)實(shí)目標(biāo)位置時(shí)在虛擬場景中三個(gè)定位設(shè)備的坐標(biāo)。
在示例性實(shí)施方式中,轉(zhuǎn)向角度可以為180度。
此外,關(guān)于本實(shí)施例提供的轉(zhuǎn)向控制裝置的相關(guān)處理過程可以參照實(shí)施例一的轉(zhuǎn)向控制方法的描述,故于此不再贅述。
實(shí)施例三
本實(shí)施例提供一種轉(zhuǎn)向控制系統(tǒng),包括:轉(zhuǎn)向控制裝置以及設(shè)置在目標(biāo)物體上的至少兩個(gè)定位設(shè)備。
其中,至少兩個(gè)定位設(shè)備用于確定目標(biāo)物體在現(xiàn)實(shí)場景中的位置;
轉(zhuǎn)向控制裝置用于在接收到轉(zhuǎn)向觸發(fā)指令之后,根據(jù)目標(biāo)物體在現(xiàn)實(shí)場景中的位置以及轉(zhuǎn)向觸發(fā)指令所指示的轉(zhuǎn)向角度,確定目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色按照所述轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后的位置;根據(jù)目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色按照轉(zhuǎn)向角度進(jìn)行轉(zhuǎn)向后的位置,調(diào)整目標(biāo)物體在虛擬場景中對(duì)應(yīng)角色所面對(duì)的場景信息。
其中,定位設(shè)備可以用于通過接收信號(hào)發(fā)射器發(fā)射的定位信號(hào),確定在現(xiàn)實(shí)場景中的坐標(biāo)。
下面參照?qǐng)D5通過一個(gè)示例對(duì)本申請(qǐng)的轉(zhuǎn)向控制系統(tǒng)進(jìn)行說明。
如圖5所示,定位設(shè)備可以包括兩個(gè)手柄定位儀502a、502b以及一個(gè)頭顯定位儀503。定位設(shè)備通過接收信號(hào)發(fā)射器501發(fā)射的定位信號(hào),確定在現(xiàn)實(shí)場景中第一坐標(biāo)系下的坐標(biāo)。
其中,信號(hào)發(fā)射器501可以周期性發(fā)射同步信號(hào)、激光平面信號(hào)以及超聲波信號(hào);手柄定位儀502a、502b和頭顯定位儀503可以分別通過接收同步信號(hào)、激光平面信號(hào)以及超聲波信號(hào),計(jì)算得到各自在第一坐標(biāo)系下的坐標(biāo);手柄定位儀502a、502b和頭顯定位儀503在計(jì)算得到自己在第一坐標(biāo)系下的坐標(biāo)后,會(huì)將坐標(biāo)信息發(fā)送給控制設(shè)備504(比如,智能手機(jī)或頭顯)??刂圃O(shè)備504可以將手柄定位儀502a、502b和頭顯定位儀503的坐標(biāo)信息轉(zhuǎn)化為控制設(shè)備504上的顯示圖像的相對(duì)位置。在手柄定位儀502a、502b或者頭顯定位儀503上的轉(zhuǎn)向觸發(fā)按鍵被觸發(fā)時(shí),會(huì)發(fā)送轉(zhuǎn)向觸發(fā)指令給控制設(shè)備504,控制設(shè)備504接收到轉(zhuǎn)向觸發(fā)指令之后,通過內(nèi)部設(shè)置的轉(zhuǎn)向控制裝置5040進(jìn)行轉(zhuǎn)向處理,使得控制設(shè)備504上的顯示圖像為用戶在虛擬場景對(duì)應(yīng)角色進(jìn)行轉(zhuǎn)向后的圖像。
此外,本申請(qǐng)實(shí)施例還提供一種終端(比如,定位設(shè)備、智能手機(jī)或頭顯),包括:存儲(chǔ)器以及處理器,所述存儲(chǔ)器存儲(chǔ)有轉(zhuǎn)向控制程序,在所述轉(zhuǎn)向控制程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述轉(zhuǎn)向控制方法。
此外,本申請(qǐng)實(shí)施例還提供一種機(jī)器可讀介質(zhì),存儲(chǔ)有轉(zhuǎn)向控制程序,所述轉(zhuǎn)向控制程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述轉(zhuǎn)向控制方法。
本領(lǐng)域普通技術(shù)人員可以理解,上文中所公開方法中的全部或某些步驟、系統(tǒng)、裝置中的功能模塊/單元可以被實(shí)施為軟件、固件、硬件及其適當(dāng)?shù)慕M合。在硬件實(shí)施方式中,在以上描述中提及的功能模塊/單元之間的劃分不一定對(duì)應(yīng)于物理組件的劃分;例如,一個(gè)物理組件可以具有多個(gè)功能,或者一個(gè)功能或步驟可以由若干物理組件合作執(zhí)行。某些組件或所有組件可以被實(shí)施為由處理器,如數(shù)字信號(hào)處理器或微處理器執(zhí)行的軟件,或者被實(shí)施為硬件,或者被實(shí)施為集成電路,如專用集成電路。這樣的軟件可以分布在機(jī)器可讀介質(zhì)(比如,計(jì)算機(jī)可讀介質(zhì))上,計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)(或非暫時(shí)性介質(zhì))和通信介質(zhì)(或暫時(shí)性介質(zhì))。如本領(lǐng)域普通技術(shù)人員公知的,術(shù)語計(jì)算機(jī)存儲(chǔ)介質(zhì)包括在用于存儲(chǔ)信息(諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù))的任何方法或技術(shù)中實(shí)施的易失性和非易失性、可移除和不可移除介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于ram、rom、eeprom、閃存或其他存儲(chǔ)器技術(shù)、cd-rom、數(shù)字多功能盤(dvd)或其他光盤存儲(chǔ)、磁盒、磁帶、磁盤存儲(chǔ)或其他磁存儲(chǔ)裝置、或者可以用于存儲(chǔ)期望的信息并且可以被計(jì)算機(jī)訪問的任何其他的介質(zhì)。此外,本領(lǐng)域普通技術(shù)人員公知的是,通信介質(zhì)通常包含計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者諸如載波或其他傳輸機(jī)制之類的調(diào)制數(shù)據(jù)信號(hào)中的其他數(shù)據(jù),并且可包括任何信息遞送介質(zhì)。
以上顯示和描述了本申請(qǐng)的基本原理和主要特征和本申請(qǐng)的優(yōu)點(diǎn)。本申請(qǐng)不受上述實(shí)施例的限制,上述實(shí)施例和說明書中描述的只是說明本申請(qǐng)的原理,在不脫離本申請(qǐng)精神和范圍的前提下,本申請(qǐng)還會(huì)有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本申請(qǐng)范圍內(nèi)。