本發(fā)明涉及虛擬現(xiàn)實領域,具體涉及一種虛擬現(xiàn)實中的交互方法、系統(tǒng)及終端設備。
背景技術(shù):
VR(Virtual Reality,即虛擬現(xiàn)實技術(shù)),是利用電腦模擬產(chǎn)生一個三維空間的虛擬世界,提供用戶關(guān)于視覺等感官的模擬,讓用戶感覺仿佛身歷其境,可以模擬真實場景沒有限制地觀察三維空間內(nèi)的事物。
陀螺儀是一種用來傳感與維持方向的裝置,基于角動量守恒的理論設計出來。目前市面上大部分的手機都有安裝陀螺儀傳感器來檢測手機轉(zhuǎn)向、晃動等空間動作。在頭戴虛擬現(xiàn)實設備中,通過陀螺儀傳感器能夠準確檢測用到戶頭部的轉(zhuǎn)向、晃動等動作,并且能夠?qū)⒂脩纛^部動作轉(zhuǎn)換為在虛擬現(xiàn)實情境中相應的虛擬行為。
Hover即懸停,指一個模仿懸停事件(控制器映射點移動到一個對象上面及移出這個對象)的方法。這是一個自定義的方法,它為頻繁使用的任務提供了一種“保持在其中”的狀態(tài)。在VR中,用戶使用視覺焦點或者外設手柄等控制器來模擬PC端的鼠標懸停事件。
本發(fā)明討論的VR的交互界面類型:VR交互中有多種不同的交互界面,本發(fā)明適用于此種交互界面:虛擬空間中,由用戶主動呼喚出的一個較大面積的面片,此面片不會隨著用戶頭部轉(zhuǎn)動而轉(zhuǎn)動,它與場景保持某種相對固定的狀態(tài),此面片由多個可交互的控件組合而成。
現(xiàn)有技術(shù)中,在VR交互中,由于透視與視野的限制,導致大面積的界面信息在一定角度視線范圍內(nèi)時會閱讀困難。
如圖1所示,VR顯示界面中包含1-6共計6個控件,當我們與控件2/5交互時,由于視線位于正前方,與控件的法線角度相同(或接近),所以視覺上很舒適。但與1/4/3/6控件交互時,頭部需要水平轉(zhuǎn)動,然后視線與控件法線有一定夾角,加上透視等因素導致交互時沒有2/5那么舒適。
為了提升玩家的交互體驗,本發(fā)明核心方案用于解決上述問題。
現(xiàn)有的VR設備中,交互面板中控件平鋪其中,通過頭部轉(zhuǎn)動觸發(fā)設備陀螺儀傳感器控制VR空間中用戶對應的視角畫面的渲染變化,然后通過控制器(準星/搖桿等外設)在界面上移動/點擊等操作來完成與界面的交互,當光標(圖中的小圓圈)懸停(hover)在控件上時,控件會有高亮變化。
如圖2為谷歌cardboard的一個簡單的交互界面,當前控制器懸停在exhibit控件上。因為透視等原因,邊緣控件距離眼睛距離較遠,會出現(xiàn)拉伸/模糊/字體變小等閱讀困難的情況。
因此,需要一種新的虛擬現(xiàn)實中的交互方法以解決現(xiàn)有技術(shù)中交互界面邊緣的控件交互困難以及交互舒適度不高等問題。
在所述背景技術(shù)部分公開的上述信息僅用于加強對本發(fā)明的背景的理解,因此它可以包括不構(gòu)成對本領域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
技術(shù)實現(xiàn)要素:
本發(fā)明檢測用戶的操作指令;響應于所述用戶的操作指令,虛擬控制點在界面上發(fā)生移動;實時檢測所述虛擬控制點的位置,當檢測到所述虛擬控制點偏離界面的中線的預設范圍,并在一控件所在區(qū)域內(nèi)的停留時間大于預設時間閾值,則將所述控件旋轉(zhuǎn)一定的角度進行顯示。本發(fā)明使得用戶在查看和選擇交互界面邊緣的控件時,能夠更舒適的查看信息,增強用戶體驗;同時在完成這些交互的時候不會破壞現(xiàn)有界面結(jié)構(gòu),不增加運行資源消耗與實現(xiàn)難度。并且在控件浮出時不會影響其他控件的選中。
本發(fā)明的其他特性和優(yōu)點將通過下面的詳細描述變得顯然,或部分地通過本發(fā)明的實踐而習得。
根據(jù)本發(fā)明的一方面,公開一種虛擬現(xiàn)實中的交互方法,其特征在于,包括:
S1:檢測用戶的操作指令;
S2:響應于所述用戶的操作指令,虛擬控制點在界面上發(fā)生移動;
S3:實時檢測所述虛擬控制點的位置,當檢測到所述虛擬控制點偏離界面的中線的預設范圍,并在一控件所在區(qū)域內(nèi)的停留時間大于預設時間閾值,則將所述控件旋轉(zhuǎn)一定的角度進行顯示。
根據(jù)本發(fā)明的一實施方式,所述將所述控件旋轉(zhuǎn)一定的角度,包括:
獲取所述控件的位置坐標;
計算所述控件在位置與用戶視線的角度;
判斷所述控件的旋轉(zhuǎn)軸,所述控件基于所述旋轉(zhuǎn)軸以一定角度進行旋轉(zhuǎn)。
根據(jù)本發(fā)明的一實施方式,所述用戶的操作指令包括:由用戶的頭部或肢體動作所觸發(fā)的操作指令,和/或
通過用戶控制外部設備在虛擬現(xiàn)實系統(tǒng)中進行的操作指令。
根據(jù)本發(fā)明的一實施方式,所述虛擬現(xiàn)實中的交互方法還包括:
當所述虛擬控制點處于所述控件范圍內(nèi)時,使所述控件保持在旋轉(zhuǎn)后的狀態(tài);
當所述虛擬控制點離開所述控件后,將所述控件還原至初始狀態(tài),并檢測控制點的新位置是否觸發(fā)另一個控件的旋轉(zhuǎn)。
根據(jù)本發(fā)明的一實施方式,所述控件的旋轉(zhuǎn)角度和所述用戶頭部在水平或垂直方向移動的位置與交互界面的中線所呈角度相關(guān)。
根據(jù)本發(fā)明的一實施方式,所述控件的旋轉(zhuǎn)角度和所述用戶頭部在水平或垂直方向移動的位置與交互界面的中線所呈角度成正比。
根據(jù)本發(fā)明的一實施方式,所述控件的旋轉(zhuǎn)角度和所述控件的坐標相關(guān)。
根據(jù)本發(fā)明的一實施方式,所述旋轉(zhuǎn)是以所述控件靠近交互界面的中線的邊作為軸而進行的。
根據(jù)本發(fā)明的一實施方式,所述虛擬現(xiàn)實中的交互方法還包括:調(diào)整所述控件的尺寸、旋轉(zhuǎn)角度或透明度。
根據(jù)本發(fā)明的一實施方式,所述虛擬現(xiàn)實中的交互方法還包括:將所述控件同側(cè)之后的其他控件同時向所述用戶頭部方向浮出。
根據(jù)本發(fā)明的第二方面,一種虛擬現(xiàn)實中的交互系統(tǒng),其特征在于,包括:
操作指令響應模塊,用于檢測用戶的操作指令,并響應于所述用戶的操作指令,使虛擬控制點在界面上發(fā)生移動;
角度調(diào)整模塊,用于實時檢測所述虛擬控制點的位置,當檢測到所述虛擬控制點偏離界面的中線的預設范圍,并在一控件所在區(qū)域內(nèi)的停留時間大于預設時間閾值,則將所述控件旋轉(zhuǎn)一定的角度進行顯示。
根據(jù)本發(fā)明的第三方面,一種終端設備,其特征在于,包括:
處理器;
存儲器,存儲用于所述處理器控制以下操作的指令:
檢測用戶的操作指令;
響應于所述用戶的操作指令,虛擬控制點在界面上發(fā)生移動;
實時檢測所述虛擬控制點的位置,當檢測到所述虛擬控制點偏離界面的中線的預設范圍,并在一控件所在區(qū)域內(nèi)的停留時間大于預設時間閾值,則將所述控件旋轉(zhuǎn)一定的角度進行顯示。
根據(jù)本發(fā)明的一些實施方式,通過旋轉(zhuǎn)交互界面邊緣的控件的角度,使得用戶在查看和選擇交互界面邊緣的控件時,能夠更舒適的查看信息,增強用戶體驗;同時在完成這些交互的時候不會破壞現(xiàn)有界面結(jié)構(gòu),不增加運行資源消耗與實現(xiàn)難度。
根據(jù)本發(fā)明的一些實施方式,通過將所述旋轉(zhuǎn)的控件同側(cè)之后的其他控件同時向所述用戶頭部方向浮出等方式,使得即使在極端情況下也不會造成對附近其它控件的遮擋。
應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性的,并不能限制本發(fā)明。
附圖說明
通過參照附圖詳細描述其示例實施例,本發(fā)明的上述和其它目標、特征及優(yōu)點將變得更加顯而易見。
圖1示出現(xiàn)有技術(shù)中的虛擬現(xiàn)實中的交互方法的示意圖。
圖2示出現(xiàn)有技術(shù)中的虛擬現(xiàn)實中的交互方法導致閱讀困難的示意圖。
圖3示出根據(jù)本發(fā)明一示例實施方式的一虛擬現(xiàn)實中的交互方法的流程圖。
圖4示出根據(jù)本發(fā)明一示例實施方式一虛擬現(xiàn)實中的交互方法的旋轉(zhuǎn)控件角度的示意圖。
圖5示出根據(jù)本發(fā)明另一示例實施方式的一虛擬現(xiàn)實中的交互方法的流程圖。
圖6示出根據(jù)本發(fā)明又一示例實施方式的極端情況下的解決方案的示意圖。
圖7示出根據(jù)本發(fā)明一示例實施方式的一虛擬現(xiàn)實中的交互系統(tǒng)方框圖。
圖8示出根據(jù)本發(fā)明一示例實施方式的終端設備。
具體實施方式
現(xiàn)在將參考附圖更全面地描述示例實施方式。然而,示例實施方式能夠以多種形式實施,且不應被理解為限于在此闡述的范例;相反,提供這些實施方式使得本發(fā)明的描述將更加全面和完整,并將示例實施方式的構(gòu)思全面地傳達給本領域的技術(shù)人員。附圖僅為本發(fā)明的示意性圖解,并非一定是按比例繪制。圖中相同的附圖標記表示相同或類似的部分,因而將省略對它們的重復描述。
此外,所描述的特征、結(jié)構(gòu)或特性可以以任何合適的方式結(jié)合在一個或更多實施方式中。在下面的描述中,提供許多具體細節(jié)從而給出對本發(fā)明的實施方式的充分理解。然而,本領域技術(shù)人員將意識到,可以實踐本發(fā)明的技術(shù)方案而省略所述特定細節(jié)中的一個或更多,或者可以采用其它的方法、組元、步驟等。在其它情況下,不詳細示出或描述公知結(jié)構(gòu)、方法、實現(xiàn)或者操作以避免喧賓奪主而使得本發(fā)明的各方面變得模糊。
附圖中所示的一些方框圖是功能實體,不一定必須與物理或邏輯上獨立的實體相對應??梢圆捎密浖问絹韺崿F(xiàn)這些功能實體,或在一個或多個硬件模塊或集成電路中實現(xiàn)這些功能實體,或在不同網(wǎng)絡和/或處理器裝置和/或微控制器裝置中實現(xiàn)這些功能實體。
本發(fā)明公開一種虛擬現(xiàn)實中的交互方法、系統(tǒng)及終端設備。該方法包括:檢測用戶的操作指令;響應于所述用戶的操作指令,虛擬控制點在界面上發(fā)生移動;實時檢測所述虛擬控制點的位置,當檢測到所述虛擬控制點偏離界面的中線的預設范圍,并在一控件所在區(qū)域內(nèi)的停留時間大于預設時間閾值,則將所述控件旋轉(zhuǎn)一定的角度進行顯示。本發(fā)明通過旋轉(zhuǎn)交互界面邊緣的控件的角度,使得用戶在查看和選擇交互界面邊緣的控件時,能夠更舒適的查看信息,增強用戶體驗;同時在完成這些交互的時候不會破壞現(xiàn)有界面結(jié)構(gòu),不增加運行資源消耗與實現(xiàn)難度。另外本發(fā)明通過將所述旋轉(zhuǎn)的控件同側(cè)之后的其他控件同時向所述用戶頭部方向浮出等方式,使得即使在極端情況下也不會造成對附近其它控件的遮擋。
下面結(jié)合附圖就用于在虛擬現(xiàn)實中提高交互的舒適度的交互方法進行具體說明。
圖3示出根據(jù)本發(fā)明示例實施方式的一虛擬現(xiàn)實中的交互方法的流程圖。該方法可用于終端設備的應用程序。終端設備可為虛擬現(xiàn)實頭戴設備等,但本發(fā)明不限于此。
在S301,檢測用戶的操作指令,通常來說常見的虛擬現(xiàn)實中的控制方式中用戶的操作指令包括:由用戶的頭部或肢體動作所觸發(fā)的操作指令,和/或通過用戶控制外部設備在虛擬現(xiàn)實系統(tǒng)中進行的操作指令。
在S302,響應于所述用戶的操作指令,虛擬控制點在界面上發(fā)生移動。虛擬控制點即界面中的光標,通過檢測頭部/肢體的運動或基于外設的觸發(fā),可在虛擬現(xiàn)實界面中移動,從而完成用戶期望的操作。
在S303,實時檢測所述虛擬控制點的位置,當檢測到所述虛擬控制點偏離界面的中線的預設范圍,并在一控件所在區(qū)域內(nèi)的停留時間大于預設時間閾值,則將所述控件旋轉(zhuǎn)一定的角度進行顯示。
圖4示出根據(jù)本發(fā)明一示例實施方式一虛擬現(xiàn)實中的交互方法的旋轉(zhuǎn)控件角度的示意圖。
也就是說在交互界面的中線兩側(cè)預先設定一預設范圍,該預設范圍可根據(jù)需要進行設定。當檢測到用戶虛擬控制點處于預設范圍內(nèi)的某控件上時不作任何響應;當檢測到用戶虛擬控制點Hover(即懸停)在處于預設范圍外的某控件上且停留時間大于預設時間閾值時,旋轉(zhuǎn)所述控件一定的角度b,如圖4中所示。此處的Hover即懸停,指一個模仿懸停事件(控制器映射點移動到一個對象/控件上面及移出這個對象/控件)。
所述預設時間閾值是判定懸停事件是否發(fā)生的標準,可以根據(jù)需要靈活設定,如果設定的時間太短可能會導致不必要的誤操作,而如果設定的時間太長也可能會導致響應速度過慢,上述兩種情況都可能會導致用戶體驗的降低。
在此需要特別指出的是,所述界面的中線不僅僅是指水平方向的中線,還可以是垂直方向的中線。在具體應用中,由于通常情況下屏幕的寬度是大于其高度的,例如傳統(tǒng)影視的寬高比為4:3,高清視頻的寬高比為16:9等等,所以偏離界面的中線兩側(cè)的預設范圍在大多數(shù)情況下是指中線水平方向的兩側(cè),因為通常的交互界面水平方向的范圍明顯大于垂直方向的范圍從而視覺畸變也以水平方向的為主。但本發(fā)明不限于此,也可以同時檢測虛擬控制點在界面水平和垂直方向上的偏離度并據(jù)此旋轉(zhuǎn)相應控件水平和垂直方向上的角度以全方位地改善視覺畸變。
根據(jù)本發(fā)明的一實施方式,所述控件的旋轉(zhuǎn)角度和所述用戶頭部在水平或垂直方向移動的位置與交互界面的中線所呈角度相關(guān)。
根據(jù)本發(fā)明的一實施方式,所述控件的旋轉(zhuǎn)角度和所述用戶頭部在水平或垂直方向移動的位置與交互界面的中線所呈角度成正比。但本發(fā)明不限于此,所述控件的旋轉(zhuǎn)角度主要還是由于實際用戶體驗中的最佳舒適度來決定。
根據(jù)本發(fā)明的一實施方式,所述控件的旋轉(zhuǎn)角度和所述控件的坐標相關(guān)。如圖4中的坐標c所示。
根據(jù)本發(fā)明的一實施方式,所述旋轉(zhuǎn)是以所述控件靠近交互界面的中線的邊作為軸而進行的。如圖4中的旋轉(zhuǎn)軸a所示。
下面結(jié)合圖4詳細描述用于在虛擬現(xiàn)實中提高交互的舒適度的交互方法在技術(shù)上的具體實現(xiàn)方式。
在設計交互界面時,可為交互界面中的對象/控件增加屬性X(a:旋轉(zhuǎn)軸,b:旋轉(zhuǎn)角度,c:對象/控件坐標),也就是說使得對象/控件具有X屬性,調(diào)用X屬性,可獲取此對象/控件的旋轉(zhuǎn)軸和/或旋轉(zhuǎn)角度。因此,在VR交互過程中,所述對象/控件能及時響應。此處的旋轉(zhuǎn)軸a和旋轉(zhuǎn)角度b二者都是基于其對象/控件的坐標位置而計算獲得,從而將計算結(jié)果預置在對象/控件的屬性中,在讀取所述對象/控件時,即可實時獲取相應的屬性,節(jié)省了系統(tǒng)的響應時間。
其中,旋轉(zhuǎn)角度b可根據(jù)實際需要設定,可在所述對象/控件與用戶視線所呈角度值的基礎上進行微調(diào),既滿足閱讀舒適度,又不會遮擋更靠邊的其他控件。
根據(jù)本發(fā)明的另一實施方式,當所述虛擬控制點處于所述控件范圍內(nèi)時,使所述控件保持在旋轉(zhuǎn)后的狀態(tài);當所述虛擬控制點離開所述控件后,將所述控件還原至初始狀態(tài),并檢測控制點的新位置是否觸發(fā)另一個控件的旋轉(zhuǎn)。具體流程結(jié)合附圖5如下所示。
在S501,檢測用戶的操作指令。
在S502,響應于所述用戶的操作指令,虛擬控制點在界面上發(fā)生移動。
在S503,實時檢測所述虛擬控制點的位置,當檢測到所述虛擬控制點偏離界面的中線的預設范圍,并在一控件所在區(qū)域內(nèi)的停留時間大于預設時間閾值,則將所述控件旋轉(zhuǎn)一定的角度進行顯示。
在S504,當所述虛擬控制點處于所述控件范圍內(nèi)時,使所述控件保持在旋轉(zhuǎn)后的狀態(tài)。虛擬控制點保持處于所述控件范圍內(nèi)既指虛擬控制點保持在控件范圍內(nèi)的懸停狀態(tài),也指虛擬控制點保持在控件范圍內(nèi)的運動狀態(tài),也就是說只要虛擬控制點沒有離開控件的范圍,控件就會一直保持旋轉(zhuǎn)狀態(tài)。
在S505,當檢測到所述虛擬控制點離開所述控件后,將所述控件還原至初始狀態(tài),并檢測控制點的新位置是否觸發(fā)另一個控件的旋轉(zhuǎn)。一旦虛擬控制點離開控件的范圍,則控件就會恢復初始狀態(tài)即旋轉(zhuǎn)角度為0。而在控件恢復初始狀態(tài)后,繼續(xù)檢測虛擬控制點的新位置以判斷是否觸發(fā)另一個控件的旋轉(zhuǎn)。
在極端情況下,也就是說在控件排列眾多、控件之間的間隔小且排版復雜的界面,一個控件的角度浮出,可能需牽扯相應方向直至邊緣的所有控件以某個百分比的設定角度浮出,以防止對象被遮擋導致無法選中或無法看見的問題。這種情況并不是一定會出現(xiàn)的狀況,通常情況下不會發(fā)生,僅是極端情況下的特例。
下面結(jié)合圖6舉例具體說明上述極端情況下的兩種解決方案。
例如,一種解決方案是,假如交互界面中一橫行有超過5個控件平鋪,左側(cè)第3個浮出的時候或許會擋住左側(cè)第1個和第2個控件的一部分,可通過調(diào)整控件尺寸/旋轉(zhuǎn)角/控件透明度的方式來避免此種狀況出現(xiàn)。
另外的其他解決方案是,將旋轉(zhuǎn)或浮出的控件同側(cè)之后的其他控件同時向前也就是向用戶頭部的方向移動或者說浮出,如圖6中所示的向前浮出的控件1和2。
圖7示出根據(jù)本發(fā)明示例實施方式的一虛擬現(xiàn)實中的交互系統(tǒng)方框圖。
所述虛擬現(xiàn)實中的交互系統(tǒng)可以用于虛擬現(xiàn)實頭戴設備等。如圖7所示,虛擬現(xiàn)實中的交互系統(tǒng)700可包括操作指令響應模塊702、角度調(diào)整模塊704。
操作指令響應模塊702用于檢測用戶的操作指令,并響應于所述用戶的操作指令,使虛擬控制點在界面上發(fā)生移動。
角度調(diào)整模塊704用于,實時檢測所述虛擬控制點的位置,當檢測到所述虛擬控制點偏離界面的中線的預設范圍,并在一控件所在區(qū)域內(nèi)的停留時間大于預設時間閾值,則將所述控件旋轉(zhuǎn)一定的角度進行顯示。以及用于,當所述虛擬控制點處于所述控件范圍內(nèi)時,使所述控件保持在旋轉(zhuǎn)后的狀態(tài);當所述虛擬控制點離開所述控件后,將所述控件還原至初始狀態(tài),并檢測控制點的新位置是否觸發(fā)另一個控件的旋轉(zhuǎn)。
圖8示出根據(jù)本發(fā)明一示例實施方式的終端設備。
如圖8所示,終端設備800可包括處理器810、存儲器820。另外,根據(jù)一實施例,終端設備還可包括發(fā)射器及接收器。
處理器810可調(diào)用存儲器820中存儲的指令控制相關(guān)操作,如控制發(fā)射器和接收器進行信號收發(fā)等。
根據(jù)一實施例,存儲器820存儲用于處理器810控制以下操作的指令:實時檢測所述虛擬控制點的位置,當檢測到所述虛擬控制點偏離界面的中線的預設范圍,并在一控件所在區(qū)域內(nèi)的停留時間大于預設時間閾值,則將所述控件旋轉(zhuǎn)一定的角度進行顯示;當所述虛擬控制點處于所述控件范圍內(nèi)時,使所述控件保持在旋轉(zhuǎn)后的狀態(tài);當所述虛擬控制點離開所述控件后,將所述控件還原至初始狀態(tài),并檢測控制點的新位置是否觸發(fā)另一個控件的旋轉(zhuǎn)。處理器810可調(diào)用存儲器820中存儲的指令控制相關(guān)操作。易于理解,存儲器820還可存儲用于處理器810控制根據(jù)本發(fā)明實施例的其他操作的指令,這里不再贅述。
通過以上的詳細描述,本領域的技術(shù)人員易于理解,根據(jù)本發(fā)明實施例的系統(tǒng)和方法具有以下優(yōu)點中的一個或多個。
首先,根據(jù)本發(fā)明的一些實施方式,通過旋轉(zhuǎn)交互界面邊緣的控件的角度,使得用戶在查看和選擇交互界面邊緣的控件時,能夠更舒適的查看信息,增強用戶體驗;同時在完成這些交互的時候不會破壞現(xiàn)有界面結(jié)構(gòu),不增加運行資源消耗與實現(xiàn)難度。
此外,根據(jù)本發(fā)明的一些實施方式,通過將所述旋轉(zhuǎn)的控件同側(cè)之后的其他控件同時向所述用戶頭部方向浮出等方式,使得即使在極端情況下也不會造成對附近其它控件的遮擋。
本領域技術(shù)人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應當理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。