本申請涉及計算機應用領(lǐng)域,尤其涉及一種基于虛擬現(xiàn)實的交互方法及裝置。
背景技術(shù):
vr(virtualreality,虛擬現(xiàn)實)技術(shù),是一種綜合利用計算機圖形系統(tǒng)和各種控制接口,在計算機上生成可交互的三維交互環(huán)境,面向用戶提供沉浸感的技術(shù)。
為了提升用戶與虛擬現(xiàn)實場景之間的交互性,在虛擬現(xiàn)實場景中通常會面向用戶提供豐富的可操作的虛擬元件(比如虛擬按鍵)。用戶可以在虛擬場景中,通過選中場景中提供的這些可操作元素,來觸發(fā)相應的操作,與虛擬現(xiàn)實場景進行交互。
技術(shù)實現(xiàn)要素:
本申請?zhí)岢鲆环N基于虛擬現(xiàn)實的交互方法,應用于虛擬現(xiàn)實客戶端,所述虛擬現(xiàn)實客戶端輸出的虛擬現(xiàn)實場景中包括預設(shè)的虛擬元件,所述方法包括:
跟蹤虛擬現(xiàn)實場景中的操作焦點的位移,并生成對應的位移軌跡;
確定是否檢測到由所述位移軌跡經(jīng)過所述虛擬元件所在位置區(qū)域所觸發(fā)的選中事件;
如果檢測到所述選中事件,則選中所述虛擬元件,并觸發(fā)與所述虛擬元件對應的操作。
本申請還提出一種基于虛擬現(xiàn)實的交互裝置,應用于虛擬現(xiàn)實客戶端,所述虛擬現(xiàn)實客戶端輸出的虛擬現(xiàn)實場景中包括預設(shè)的虛擬元件,所述裝置包括:
跟蹤模塊,跟蹤虛擬現(xiàn)實場景中的操作焦點的位移,并生成對應的位移軌跡;
確定模塊,確定是否檢測到由所述位移軌跡經(jīng)過所述虛擬元件所在位置區(qū)域所觸發(fā)的選中事件;
選中模塊,如果檢測到所述選中事件,則選中所述虛擬元件,并觸發(fā)與所述虛擬元件對應的操作。
本申請中,通過跟蹤虛擬現(xiàn)實場景中的操作焦點的位移,生成對應的位移軌跡,并確定是否檢測到由所述位移軌跡經(jīng)過所述虛擬元件所在位置區(qū)域所觸發(fā)的選中事件;如果檢測到所述選中事件,則選中所述虛擬元件,并觸發(fā)與所述虛擬元件對應的操作;實現(xiàn)了用戶在佩戴虛擬現(xiàn)實終端進行沉浸體驗時,可以通過控制操作焦點的位移軌跡經(jīng)過虛擬元件所在位置區(qū)域,來觸發(fā)針對該虛擬元件的選中事件,從而可以在虛擬現(xiàn)實場景中更加快捷的選中虛擬元件,提升了在選中虛擬元件時的實時性,可以增強用戶在虛擬現(xiàn)實場景中的交互體驗。
附圖說明
圖1是本申請一實施例示出的基于vr場景的交互方法的流程圖;
圖2是本申請一實施例示出的一種在虛擬元件所在位置區(qū)域中劃分目標區(qū)域的示意圖;
圖3是本申請一實施例示出的一種通過操作焦點的位移軌跡選中虛擬元件的示意圖;
圖4是本申請一實施例示出的另一種通過操作焦點的位移軌跡選中虛擬元件的示意圖;
圖5是本申請一實施例示出的另一種通過操作焦點的位移軌跡選中虛擬元件的示意圖;
圖6是本申請一實施例示出的另一種通過操作焦點的位移軌跡選中虛擬元件的示意圖;
圖7是本申請一實施例示出的一種通過頭部姿態(tài)控制操作焦點的位移軌跡選中虛擬交互按鈕的示意圖;
圖8是本申請一實施例示出的另一種通過頭部姿態(tài)控制操作焦點的位移軌跡選中虛擬按鍵的示意圖;
圖9是本申請一實施例提供的一種基于vr場景的交互裝置的邏輯框圖;
圖10是本申請一實施例提供的承載所述一種基于vr場景的交互裝置的vr客戶端所涉及的硬件結(jié)構(gòu)圖。
具體實施方式
在相關(guān)技術(shù)中,用戶在佩戴vr終端進行沉浸體驗時,如果需要選中vr場景中的虛擬元件(比如虛擬按鍵),與vr場景執(zhí)行交互,目前主要通過以下兩種方案來實現(xiàn):
在第一種方案中,用戶可以通過與vr終端搭配使用的外接設(shè)備,來選中vr場景中的虛擬元件。
其中,與vr終端搭配使用的外接設(shè)備,可以是手柄,操縱桿或者其它類似的手持控制設(shè)備。用戶在佩戴vr終端設(shè)備時,可以通過操縱外接設(shè)備,來控制虛擬現(xiàn)實場景畫面中的操作焦點(即畫面中的光標)的位置,將操作焦點移動到需要選中的元素上,然后通過click外接設(shè)備上提供的選中按鈕,在場景中選中該元素。
在第二種方案中,可以通過操作焦點在虛擬元件上“懸停超時”事件,來模擬click(點擊)事件,選中vr場景中的虛擬元件。
在這種方案中,vr終端設(shè)備可以不搭配外接設(shè)備。
在實現(xiàn)時,可以預先為vr場景中的虛擬元件設(shè)置一個超時時長(比如3秒);當操作焦點懸停在某一個虛擬元件上的時長,達到該超時時長,則可以立即選中該目標元素。用戶可以通過手部或者頭部姿態(tài)控制視覺焦點的移動,將畫面中的操作焦點移動到需要選中的虛擬元件上,同時保持懸停。vr終端設(shè)備可以在后臺啟動定時器,開始計時,一旦懸停時間達到設(shè)定的超時時長,可以立即觸發(fā)選中該虛擬元件。
對于以上示出的第一種方案,用戶在需要選中vr場景中的虛擬元件時,vr終端設(shè)備需要搭配外接設(shè)備,不僅操作上不便利,而且會增加硬件成本。
對于以上示出的第二種方案,雖然vr終端不需要搭配外接設(shè)備,但用戶在通過“懸停超時”選中vr場景中的虛擬元件時,需要等待懸停時間超時;對用戶而言需要等待一段時間后,才能選中這個元素,因而實時性較差,用戶體驗不好。
有鑒于此,本申請?zhí)岢鲆环N基于虛擬現(xiàn)實的交互方法,通過跟蹤虛擬現(xiàn)實場景中的操作焦點的位移,生成對應的位移軌跡,并確定是否檢測到由所述位移軌跡經(jīng)過所述虛擬元件所在位置區(qū)域所觸發(fā)的選中事件;如果檢測到所述選中事件,則選中所述虛擬元件,并觸發(fā)與所述虛擬元件對應的操作;實現(xiàn)了用戶在佩戴虛擬現(xiàn)實終端進行沉浸體驗時,可以通過控制操作焦點的位移軌跡經(jīng)過虛擬元件所在位置區(qū)域,來觸發(fā)針對該虛擬元件的選中事件,從而可以在vr場景中更加快捷的選中虛擬元件,提升了在選中虛擬元件時的實時性,可以增強用戶在虛擬現(xiàn)實場景中的交互體驗。
下面通過具體實施例并結(jié)合具體的應用場景對本申請進行描述。
請參考圖1,圖1是本申請一實施例提供的一種基于虛擬現(xiàn)實的交互方法,應用于vr客戶端,所述vr客戶端輸出的vr場景中包括預設(shè)的虛擬元件,所述方法執(zhí)行以下步驟:
步驟101,跟蹤虛擬現(xiàn)實場景中的操作焦點的位移,并生成對應的位移軌跡;
步驟102,確定是否檢測到由所述位移軌跡經(jīng)過所述虛擬元件所在位置區(qū)域所觸發(fā)的選中事件;
步驟103,如果檢測到所述選中事件,則選中所述虛擬元件,并觸發(fā)與所述虛擬元件對應的操作。
上述vr客戶端,是指基于vr技術(shù)開發(fā)的可以面向用戶提供三維沉浸體驗的客戶端軟件;比如,基于vr的app;上述vr客戶端,可以將開發(fā)人員開發(fā)出的虛擬現(xiàn)實場景模型,通過與vr客戶端對接的vr終端,向用戶輸出,從而使得佩戴vr終端的用戶,能夠在虛擬現(xiàn)實場景中得到三維沉浸體驗。
上述虛擬元件,可以是指在vr場景中輸出的虛擬交互元件;比如,可以是用于在vr場景中執(zhí)行信息輸入的虛擬按鍵,也可以是用于在vr場景中觸發(fā)相應操作的虛擬交互按鈕;
例如,在實際應用中,假設(shè)用戶需要在vr場景中完成快捷支付業(yè)務時,上述虛擬元件可以是vr場景中的一個預設(shè)的支付按鈕;用戶可以通過在vr場景中針對虛擬元件執(zhí)行特定的交互操作,選中該支付按鈕,來觸發(fā)相應的快捷支付業(yè)務。
當用戶觸發(fā)了支付業(yè)務后,還可以在vr場景中輸出一個三維輸入界面,此時上述虛擬元件可以是該三維輸入界面中包含的虛擬按鍵,用戶可以通過在該三維輸入界面中執(zhí)行特定的交互操作,選中該三維輸入界面中的虛擬按鍵,來完成支付密碼的輸入完成支付。
上述虛擬元件所在位置區(qū)域,是指上述虛擬元件在vr場景中對應的有效交互區(qū)域;即用戶需要在該虛擬元件的有效交互區(qū)域中執(zhí)行特定的交互操作,才能與該虛擬元件進行交互;在實際應用中,該有效交互區(qū)域通常與該虛擬元件實際的面積區(qū)域相對應;
例如,假設(shè)上述虛擬元件為外形為長方形的一虛擬按鈕,此時該長方形在vr場景中對應的面積區(qū)域,即為該虛擬按鈕的有效交互區(qū)域,用戶可以在該長方體對應的面積區(qū)域中,執(zhí)行特定的交互操作,來與該虛擬按鈕進行交互。
在本例中,為了使用戶在在佩戴vr終端進行沉浸體驗時,能夠在vr場景中快捷的選中vr場景中輸出的虛擬元件,用戶在vr終端進行沉浸體驗時,可以通過控制操作焦點的位移軌跡經(jīng)過上述虛擬元件所在位置區(qū)域,來觸發(fā)針對該虛擬元件的選中事件,從而可以在vr場景中更加快捷的選中虛擬元件,提升在選中虛擬元件時的實時性。
以下通過vr場景模型創(chuàng)建,操作焦點的位移跟蹤,虛擬元件的選中三個階段,對本申請的技術(shù)方案進行詳細描述。
1)vr場景模型創(chuàng)建
在本例中,開發(fā)人員可以通過特定的建模工具,完成vr場景模型的創(chuàng)建。上述建模工具,在本例中不進行特別的限定;例如,開發(fā)人員可以使用諸如unity、3dsmax、photoshop等較為成熟的建模工具完成vr場景模型的創(chuàng)建。
其中,開發(fā)人員在通過建模工具創(chuàng)建vr場景模型的過程中,該vr場景模型,以及該vr場景的紋理貼圖,都可來源于現(xiàn)實生活中的真實場景;例如,可以事先通過攝像,采集材質(zhì)紋理貼圖,和真實場景的平面模型,然后通過photoshop或3dmax等建模工具,來處理紋理和構(gòu)建真實場景的三維模型,然后導入到unity3d平臺(簡稱u3d),在u3d平臺中通過音效、圖形界面、插件、燈光等多個維度進行畫面渲染,然后編寫交互代碼,最后完成vr場景模型的建模。
在本例中,開發(fā)人員除了需要創(chuàng)建vr場景模型以外,為了使用戶能夠在vr場景中更好的完成交互,還可以通過上述建模工具,在上述vr場景模型中,創(chuàng)建若干虛擬元件。
其中,在示出的一種實施方式中,創(chuàng)建的上述虛擬元件,可以包括用于在vr場景中執(zhí)行信息輸入的虛擬按鍵。
在這種情況下,上述虛擬元件可以是vr場景中輸出的三維輸入界面中的虛擬按鍵。此時,開發(fā)人員除了需要創(chuàng)建vr場景模型以外,還可以通過上述建模工具,在上述vr場景模型中,創(chuàng)建一個用于在vr場景中進行信息輸入的三維輸入界面,在該三維輸入界面中可以包括若干用于進行信息輸入的虛擬按鍵。
例如,上述三維輸入界面,可以是一個三維虛擬鍵盤,上述虛擬元件則可以是該三維虛擬鍵盤中包含的若干虛擬按鍵,用戶在佩戴vr終端進行沉浸體驗時,可以通過這些三維虛擬鍵盤,在vr場景中快速的完成諸如密碼等信息的輸入。
其中,上述三維輸入界面的具體形態(tài),在本例中不進行特別限定;在實際應用中,可以基于用戶體驗進行個性化定制。
在示出的另一種實施方式中,創(chuàng)建的上述虛擬元件,也可以包括用于在vr場景中觸發(fā)相應操作的虛擬交互按鈕。
在這種情況下,開發(fā)人員除了需要創(chuàng)建vr場景模型以外,還可以通過上述建模工具,在上述vr場景模型中,創(chuàng)建若干虛擬交互按鈕。用戶在佩戴vr終端在vr場景中進行沉浸體驗時,可以通過特定的交互操作來選中該虛擬交互按鈕,來觸發(fā)相應的操作;
例如,在基于vr場景的快捷支付場景中,上述虛擬交互按鈕可以是一個支付按鈕,用戶可以在vr場景中通過特定的交互操作,來選中該支付按鈕,進而觸發(fā)在vr場景中執(zhí)行快捷支付的流程。
在本例中,當開發(fā)人員完成vr場景模型,以及上述虛擬元件的建模后,上述vr客戶端可以將上述vr場景模型以及上述虛擬元件,通過與上述vr客戶端對接的vr終端(比如vr頭盔),向用戶輸出。
2)操作焦點的位移跟蹤
在本例中,在vr客戶端輸出的vr場景中,可以默認在用戶視野中顯示一個操作焦點(也稱之為視覺焦點)。用戶在佩戴vr終端在vr場景中進行沉浸體驗的過程中,可以通過頭部或者手部的姿態(tài)來控制vr場景中的操作焦點的位移,與vr場景進行交互。
vr客戶端可以通過vr終端搭載的傳感硬件,來跟蹤用戶的頭部或者手部的位移,由傳感硬件來實時的采集用戶在佩戴vr終端時頭部或者手部的位移數(shù)據(jù)。
其中,上述傳感硬件,在實際應用中可以包括角速度傳感器,加速度傳感器,重力傳感器,等等。
上述傳感硬件在采集到用戶的頭部或者手部的位移數(shù)據(jù)后,可以實時的將采集到的位移數(shù)據(jù)回傳給vr客戶端,vr客戶端在接收到傳感硬件回傳的位移數(shù)據(jù)后,可以根據(jù)該位移數(shù)據(jù),來控制vr場景中輸出的操作焦點同步的進行位移。
例如,在實現(xiàn)時,vr終端可以基于接收到的位移數(shù)據(jù),計算用戶的頭部和手部相對于vr場景中的x軸和y軸的偏移量,然后基于計算出的偏移量來實時的控制操作焦點的位移。
在本例中,除了可以通過vr終端搭載的傳感硬件,跟蹤用戶的頭部或者手部的位移,控制操作焦點同步的進行位移以外,vr客戶端還可以在控制操作焦點與用戶的頭部和手部同步的進行位移的過程中,實時的跟蹤該操作焦點的位移,并實時的記錄操作焦點在vr場景中的坐標位置,然后根據(jù)實時記錄的該操作焦點的坐標位置,來生成操作焦點在vr場景中的位移軌跡。
3)虛擬元件的選中
在本例中,用戶可以通過控制該操作焦點的位移軌跡經(jīng)過vr場景中任一虛擬元件所在位置區(qū)域,來觸發(fā)選中該虛擬元件。而vr客戶端在生成操作焦點在vr場景中的位移軌跡后,可以實時檢測該位移軌跡是否經(jīng)過vr場景中輸出的虛擬元件所在的位置區(qū)域。當檢測到操作焦點的位移軌跡經(jīng)過vr場景中輸出的任一虛擬元件所在的位置區(qū)域時,可以立即觸發(fā)針對該虛擬元件的選中事件,進而選中該虛擬元件。
其中,操作焦點的位移軌跡經(jīng)過任一虛擬元件所在的位置區(qū)域,是指該操作焦點的位移軌跡,與該虛擬元件所在的位置區(qū)域,至少存在兩個交點;
例如,在示出的一種實現(xiàn)方式中,當上述虛擬元件為vr場景中輸出的一形狀為長方形的虛擬交互按鈕時,此時用戶控制操作焦點的位移軌跡,在任意方向上穿過該虛擬交互按鈕所在的長方形區(qū)域,并形成兩個焦點,則可以判定該操作焦點的位移軌跡經(jīng)過該虛擬交互按鈕。
在本例中,用戶可以通過控制操作焦點的位移軌跡,經(jīng)過vr場景中任一虛擬元件所在的位置區(qū)域,來觸發(fā)選中該虛擬元件。
其中,用戶在通過控制操作焦點的位移軌跡,經(jīng)過vr場景中任一虛擬元件所在的位置區(qū)域,來觸發(fā)選中該虛擬元件的具體方式,可以包括如下示出的兩種實現(xiàn)方式:
在示出的一種實施方式中,為了避免用戶在vr場景中進行交互時,由于操作焦點的位移軌跡經(jīng)過虛擬元件所在的位置區(qū)域而造成的誤操作,確保操作焦點在vr場景中的停留精準度,vr場景輸出的各虛擬元件所在的位置區(qū)域中,可以預先劃分出一個目標區(qū)域。
其中,該目標區(qū)域可以是虛擬元件所在的位置區(qū)域的子集,用于判定用戶控制操作焦點的位移軌跡是否有效的經(jīng)過該虛擬元件所在的位置區(qū)域。
在這種情況下,用戶在通過控制操作焦點的位移軌跡經(jīng)過虛擬元件所在位置區(qū)域,來觸發(fā)選中該虛擬元件時,需要控制操作焦點的位移軌跡,經(jīng)過該虛擬元件所在位置區(qū)域中劃分出的上述目標區(qū)域;即,用戶只有在控制操作焦點的位移軌跡經(jīng)過上述目標區(qū)域時,本次通過操作焦點的位移軌跡經(jīng)過上述虛擬元件所在的位置區(qū)域的操作,才會被判定為有效。
vr客戶端可以在系統(tǒng)中記錄vr場景上述目標區(qū)域的位置,當vr客戶端生成上述操作焦點的位移軌跡后,如果該操作焦點的位移軌跡經(jīng)過了vr場景中輸出的任一虛擬元件所在的位置區(qū)域中,預先劃分出的上述目標區(qū)域時,此時可以判定該位移軌跡經(jīng)過該虛擬元件所在位置區(qū)域的操作有效,并立即觸發(fā)針對該虛擬元件的選中事件。vr客戶端在確定檢測到針對該虛擬元件的選中事件后,可以響應于該選中事件,立即選中該虛擬元件,并觸發(fā)與該虛擬元件對應的操作。
其中,需要說明的是,上述目標區(qū)域的形狀、面積大小、在上述虛擬元件所在位置區(qū)域中的相對位置,在本例中不進行特別限定,在實際應用中,本領(lǐng)域技術(shù)人員可以基于實際的需求進行自主設(shè)備;
例如,請參見圖2,假設(shè)上述虛擬元件為vr場景中輸出的一長方形的虛擬按鈕,可以將該虛擬按鈕所在的長方形的位置區(qū)域中,靠近中間的狹長區(qū)域(即圖2中示出的①②之間的狹長區(qū)域),劃分為上述目標區(qū)域。只有操作焦點的位移軌跡完全經(jīng)過該目標區(qū)域,本次通過操作焦點的位移軌跡經(jīng)過上述虛擬按鈕所在的位置區(qū)域的操作,才會被判定為有效。
可見,通過在虛擬元件所在的位置區(qū)域中劃分目標區(qū)域,可以避免由于用戶誤操作,使得操作焦點的位移軌跡,僅部分經(jīng)過該虛擬元件所在的位置區(qū)域,而錯誤的觸發(fā)了針對該虛擬元件的選中操作。
在本例中,為了進一步提升用戶通過控制操作焦點的位移軌跡,來選中vr場景中輸出的虛擬元件的精準度,降低發(fā)生誤操作的概率,在實際應用中,除了以上示出的只有操作焦點的位移軌跡,經(jīng)過上述虛擬元件所在位置區(qū)域中預先劃分出的目標區(qū)域時,才會觸發(fā)針對該虛擬元件的選中事件的基礎(chǔ)上,可以進一步引入操作焦點的位移軌跡需要多次經(jīng)過上述目標區(qū)域,才會有效觸發(fā)針對該虛擬元件的機制。
在這種情況下,當vr客戶端生成上述操作焦點的位移軌跡后,如果該操作焦點的位移軌跡在第一方向上,經(jīng)過了vr場景中輸出的任一虛擬元件所在的位置區(qū)域中,預先劃分出的上述目標區(qū)域時,此時可以不立即觸發(fā)針對該虛擬元件的選中事件;當該操作焦點的位移軌跡在第二方向上,再次經(jīng)過了該虛擬元件所在的位置區(qū)域中,預先劃分出的上述目標區(qū)域時,再觸發(fā)針對該虛擬元件的選中事件。
其中,在示出的一種優(yōu)選方式中,上述第一方向和第二方向可以是兩個完全相對的方向;
例如,請參見圖3,假設(shè)上述虛擬元件為vr場景中輸出的虛擬鍵盤中的虛擬按鍵,圖3中示出的①②之間的狹長區(qū)域,為預先在各虛擬按鍵所在的位置區(qū)域中劃分出的目標區(qū)域。假設(shè)用戶在vr場景中進行交互的過程中,需要選中圖3中示出的虛擬按鍵a,那么用戶可以通過控制操作焦點的位移軌跡,從垂直于上述目標區(qū)域的方向上,向下經(jīng)過上述目標區(qū)域;當完全經(jīng)過上述目標區(qū)域后,再從垂直與上述目標區(qū)域的方向上,向上經(jīng)過上述目標區(qū)域,來選中該虛擬按鍵a。通過這種方式,用戶可以通過頭部或者手部姿態(tài),控制操作焦點在虛擬按鍵a上劃過一個‘√’來選中該虛擬按鍵a,在系統(tǒng)中輸入一個字符a。
當然,在實際應用中,上述第一方向和第二方向也可以是相同的方向。
例如,請參見圖4,假設(shè)上述虛擬元件為vr場景中輸出的虛擬鍵盤中的虛擬按鍵,圖4中示出的①②之間的狹長區(qū)域,為預先在各虛擬按鍵所在的位置區(qū)域中劃分出的目標區(qū)域。假設(shè)用戶在vr場景中進行交互的過程中,需要選中圖4中示出的虛擬按鍵a,那么用戶可以通過控制操作焦點的位移軌跡,從垂直于上述目標區(qū)域的方向上,向下經(jīng)過上述目標區(qū)域;當完全經(jīng)過上述目標區(qū)域后,用戶可以將上述操作焦點,重新定位到上述目標區(qū)域的上方,然后再從垂直與上述目標區(qū)域的方向上,再次向下經(jīng)過上述目標區(qū)域,來選中該虛擬按鍵a,在系統(tǒng)中輸入一個字符a。
其中,為了提升用戶與vr場景之間的交互效率,進一步降低誤操作的概率,在實際應用中,還可以在以上示出的操作焦點的位移軌跡需要多次經(jīng)過上述目標區(qū)域,才會有效觸發(fā)針對該虛擬元件的機制的基礎(chǔ)上,進一步引入一個用戶在通過控制操作焦點的位移軌跡,多次經(jīng)過上述目標區(qū)域的有效操作時長,只有用戶在有效操作時長之內(nèi),完成了控制操作焦點的位移軌跡多次經(jīng)過上述目標區(qū)域的操作,才能夠成功觸發(fā)針對該虛擬元件的選中事件。
在這種情況下,vr客戶端可以在后臺啟用一個計時器。當用戶通過控制操作焦點的位移軌跡,進入任一虛擬元件所在的位置區(qū)域時,可以立即開始計時,當vr客戶端檢測到該位移軌跡在第一方向上經(jīng)過所述目標區(qū)域,并且在第二方向上再次經(jīng)過所述目標區(qū)域時,可以停止計時,并讀取該計時器的計時時長,將該計時時長與預設(shè)的上述有效操作時長進行比較;如果該計時時長小于或者等于該預設(shè)的有效操作時長(比如2秒),則可以立即觸發(fā)針對該虛擬元件的選中事件;反之,如果該計時時長大于該預設(shè)的有效操作時長,此時很可能是用戶的無意操作,在這種情況下,vr客戶端可以不做任何響應。
可見,通過這種方式,使得用戶只有在預設(shè)時長內(nèi),控制操作焦點的位移軌跡按照預設(shè)的軌跡經(jīng)過虛擬元件所在的位置區(qū)域,才能夠成功的觸發(fā)針對該虛擬元件的選中事件,從而即可以提升用戶與vr場景之間的交互效率,更快捷的選中該虛擬元件,又可以降低用戶誤操作的概率。
在示出的另外一種實施方式中,除了以上示出的通過控制操作焦點的位移軌跡經(jīng)過虛擬元件所在位置區(qū)域,來觸發(fā)選中該虛擬元件以外,在實際應用中,也可以基于操作焦點的位移軌跡經(jīng)過上述虛擬元件所在的位置區(qū)域時,所形成的子區(qū)域的面積是否達到預設(shè)占比,來觸發(fā)選中該虛擬元件。
在一種實現(xiàn)方式中,在虛擬元件所在位置區(qū)域中,仍然可以預先劃分上述目標區(qū)域。在這種情況下,用戶可以通過控制操作焦點的位移軌跡,在經(jīng)過該虛擬元件所在位置區(qū)域中的該目標區(qū)域時,形成一個子區(qū)域;其中,該子區(qū)域的形狀不進行特別限定;當形成該子區(qū)域后,vr客戶端可以實時計算該子區(qū)域的面積,對應于該目標區(qū)域的面積的目標比例,然后判斷計算出的該目標比例是否達到預設(shè)閾值;
如果該目標比例達到該預設(shè)閾值,此時可以立即觸發(fā)針對該虛擬元件的選中事件;當vr客戶端確定檢測到觸發(fā)的該選中事件后,可以立即選中該虛擬元件。當然,如果該目標比例未達到該預設(shè)閾值,此時vr客戶端可以不進行任何響應。
例如,請參見圖5,假設(shè)上述虛擬元件為vr場景中輸出的虛擬鍵盤中的虛擬按鍵,圖5中示出的圓形區(qū)域①為預先在上述虛擬按鍵a所在的位置區(qū)域中劃分出的目標區(qū)域。假設(shè)用戶在vr場景中進行交互的過程中,需要選中圖5中示出的虛擬按鍵a,那么用戶可以通過控制操作焦點的位移軌跡,在經(jīng)過上述虛擬按鍵a所在的位置區(qū)域時,在圖5示出的圓形區(qū)域①中,畫出一個圓形子區(qū)域②。此時vr客戶端可以在后臺計算該圓形區(qū)域①和圓形子區(qū)域②的面積,并計算圓形子區(qū)域②的面積,對應于圓形區(qū)域①的面積的比例;如果vr客戶端計算出圓形子區(qū)域②的面積,對應于圓形區(qū)域①的面積的比例達到預設(shè)閾值,可以立即觸發(fā)針對該虛擬按鍵a的選中事件,選中該虛擬按鍵a,在系統(tǒng)中輸入一個字符a。
當然,在實際應用中,當用戶按照以上示出的通過操作焦點的位移軌跡在經(jīng)過虛擬元件所在的位置區(qū)域時,所形成的子區(qū)域的面積占比,來觸發(fā)選中虛擬元件時,在虛擬元件所在位置區(qū)域中,也可以不劃分出上述目標區(qū)域。
在這種情況下,用戶可以通過控制操作焦點的位移軌跡,在經(jīng)過該虛擬元件所在位置區(qū)域時形成一個子區(qū)域;當形成該子區(qū)域后,vr客戶端可以實時計算該子區(qū)域的面積,對應于該虛擬元件所在位置區(qū)域的總面積的目標比例,然后判斷計算出的該目標比例是否達到預設(shè)閾值;如果該目標比例達到該預設(shè)閾值,此時可以立即觸發(fā)針對該虛擬元件的選中事件。
例如,請參見圖6,假設(shè)上述虛擬元件為vr場景中輸出的虛擬鍵盤中的虛擬按鍵。假設(shè)用戶在vr場景中進行交互的過程中,需要選中圖5中示出的虛擬按鍵a,那么用戶可以通過控制操作焦點的位移軌跡,在經(jīng)過上述虛擬按鍵a所在的位置區(qū)域時,在圖5示出的虛擬按鍵a所在的位置區(qū)域①中,畫出一個圓形子區(qū)域②。此時vr客戶端可以在后臺計算該虛擬元件所在位置區(qū)域①的總面積和該圓形子區(qū)域②的面積,并計算圓形子區(qū)域②的面積,對應于該虛擬元件所在位置區(qū)域①的總面積的比例;如果vr客戶端計算出圓形子區(qū)域①的面積,對應于該虛擬元件所在位置區(qū)域的總面積的比例達到預設(shè)閾值,可以立即觸發(fā)針對該虛擬按鍵a的選中事件,選中該虛擬按鍵a,在系統(tǒng)中輸入一個字符a。
以上分別詳細地描述了,用戶通過控制操作焦點的位移軌跡,經(jīng)過vr場景中任一虛擬元件所在的位置區(qū)域,來觸發(fā)選中該虛擬元件;以及,用戶通過控制操作焦點的位移軌跡,經(jīng)過vr場景中任一虛擬元件所在的位置區(qū)域時所形成的子區(qū)域的面積占比,來觸發(fā)選中該虛擬元件的具體實現(xiàn)過程。需要強調(diào)的是,以上示出的觸發(fā)選中虛擬元件的實施方式,在實際應用中可以進行相互結(jié)合,具體實現(xiàn)過程在本例中不再進行詳述。
另外,以上詳細描述了用戶通過控制操作焦點的位移軌跡經(jīng)過虛擬元件所在位置區(qū)域,來觸發(fā)針對該虛擬元件的選中事件的詳細實現(xiàn)過程。在實際應用中,除了可以通過控制操作焦點的位移軌跡經(jīng)過虛擬元件所在位置區(qū)域,來觸發(fā)針對該虛擬元件的選中操作以外,也可以支持通過控制操作焦點的位移軌跡經(jīng)過虛擬元件所在位置區(qū)域,來觸發(fā)針對該虛擬元件的其它形式的操作;例如,針對該虛擬元件的取消操作、暫停操作、下一步操作、上一步操作,等等;在本例中不再進行一一列舉。
以下結(jié)合用戶在佩戴頭戴式vr終端進行vr購物體驗時,在vr場景中輸入支付密碼完成商品支付的應用場景為例,對本申請的技術(shù)方案進行描述。
當然,需要說明的是,上述示出的應用場景僅為示例性的,并不用于限定;顯然,在實際應用中本申請的技術(shù)方案,也可以應用在其它類似的基于vr場景的應用場景。
在本例中,用戶在佩戴vr終端進行vr購物體驗時,在vr場景中可以向用戶呈現(xiàn)若干可供選擇的商品,用戶可以通過查看vr場景中提供的商品列表,來選擇自己喜歡的商品進行購買。
上述vr場景中除了可以向用戶提供商品列表外,在每一個商品對應的位置上還可以提供一個“購買/支付”的虛擬交互按鈕(即上述虛擬元件)。
請參見圖7,當用戶在上述商品列表中,選擇了一件滿意的商品后,用戶可以通過頭部姿態(tài)控制操作焦點的位移軌跡,在第一方向(圖7中示出的為向下)上經(jīng)過該“購買/支付”按鈕所在的位置區(qū)域中預先劃分出的目標區(qū)域(圖7中示出的①②之間的狹長區(qū)域),然后在與第一方向相對的第二方向(圖7中示出的為向上),再次經(jīng)過該目標區(qū)域,來選中并觸發(fā)該“購買/支付”按鈕。即,用戶可以通過頭部姿態(tài)控制操作焦點,在該“購買/支付”按鈕所在的位置區(qū)域上劃分出的上述目標區(qū)域上,劃出一個‘√’來選中并觸發(fā)該虛擬交互按鈕。
請參見圖8,當該“購買/支付”按鈕被觸發(fā)后,vr客戶端可以在vr場景中輸出一個“三維虛擬鍵盤”。此時用戶可以采用相同的方式,通過頭部姿態(tài)控制操作焦點的位移軌跡,來選中該“三維虛擬鍵盤”中相應的虛擬按鍵。當該“虛擬鍵盤”中相應的虛擬按鍵被選中后,vr客戶端可以在后臺獲取該被選中的虛擬按鍵所指示的字符,完成字符的輸入。
以此類推,用戶可以通過重復以上操作,按順序選中上述“虛擬鍵盤”中的多個“虛擬按鍵”,來完成支付密碼的輸入。當支付密碼輸入完成,并且輸入的支付密碼由相應的支付服務器驗證通過后,此時商品購買完成。
通過以上實施例可知,本申請通過跟蹤虛擬現(xiàn)實場景中的操作焦點的位移,生成對應的位移軌跡,并確定是否檢測到由所述位移軌跡經(jīng)過所述虛擬元件所在位置區(qū)域所觸發(fā)的選中事件;如果檢測到所述選中事件,則選中所述虛擬元件,并觸發(fā)與所述虛擬元件對應的操作;實現(xiàn)了用戶在佩戴虛擬現(xiàn)實終端進行沉浸體驗時,可以通過控制操作焦點的位移軌跡經(jīng)過虛擬元件所在位置區(qū)域,來觸發(fā)針對該虛擬元件的選中事件,從而可以在虛擬現(xiàn)實場景中更加快捷的選中虛擬元件,提升了在選中虛擬元件時的實時性,可以增強用戶在虛擬現(xiàn)實場景中的交互體驗。
與上述方法實施例相對應,本申請還提供了裝置的實施例。
請參見圖9,本申請?zhí)岢鲆环N基于vr場景的交互裝置90,應用于虛擬現(xiàn)實客戶端,所述虛擬現(xiàn)實客戶端輸出的虛擬現(xiàn)實場景中包括預設(shè)的虛擬元件
請參見圖10,為承載所述基于vr場景的交互裝置90的虛擬現(xiàn)實客戶端所涉及的硬件架構(gòu)中,通常包括cpu、內(nèi)存、非易失性存儲器、網(wǎng)絡(luò)接口以及內(nèi)部總線等;以軟件實現(xiàn)為例,所述基于vr場景的交互裝置90通??梢岳斫鉃榧虞d在內(nèi)存中的計算機程序,通過cpu運行之后形成的軟硬件相結(jié)合的邏輯裝置,所述裝置90包括:
跟蹤模塊901,跟蹤虛擬現(xiàn)實場景中的操作焦點的位移,并生成對應的位移軌跡;
確定模塊902,確定是否檢測到由所述位移軌跡經(jīng)過所述虛擬元件所在位置區(qū)域所觸發(fā)的選中事件;
選中模塊903,如果檢測到所述選中事件,則選中所述虛擬元件,并觸發(fā)與所述虛擬元件對應的操作。
在本例中,所述跟蹤模塊901:
通過預設(shè)的傳感硬件跟蹤用戶的頭部或者手部位移;
獲取所述傳感硬件采集到的所述用戶的頭部或者手部的位移數(shù)據(jù);
基于所述頭部或者手部的位移數(shù)據(jù)控制所述操作焦點在所述虛擬現(xiàn)實場景中同步的進行位移。
在本例中,所述虛擬元件所在位置區(qū)域中包括預設(shè)的目標區(qū)域;
所述確定模塊902:
判斷所述位移軌跡是否經(jīng)過所述虛擬元件所在位置區(qū)域中預設(shè)的所述目標區(qū)域;如果所述位移軌跡經(jīng)過所述目標區(qū)域,則確定檢測到由所述位移軌跡經(jīng)過所述虛擬元件所在位置區(qū)域所觸發(fā)的選中事件。
在本例中,所述確定模塊902進一步:
如果所述位移軌跡在第一方向上經(jīng)過所述目標區(qū)域,并且在第二方向上再次經(jīng)過所述目標區(qū)域時,則確定檢測到所述選中事件。
在本例中,所述確定模塊進一步:
如果所述位移軌跡在預設(shè)時長內(nèi),在第一方向上經(jīng)過所述目標區(qū)域,并且在第二方向上再次經(jīng)過所述目標區(qū)域時,則確定檢測到所述選中事件。
在本例中,所述確定模塊902:
計算所述位移軌跡經(jīng)過所述虛擬元件所在位置區(qū)域所形成的子區(qū)域的面積,對應于所述虛擬元件所在位置區(qū)域的總面積的目標比例;或者,當所述虛擬元件所在位置區(qū)域中包括預設(shè)的目標區(qū)域時,計算所述位移軌跡經(jīng)過所述目標區(qū)域所形成的子區(qū)域的面積,對應于所述目標區(qū)域的面積的目標比例;
判斷所述目標比例是否達到預設(shè)閾值;如果所述目標比例達到所述預設(shè)閾值,則確定檢測到由所述位移軌跡經(jīng)過所述虛擬元件所在位置區(qū)域所觸發(fā)的選中事件。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本申請的其它實施方案。本申請旨在涵蓋本申請的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本申請的一般性原理并包括本申請未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本申請的真正范圍和精神由下面的權(quán)利要求指出。
應當理解的是,本申請并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本申請的范圍僅由所附的權(quán)利要求來限制。
以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內(nèi)。