本公開涉及虛擬現(xiàn)實技術(shù)領(lǐng)域,具體涉及一種基于虛擬現(xiàn)實的信息顯示方法、基于虛擬現(xiàn)實的信息顯示裝置以及包括該信息顯示裝置的虛擬現(xiàn)實系統(tǒng)。
背景技術(shù):
vr(virtualreality),即虛擬現(xiàn)實,具體是指綜合利用計算機圖形系統(tǒng)和各種現(xiàn)實及控制等接口設(shè)備,在計算機上生成的、可交互的三維環(huán)境中提供沉浸感覺的技術(shù)。當(dāng)前虛擬現(xiàn)實技術(shù)在游戲中得到廣泛的推廣和應(yīng)用,在射擊、解謎、角色扮演等游戲類型都有涉及。在vr游戲中,玩家一般通過vr鏡頭(例如htcvive等)探索虛擬現(xiàn)實環(huán)境中的場景并進行交互操作。這個時候就會遇到一個非常重要的ui設(shè)計問題,即如何向用戶提供某些物品的介紹,例如使用方式、效果等。
目前大部分的虛擬現(xiàn)實應(yīng)用利用vr頭盔作為顯示設(shè)備,其中一種常規(guī)的提示信息現(xiàn)實方法采用虛擬攝像機鏡頭對準的方式在虛擬現(xiàn)實場景中進行物品的點選,然后彈出提示框。參考圖1-圖3,其具體實現(xiàn)可以是:虛擬攝像機每幀虛擬一條從雙鏡頭的中心發(fā)射出的射線,射線會與設(shè)置有介紹信息的物體,即剛體發(fā)生碰撞。如圖2所示,當(dāng)這條虛擬射線與剛體發(fā)生碰撞,并在該剛體進入選中狀態(tài)后,在虛擬現(xiàn)實場景中該物體旁邊生成一平行于鏡頭的二維平面,然后在這個二維平面上顯示該物品的介紹信息。如圖3所示,當(dāng)虛擬攝像機鏡頭不再對準該物體時,介紹信息的平面就會關(guān)閉。這樣的介紹信息展示方式操作比較簡單,在虛擬現(xiàn)實場景中的代入感較強,但其確定也較明顯,例如:當(dāng)被選中的剛體距離虛擬攝像機鏡頭較遠時,相應(yīng)的該剛體顯示介紹信息的二維平面也會距離鏡頭比較遠,使得用戶不能比較清楚和容易的看清介紹信息,從而降低用戶體驗。
需要說明的是,在上述背景技術(shù)部分公開的信息僅用于加強對本公開的背景的理解,因此可以包括不構(gòu)成對本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
技術(shù)實現(xiàn)要素:
本公開的目的在于提供一種基于虛擬現(xiàn)實的信息顯示方法、基于虛擬現(xiàn)實的信息顯示裝置以及包括該信息顯示裝置的虛擬現(xiàn)實系統(tǒng),進而至少在一定程度上克服由于相關(guān)技術(shù)的限制和缺陷而導(dǎo)致的一個或者多個問題。
本公開的其他特性和優(yōu)點將通過下面的詳細描述變得顯然,或部分地通過本公開的實踐而習(xí)得。
根據(jù)本公開的第一方面,提供一種基于虛擬現(xiàn)實的信息顯示方法,包括:
呈現(xiàn)一近平面,所述近平面設(shè)置在一用于提供虛擬現(xiàn)實場景中一虛擬角色視野的虛擬攝像機的預(yù)設(shè)范圍內(nèi);
檢測所述虛擬現(xiàn)實場景中所述虛擬角色視線是否落在一虛擬對象上;
在檢測到所述虛擬角色視線落在一虛擬對象上后,結(jié)合所述虛擬角色視線落在一虛擬對象上的動作;
將所述被選中目標(biāo)的預(yù)設(shè)展示信息投影至所述近平面上。
在本公開的一種示例性實施例中,所述的結(jié)合所述虛擬角色視線落在一虛擬對象上的動作將所述虛擬對象作為被選中目標(biāo)還包括:
在檢測到所述虛擬角色的視線落在一虛擬對象上后,將所述虛擬對象作為待選中目標(biāo),并判斷是否接收到一第一確認信息;
在判斷接收到所述第一確認信息時,將所述待選中目標(biāo)作為被選中目標(biāo)。
在本公開的一種示例性實施例中,所述判斷是否接收到所述第一確認信息包括:
當(dāng)檢測到所述虛擬角色的視線落在所述待選中目標(biāo)上后,判斷所述虛擬角色視線在所述待選中目標(biāo)上的停留時間;并在所述停留時間達到預(yù)設(shè)時間時,判斷為接收到所述第一確認信息。
在本公開的一種示例性實施例中,所述信息顯示方法還包括:
在將所述待選中目標(biāo)作為被選中目標(biāo)后,為所述被選中目標(biāo)生成一圖標(biāo),將所述圖標(biāo)投影至所述近平面上;
檢測所述虛擬角色視線是否落在所述圖標(biāo)投影上;在判斷所述虛擬角色視線落在所述圖標(biāo)投影上時,檢測是否接收到一第二確認信息;
在判斷接收到所述第二確認信息時,將所述被選中目標(biāo)的預(yù)設(shè)展示信息投影至所述近平面上。
在本公開的一種示例性實施例中,所述判斷是否接收到一第二確認信息包括:
在判斷所述虛擬角色視線落在所述圖標(biāo)投影上時,判斷所述虛擬角色視線在所述待選中目標(biāo)上的停留時間;當(dāng)所述停留時間達到預(yù)設(shè)時間時時,判斷為接收到所述第二確認信息。
在本公開的一種示例性實施例中,所述信息顯示方法還包括:
在所述近平面上生成一用于包圍所述圖標(biāo)投影以及所述被選中目標(biāo)的最小包圍框,并檢測所述虛擬角色的視線是否落在所述最小包圍框上;
并在判斷所述虛擬角色的視線落在所述最小包圍框上時,將所述被選中目標(biāo)保持被選中狀態(tài)。
在本公開的一種示例性實施例中,所述信息顯示方法還包括:
在將所述圖標(biāo)投影至所述近平面之前,對所述圖標(biāo)進行自適應(yīng)縮放操作;
其中,所述圖標(biāo)為可設(shè)置透明度的平面圖標(biāo)。
在本公開的一種示例性實施例中,所述信息顯示方法還包括:
將所述被選中目標(biāo)的預(yù)設(shè)展示信息投影至所述近平面上后,檢測所述被選中目標(biāo)是否處于未選中狀態(tài);并在判斷所述被選中目標(biāo)處于未選中狀態(tài)時,停止投影所述選中目標(biāo)的預(yù)設(shè)展示信息。
在本公開的一種示例性實施例中,所述的檢測所述虛擬現(xiàn)實場景中所述虛擬角色視線是否落在一虛擬對象上包括:
檢測所述虛擬角色視線中心是否落在一虛擬對象的有效范圍內(nèi);
并在檢測所述虛擬角色視線中心點落在一虛擬對象的有效范圍內(nèi)時,觸發(fā)所述虛擬角色與所述虛擬對象的交互。
根據(jù)本公開的第二方面,提供一種基于虛擬現(xiàn)實的信息顯示裝置,包括:
近平面設(shè)置模塊,用于呈現(xiàn)一近平面,將所述近平面設(shè)置在一用于提供虛擬現(xiàn)實場景中一虛擬角色視野的虛擬攝像機的預(yù)設(shè)范圍內(nèi);
第一視線檢測模塊,用于檢測所述虛擬現(xiàn)實場景中所述虛擬角色視線是否落在一虛擬對象上;
目標(biāo)設(shè)置模塊,用于在檢測到所述虛擬角色視線落在一虛擬對象上后,結(jié)合所述虛擬角色視線落在一虛擬對象上的動作將所述虛擬對象作為被選中目標(biāo);
第一投影控制模塊,用于將所述被選中目標(biāo)的預(yù)設(shè)展示信息投影至所述近平面上。
在本公開的一種示例性實施例中,所述的目標(biāo)設(shè)置模塊包括:
第一確認信息判斷模塊,用于在檢測到所述虛擬角色的視線落在一虛擬對象上后,將所述虛擬對象作為待選中目標(biāo),并判斷是否接收到一第一確認信息;
被選中目標(biāo)設(shè)置模塊,用于在判斷接收到所述第一確認信息時,將所述待選中目標(biāo)作為被選中目標(biāo)。
在本公開的一種示例性實施例中,所述第一確認信息判斷模塊包括:
第一時間檢測模塊,用于當(dāng)檢測到所述虛擬角色的視線落在所述待選中目標(biāo)上后,判斷所述虛擬角色視線在所述待選中目標(biāo)上的停留時間;
第一確認信息接收模塊,用于在所述停留時間達到預(yù)設(shè)時間時,判斷為接收到所述第一確認信息。
在本公開的一種示例性實施例中,所述信息顯示裝置還包括:
圖標(biāo)生成模塊,用于在將所述待選中目標(biāo)作為被選中目標(biāo)后,為所述被選中目標(biāo)生成一圖標(biāo),將所述圖標(biāo)與所述被選中目標(biāo)投影至所述近平面上;
第二確認信息判斷模塊,用于檢測所述虛擬角色視線是否落在所述圖標(biāo)投影上;在判斷所述虛擬角色視線落在所述圖標(biāo)投影上時,檢測是否接收到一第二確認信息;
投影開始控制模塊,用于在判斷接收到所述第二確認信息時,將所述被選中目標(biāo)的預(yù)設(shè)展示信息投影至所述近平面上。
在本公開的一種示例性實施例中,所述第二確認信息判斷模塊包括:
第二時間檢測模塊,用于在判斷所述虛擬角色視線落在所述圖標(biāo)投影上時,判斷所述虛擬角色視線在所述待選中目標(biāo)上的停留時間;
第二確認信息接收模塊,用于當(dāng)所述停留時間達到預(yù)設(shè)時間時時,判斷為接收到所述第二確認信息。
在本公開的一種示例性實施例中,所述信息顯示裝置還包括:
包圍框生成模塊,用于在所述近平面上生成一用于包圍所述圖標(biāo)投影以及所述被選中目標(biāo)的最小包圍框;
第二視線檢測模塊,用于并檢測所述虛擬角色的視線是否落在所述最小包圍框上;
第一狀態(tài)判斷模塊,用于在判斷所述虛擬角色的視線落在所述最小包圍框上時,將所述被選中目標(biāo)保持被選中狀態(tài)。
在本公開的一種示例性實施例中,所述信息顯示裝置還包括:
圖標(biāo)縮放模塊,用于在將所述圖標(biāo)投影至所述近平面之前,對所述圖標(biāo)進行自適應(yīng)縮放操作;
透明度設(shè)置模塊,用于設(shè)置所述圖標(biāo)的透明度。
在本公開的一種示例性實施例中,所述信息顯示裝置還包括:
第二狀態(tài)判斷模塊,用于將所述被選中目標(biāo)的預(yù)設(shè)展示信息投影至所述近平面上后,檢測所述被選中目標(biāo)是否處于未選中狀態(tài);
投影停止控制模塊,用于在判斷所述被選中目標(biāo)處于未選中狀態(tài)時,停止投影所述選中目標(biāo)的預(yù)設(shè)展示信息。
在本公開的一種示例性實施例中,所述第一視線檢測模塊包括:
視線中心檢測模塊,用于檢測所述虛擬角色視線中心是否落在一虛擬對象的有效范圍內(nèi);
交互觸發(fā)模塊,用于在檢測所述虛擬角色視線中心點落在一虛擬對象的有效范圍內(nèi)時,觸發(fā)所述虛擬角色與所述虛擬對象的交互。
根據(jù)本公開的第三方面,提供一種虛擬現(xiàn)實系統(tǒng),包括所述的基于虛擬現(xiàn)實的信息顯示裝置。
本公開的一種實施例所提供的基于虛擬現(xiàn)實的信息顯示方法中,在虛擬攝像機的預(yù)設(shè)范圍內(nèi)設(shè)置一近平面,當(dāng)用戶在虛擬現(xiàn)實場景中選中一虛擬對象并將其作為被選中目標(biāo)后,能夠?qū)⒃摫贿x中目標(biāo)的預(yù)設(shè)展示信息投影在該近平面上。由于將該近平面設(shè)置在虛擬攝像機的預(yù)設(shè)范圍內(nèi),即設(shè)置在虛擬角色視野內(nèi)的預(yù)設(shè)范圍內(nèi),從而可以使用戶在虛擬現(xiàn)實場景中在較近的距離內(nèi)觀察被選中目標(biāo)投影在所述近平面上的預(yù)設(shè)展示信息,方便用戶對虛擬現(xiàn)實場景中的虛擬對象的介紹信息進行查閱,進而可以大幅度提升用戶體驗。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實施例,并與說明書一起用于解釋本公開的原理。顯而易見地,下面描述中的附圖僅僅是本公開的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1-圖3示意性示出現(xiàn)有技術(shù)中一種虛擬現(xiàn)實場景中剛體介紹信息顯示流程圖;
圖4示意性示出本公開示例性實施例中一種基于虛擬現(xiàn)實的信息顯示方法流程示意圖;
圖5示意性示出本公開示例性實施例中近平面位置及顯示情景示意圖;
圖6示意性示出本公開示例性實施例中虛擬對象預(yù)設(shè)展示信息顯示場景示意圖;
圖7示意性示出本公開示例性實施例中一種基于虛擬現(xiàn)實的信息顯示裝置組成框圖;
圖8示意性示出本公開示例性實施例中一種目標(biāo)設(shè)置模塊組成框圖;
圖9示意性示出本公開示例性實施例中一種基于虛擬現(xiàn)實的信息顯示裝置組成框圖;
圖10示意性示出本公開示例性實施例中另一種基于虛擬現(xiàn)實的信息顯示裝置組成框圖。
具體實施方式
現(xiàn)在將參考附圖更全面地描述示例實施方式。然而,示例實施方式能夠以多種形式實施,且不應(yīng)被理解為限于在此闡述的范例;相反,提供這些實施方式使得本公開將更加全面和完整,并將示例實施方式的構(gòu)思全面地傳達給本領(lǐng)域的技術(shù)人員。所描述的特征、結(jié)構(gòu)或特性可以以任何合適的方式結(jié)合在一個或更多實施方式中。
此外,附圖僅為本公開的示意性圖解,并非一定是按比例繪制。圖中相同的附圖標(biāo)記表示相同或類似的部分,因而將省略對它們的重復(fù)描述。附圖中所示的一些方框圖是功能實體,不一定必須與物理或邏輯上獨立的實體相對應(yīng)??梢圆捎密浖问絹韺崿F(xiàn)這些功能實體,或在一個或多個硬件模塊或集成電路中實現(xiàn)這些功能實體,或在不同網(wǎng)絡(luò)和/或處理器裝置和/或微控制器裝置中實現(xiàn)這些功能實體。
本示例實施方式中首先提供了一種基于虛擬現(xiàn)實的信息顯示方法,可以應(yīng)用于虛擬現(xiàn)實系統(tǒng),該虛擬現(xiàn)實系統(tǒng)例如可以由光學(xué)結(jié)構(gòu)和顯示系統(tǒng)組成,其中顯示系統(tǒng)與外部虛擬現(xiàn)實引擎連接,以接收外部虛擬現(xiàn)實引擎處理后的顯示內(nèi)容,再通過光學(xué)結(jié)構(gòu)為用戶呈現(xiàn)出一個虛擬現(xiàn)實場景;也可以僅包括光學(xué)結(jié)構(gòu),而顯示系統(tǒng)和虛擬現(xiàn)實引擎由智能手機等外部設(shè)備提供;即本示例實施方式中對于虛擬現(xiàn)實交互方法所應(yīng)用的虛擬現(xiàn)實系統(tǒng)并不進行特殊限定。舉例而言,信息顯示方法可以應(yīng)用于基于虛擬現(xiàn)實系統(tǒng)的射擊、解謎、角色扮演或社交等類型的游戲應(yīng)用中。參考圖2所示,所述的信息顯示方法可以包括以下步驟:
步驟s1,呈現(xiàn)一近平面,所述近平面設(shè)置在一用于提供虛擬現(xiàn)實場景中一虛擬角色視野的虛擬攝像機的預(yù)設(shè)范圍內(nèi);
步驟s2,檢測所述虛擬現(xiàn)實場景中所述虛擬角色視線是否落在一虛擬對象上;
步驟s3,在檢測到所述虛擬角色視線落在一虛擬對象上后,結(jié)合所述虛擬角色視線落在一虛擬對象上的動作將所述虛擬對象作為被選中目標(biāo);
步驟s4,將所述被選中目標(biāo)的預(yù)設(shè)展示信息投影至所述近平面上。
本示例實施方式所提供的信息顯示放置中,通過將所述的近平面設(shè)置在虛擬攝像機的預(yù)設(shè)范圍內(nèi),即設(shè)置在虛擬角色視野內(nèi)的預(yù)設(shè)范圍內(nèi),從而可以使用戶在虛擬現(xiàn)實場景中在較近的距離內(nèi)觀察被選中目標(biāo)投影在所述近平面上的預(yù)設(shè)展示信息,方便用戶對虛擬現(xiàn)實場景中的虛擬對象的介紹信息進行查閱,進而可以大幅度提升用戶體驗。
下面,將結(jié)合圖3至圖5對本示例實施方式中的信息顯示方法的各個步驟進行更詳細的說明。
在步驟s1中,呈現(xiàn)一近平面,所述近平面設(shè)置在一用于提供虛擬現(xiàn)實場景中一虛擬角色視野的虛擬攝像機的預(yù)設(shè)范圍內(nèi)。
在本示例實施方式中,所述虛擬角色在虛擬現(xiàn)實環(huán)境中的視野內(nèi)容可以由虛擬攝像機提供,一般可以將虛擬攝像機設(shè)置在虛擬角色的肩膀處或虛擬角色上方,使得虛擬攝像機鏡頭的方向與虛擬角色的視線方向一致,并且所述虛擬攝像機的位置跟隨所述虛擬角色同步移動,這樣用戶所操控的虛擬角色就能夠以第一人稱視角在該虛擬現(xiàn)實場景內(nèi)觀察、移動以及與虛擬現(xiàn)實場景中的其他角色進行交互;使用戶具有較高的沉浸感,給用戶營造一種身臨其境的感受。參考圖3所示場景,通過在所述虛擬攝像機的一預(yù)設(shè)范圍內(nèi)設(shè)置近平面15,這樣就能夠使該近平面15在用戶所主控的虛擬角色11的視野14一定距離內(nèi)顯示。并且,用戶可以根據(jù)需求設(shè)置該近平面15的與虛擬攝像機之間的距離,即調(diào)整所述近平面15與虛擬角色11之間的距離。
在步驟s2中,檢測所述虛擬現(xiàn)實場景中所述虛擬角色視線是否落在一虛擬對象上,具體可以包括以下步驟:
步驟s21,檢測所述虛擬角色視線中心是否落在一虛擬對象的有效范圍內(nèi);
步驟s22,并在檢測所述虛擬角色視線中心點落在一虛擬對象的有效范圍內(nèi)時,觸發(fā)所述虛擬角色與所述虛擬對象的交互。
在本示例實施方式中,用戶可以借助例如頭戴式顯示器或vr眼鏡等輔助設(shè)備沉浸在虛擬現(xiàn)實環(huán)境中。用戶在虛擬現(xiàn)實環(huán)境中可以通過轉(zhuǎn)動頭部等動作來改變視角,以及視野范圍內(nèi)的場景。參考圖3所示場景,在虛擬現(xiàn)實環(huán)境中,虛擬角色11可以利用設(shè)置在視線中心的光標(biāo)或光束來進行目標(biāo)選擇,當(dāng)虛擬角色的視線中心落在一交互對象的有效范圍內(nèi)時,觸發(fā)虛擬角色11與虛擬現(xiàn)實環(huán)境中虛擬對象12的交互。并且,為了方便后續(xù)交互,虛擬角色的視線中心、虛擬對象均具有預(yù)設(shè)大小的碰撞體積,虛擬角色的視線中心落在一交互對象的有效范圍內(nèi)即虛擬角色的視線中心落在該交互對象的碰撞體積范圍內(nèi)。需要說明的是,當(dāng)交互對象相遇時,若對交互對象都不設(shè)置碰撞體積或者只對其中一個交互對象設(shè)置碰撞體積,則交互對象在相遇時可以穿過對方,不會觸發(fā)交互對象之間的交互;若對交互對象都設(shè)置碰撞體積,則交互對象在相遇時,不能穿過對方,交互對象之間發(fā)生碰撞即觸發(fā)交互對象之間的交互。在本示例實施例中,為了降低視覺準心瞄準的難度,所述交互對象的碰撞體積可以適當(dāng)?shù)脑龃蟆?/p>
在步驟s3中,在檢測到所述虛擬角色視線落在一虛擬對象上后,結(jié)合所述虛擬角色視線落在一虛擬對象上的動作將所述虛擬對象作為被選中目標(biāo)。
在本示例實施方式中,上述的在檢測到所述虛擬角色11視線落在一虛擬對象12上后,結(jié)合所述虛擬角色視線落在虛擬對象上這一動作,將所述虛擬對象12作為被選中目標(biāo)具體還可以包括以下步驟:
步驟s31,在檢測到所述虛擬角色11的視線落在一虛擬對象12上后,將所述虛擬對象11作為待選中目標(biāo),并判斷是否接收到一第一確認信息;
步驟s32,在判斷接收到所述第一確認信息時,將所述待選中目標(biāo)作為被選中目標(biāo)。
參考圖3所示場景,首先檢測虛擬角色11的視線是否落在一虛擬對象上12,當(dāng)檢測到虛擬角色11的視線落在一虛擬對象12上時,則將該虛擬對象12作為待選中目標(biāo),此時判斷是否接收到一第一確認信息。當(dāng)判斷接收到第一確認信息時,則將該待選中目標(biāo)作為被選中目標(biāo),當(dāng)判斷沒有接收到第一確認信息時,則該待選中目標(biāo)身份標(biāo)識不變。通過增加判斷確認這一步驟,可以有效的保證用戶對于虛擬對象進行選擇并作為被選中目標(biāo)的準確性。同時,也可以在檢測到虛擬角色11的視線落在一虛擬對象上12上時,可以使系統(tǒng)響應(yīng)虛擬角色11的動作,直接將該虛擬對象12作為被選中目標(biāo),從而簡化判斷流程,提高目標(biāo)確認速度。
舉例而言,上述的第一確認信息可以是虛擬角色11在所述待選中目標(biāo)上的停留時間,預(yù)設(shè)的停留時間可以是2秒、3秒或其他時間長度。當(dāng)系統(tǒng)檢測到所述虛擬角色11的視線落在一待選中目標(biāo)上后,判斷所述虛擬角色視線在該待選中目標(biāo)上的停留時間;當(dāng)所述停留時間未達到預(yù)設(shè)時間長度,即虛擬角色的視線離開當(dāng)前的待選中目標(biāo)時,則判定為未接收到所述的第一確認信息;當(dāng)判斷停留時間滿足預(yù)設(shè)時間長度時,即判定為接收到第一確認信息,此時即可將該待選中目標(biāo)作為被選中目標(biāo)。在本公開的其他示例性實施例中,上述的第一確認信息也可以是通過檢測用戶或虛擬角色的其他動作來判定,例如:用戶的連續(xù)幾次眨眼動作,或者用戶控制虛擬角色在虛擬現(xiàn)實環(huán)境中做出的手勢動作。當(dāng)檢測到這樣的動作時,即可判定為接收到所述第一確認信息;此時即可將該待選中目標(biāo)作為被選中目標(biāo)。本公開對所述的第一確認信息的具體內(nèi)容不做特殊限定。
在步驟s4中,將所述被選中目標(biāo)的預(yù)設(shè)展示信息投影至所述近平面上。
在將虛擬角色11所在的虛擬現(xiàn)實場景中的虛擬對象12判定為被選中對象后,可以將該被選中對象的預(yù)設(shè)展示信息13投影在上述的近平面15上。
在本公開的其他示例性實施方式中,上述的步驟s4具體可以包括以下步驟:
步驟s41,在將所述待選中目標(biāo)作為被選中目標(biāo)后,為所述被選中目標(biāo)生成一圖標(biāo),將所述圖標(biāo)投影至所述近平面上;
步驟s42,檢測所述虛擬角色視線是否落在所述圖標(biāo)投影上;在判斷所述虛擬角色視線落在所述圖標(biāo)投影上時,檢測是否接收到一第二確認信息;
步驟s43,在判斷接收到所述第二確認信息時,將所述被選中目標(biāo)的預(yù)設(shè)展示信息投影至所述近平面上。
參考圖4所示場景,當(dāng)虛擬現(xiàn)實場景中的一虛擬對象12被選中并作為被選中目標(biāo)后,在該被選中目標(biāo)附近生成一圖標(biāo)17,所述圖標(biāo)17的顯示位置可以設(shè)置在被選中目標(biāo)的左上角或右上角的位置,或者其他便于用戶發(fā)現(xiàn)和查看該圖標(biāo)的位置。然后將該圖標(biāo)11投影至所述近平面15上,此時檢測所述虛擬角色11的視線是否落在所述圖標(biāo)投影17上。當(dāng)檢測到所述虛擬角色11的視線落在上述圖標(biāo)投影17上時,檢測是否接收到一第二確認信息,并在判斷接收到第二確認信息之后將被選中目標(biāo)的預(yù)設(shè)展示信息13投影至所述近平面15上;若檢測沒有接收到所述第二確認信息則不顯示任何信息。上述預(yù)設(shè)展示信息在所述近平面的投影位置可以是所述近平面上的左側(cè)、右側(cè)或其他位置,用戶可以根據(jù)需求設(shè)定投影的位置。
基于上述內(nèi)容,在本示例性實施方式中,上述的判斷是否接收到一第二確認信息可以包括以下步驟:
在判斷所述虛擬角色11視線落在所述圖標(biāo)投影16上時,判斷所述虛擬角色11視線在所述圖標(biāo)投影16上的停留時間;當(dāng)所述停留時間達到預(yù)設(shè)時間時時,判斷為接收到所述第二確認信息。
舉例來說,參考圖4所示場景,在虛擬現(xiàn)實場景中,當(dāng)虛擬角色11選中一虛擬對象12并將該虛擬對象12作為被選中目標(biāo)后,為該被選中目標(biāo)生成一圖標(biāo)17,并將該圖標(biāo)17投影至近平面15上。此時,虛擬角色11視線可以由落在遠處的被選中目標(biāo)上移動至近平面上的圖標(biāo)投影16上。當(dāng)虛擬角色11的視線落在所述圖標(biāo)17在近平面的投影16上時,可以檢測虛擬角色11視線在所述圖標(biāo)投影16上的停留時間,當(dāng)檢測到停留時間達到預(yù)設(shè)時間時,例如預(yù)設(shè)時間可以是2秒或3秒,即可判定為接收到第二確認信息,則執(zhí)行在近平面上顯示被選中目標(biāo)的預(yù)設(shè)展示信息13。在本公開的其他示例性實施方式中,上述的第二確認信息同樣也可以設(shè)置為預(yù)設(shè)手勢信息或用戶通過輔助輸入設(shè)備的點擊操作,本實施例在此不做特殊限定。
基于上述內(nèi)容,為了進一步的優(yōu)化對于上述被選中目標(biāo)投影選中步驟的操作,所述的信息現(xiàn)實方法還可以包括:
在所述近平面15上生成一用于包圍所述圖標(biāo)投影以及所述被選中目標(biāo)的最小包圍框,并檢測所述虛擬角色11的視線是否落在所述最小包圍框上;并在判斷所述虛擬角色11的視線落在所述最小包圍框上時,將所述被選中目標(biāo)保持被選中狀態(tài)。
通過在所述近平面15上設(shè)置最小包圍框,在視覺上能夠?qū)⑺鰣D標(biāo)投影以及被選中目標(biāo)包圍在該最小包圍框內(nèi),能夠有效的增大所述圖標(biāo)和被選中目標(biāo)投影的有效選中區(qū)域。當(dāng)檢測到虛擬角色11的視線落在所述最小包圍框上時即可判斷為所述被選中目標(biāo)處于被選中狀態(tài),能夠使用戶可以比較輕松的保持對被選中目標(biāo)保持選中狀態(tài),便于用戶對于圖標(biāo)投影選中后進行后續(xù)操作。
在本公開的其他示例性實施方式中,上述的信息顯示方法還可以包括:對所述圖標(biāo)17進行自適應(yīng)縮放操作并將自適應(yīng)縮放后的圖標(biāo)投影至所述近平面15;其中,所述圖標(biāo)17為可設(shè)置透明度的平面圖標(biāo)。
在所述虛擬角色11選中虛擬現(xiàn)實場景中的一虛擬對象12并將其作為被選中目標(biāo)后,為該被選中目標(biāo)生成一圖標(biāo)17,可以對該圖標(biāo)17進行自適應(yīng)縮放操作,然后將經(jīng)過自適應(yīng)縮放后的圖標(biāo)投影在所述近平面15上。通過對圖標(biāo)17進行自適應(yīng)縮放,能夠使圖標(biāo)以合適的尺寸顯示在所述近平面15上,不會因為圖標(biāo)投影的尺寸過小,使得該圖標(biāo)投影不易被選中;也不會因為圖標(biāo)投影過大而占據(jù)過多的近平面15空間,影響所述虛擬角色11的視野。同時,用戶可以根據(jù)需求提前設(shè)置圖標(biāo)17的透明度,使得圖標(biāo)17具有良好的顯示效果。通過設(shè)置圖標(biāo)17顯示具有一定的透明度,能夠使圖標(biāo)17不會遮擋虛擬現(xiàn)實場景中的其他物體,不影響所述虛擬角色11在虛擬現(xiàn)實場景中的視線。
此外,本示例實施方式中,上述的信息顯示方法還包括以下步驟:
步驟s5,將所述被選中目標(biāo)的預(yù)設(shè)展示信息投影至所述近平面上后,檢測所述被選中目標(biāo)是否處于未選中狀態(tài);并在判斷所述被選中目標(biāo)處于未選中狀態(tài)時,停止投影所述選中目標(biāo)的預(yù)設(shè)展示信息。
當(dāng)虛擬角色11選中虛擬現(xiàn)實場景中的一虛擬對象12,在將該虛擬對象12作為被選中目標(biāo)并在顯示所述被選中目標(biāo)的預(yù)設(shè)展示信息13后,檢測該被選中目標(biāo)是否依然處于被選中狀態(tài)。當(dāng)檢測到所述被選中目標(biāo)仍在處于被選中狀態(tài)時,即虛擬角色11的視線仍然落在上述的最小包圍框內(nèi)時,則仍然顯示所述被選中目標(biāo)的預(yù)設(shè)展示信息;當(dāng)檢測到虛擬角色11的視線不在當(dāng)前的被選中目標(biāo)上時,即所述虛擬角色11的視線離開所述近平面15上的最小包圍框,或重新落在一虛擬對象或虛擬現(xiàn)實場景中其他物體上時,則停止顯示當(dāng)前被選中目標(biāo)的預(yù)設(shè)展示信息13。
本公開提供的信息顯示方法,通過在虛擬攝像機鏡頭一定范圍內(nèi)設(shè)置一近平面,使所述近平面能夠在虛擬現(xiàn)實場景中虛擬角色視野范圍內(nèi)的一定距離內(nèi)顯示,提供了一種便于查看并且具有一定區(qū)分度的物品信息展示界面。并且,通過將虛擬現(xiàn)實場景中被選中的虛擬物體的預(yù)設(shè)展示信息投影在該近平面上,使用戶能夠在較近的距離內(nèi)查看被選中虛擬物體的預(yù)設(shè)展示信息,便于用戶查看虛擬對象的各項信息,方便用戶在虛擬現(xiàn)實場景與各交互對象的之間的交互操作。本公開提供的信息展示方法首先將虛擬現(xiàn)實場景中的虛擬對象確認為被選中目標(biāo),然后再顯示被選中目標(biāo)的預(yù)設(shè)展示信息,提供了一種分步式的操作方法,能夠有效的確定被選中的虛擬對象,并準確顯示被選中虛擬對象的預(yù)設(shè)展示信息,有效的保證了操作的準確性,從而有效提升用戶的使用體驗。
需要注意的是,上述附圖僅是根據(jù)本發(fā)明示例性實施例的方法所包括的處理的示意性說明,而不是限制目的。易于理解,上述附圖所示的處理并不表明或限制這些處理的時間順序。另外,也易于理解,這些處理可以是例如在多個模塊中同步或異步執(zhí)行的。
進一步的,參考圖5所示,本示例的實施方式中還提供了一種基于虛擬現(xiàn)實的信息顯示裝置5,包括:近平面設(shè)置模塊51、第一視線檢測模塊52、目標(biāo)設(shè)置模塊53以及第一投影控制模塊54。其中:
所述近平面設(shè)置模塊51可以用于呈現(xiàn)一近平面,將所述近平面設(shè)置在一用于提供虛擬現(xiàn)實場景中一虛擬角色視野的虛擬攝像機的預(yù)設(shè)范圍內(nèi)。
所述第一視線檢測模塊52可以用于檢測所述虛擬現(xiàn)實場景中所述虛擬角色視線是否落在一虛擬對象上。
所述目標(biāo)設(shè)置模塊53可以用于在檢測到所述虛擬角色視線落在一虛擬對象上后,結(jié)合所述虛擬角色視線落在一虛擬對象上的動作將所述虛擬對象作為被選中目標(biāo)。
所述第一投影控制模塊54可以用于將所述被選中目標(biāo)的預(yù)設(shè)展示信息投影至所述近平面上。
在本示例實施方式中,參考圖6所示,上述的目標(biāo)設(shè)置模塊53可以包括:第一確認信息判斷模塊531以及被選中目標(biāo)設(shè)置模塊532。其中:
所述第一確認信息判斷模塊531可以用于在檢測到所述虛擬角色的視線落在一虛擬對象上時,將所述虛擬對象作為待選中目標(biāo),并判斷是否接收到一第一確認信息。
所述被選中目標(biāo)設(shè)置模塊532可以用于在判斷接收到所述第一確認信息后,將所述待選中目標(biāo)作為被選中目標(biāo)。
在本示例實施方式中,上述的第一確認信息判斷模塊531還可以包括:第一時間檢測模塊以及第一確認信息接收模塊。其中:
所述第一時間檢測模塊可以用于當(dāng)檢測到所述虛擬角色的視線落在所述待選中目標(biāo)上后,判斷所述虛擬角色視線在所述待選中目標(biāo)上的停留時間。
所述第一確認信息接收模塊可以用于在所述停留時間達到預(yù)設(shè)時間時,判斷為接收到所述第一確認信息。
在本示例實施方式中,參考圖7所示,上述的信息顯示裝置5還包括:圖標(biāo)生成模塊55、第二確認信息判斷模塊56以及投影開始控制模塊57。其中:
所述圖標(biāo)生成模塊55可以用于在將所述待選中目標(biāo)作為被選中目標(biāo)后,為所述被選中目標(biāo)生成一圖標(biāo),將所述圖標(biāo)與所述被選中目標(biāo)投影至所述近平面上。
所述第二確認信息判斷模塊56可以用于檢測所述虛擬角色視線是否落在所述圖標(biāo)投影上;在判斷所述虛擬角色視線落在所述圖標(biāo)投影上時,檢測是否接收到一第二確認信息。
所述投影開始控制模塊57可以用于在判斷接收到所述第二確認信息時,將所述被選中目標(biāo)的預(yù)設(shè)展示信息投影至所述近平面上。
在本示例實施方式中,上述的第二確認信息判斷模塊36可以包括:第二時間檢測模塊以及第二確認信息接收模塊。其中:
所述第二時間檢測模塊可以用于在判斷所述虛擬角色視線落在所述圖標(biāo)投影上時,判斷所述虛擬角色視線在所述圖標(biāo)投影上的停留時間;
所述第二確認信息接收模塊可以用于當(dāng)所述停留時間達到預(yù)設(shè)時間時,判斷為接收到所述第二確認信息。
在本示例實施方式中,上述的信息顯示裝置5還可以包括:包圍框生成模塊、第二視線檢測模塊以及第一狀態(tài)判斷模塊。其中:
所述包圍框生成模塊可以用于在所述近平面上生成一用于包圍所述圖標(biāo)投影以及所述被選中目標(biāo)的最小包圍框;
所述第二視線檢測模塊可以用于并檢測所述虛擬角色的視線是否落在所述最小包圍框上。
所述第一狀態(tài)判斷模塊可以用于在判斷所述虛擬角色的視線落在所述最小包圍框上時,將所述被選中目標(biāo)保持被選中狀態(tài)。
在本示例實施方式中,上述的信息顯示裝置5還可以包括:圖標(biāo)縮放模塊以及透明度設(shè)置模塊。其中:
所述圖標(biāo)縮放模塊可以用于在將所述圖標(biāo)投影至所述近平面之前,對所述圖標(biāo)進行自適應(yīng)縮放操作。
所述透明度設(shè)置模塊可以用于設(shè)置所述圖標(biāo)的透明度。
為了進一步的優(yōu)化上述信息顯示裝置的功能,在本示例實施方式中,參考圖8所示,上述信息顯示裝置5還可以包括:第二狀態(tài)判斷模塊58以及投影停止控制模塊59。其中:
所述第二狀態(tài)判斷模塊58可以用于將所述被選中目標(biāo)的預(yù)設(shè)展示信息投影至所述近平面上后,檢測所述被選中目標(biāo)是否處于未選中狀態(tài)。
所述投影停止控制模塊59可以用于在判斷所述被選中目標(biāo)處于未選中狀態(tài)時,停止投影所述選中目標(biāo)的預(yù)設(shè)展示信息。
基于上述內(nèi)容,在本示例實施方式中,上述的第一視線檢測模塊52可以包括:視線中心檢測模塊、交互觸發(fā)模塊以及碰撞體積設(shè)置模塊。其中:
所述視線中心檢測模塊可以用于檢測所述虛擬角色視線中心是否落在一虛擬對象的有效范圍內(nèi)。
所述交互觸發(fā)模塊可以用于在檢測所述虛擬角色視線中心點落在一虛擬對象的有效范圍內(nèi)時,觸發(fā)所述虛擬角色與所述虛擬對象的交互。
上述中基于虛擬現(xiàn)實的信息顯示裝置內(nèi)各單元的具體細節(jié)已經(jīng)在對應(yīng)的基于虛擬現(xiàn)實的信息顯示方法中進行了詳細的描述,因此此處不再贅述。
應(yīng)當(dāng)注意,盡管在上文詳細描述中提及了用于動作執(zhí)行的設(shè)備的若干模塊或者單元,但是這種劃分并非強制性的。實際上,根據(jù)本公開的實施方式,上文描述的兩個或更多模塊或者單元的特征和功能可以在一個模塊或者單元中具體化。反之,上文描述的一個模塊或者單元的特征和功能可以進一步劃分為由多個模塊或者單元來具體化。
進一步的,本示例實施方式中還提供了一種虛擬現(xiàn)實系統(tǒng),該虛擬現(xiàn)實系統(tǒng)至少包括上述示例性實施例中的基于虛擬現(xiàn)實系統(tǒng)的信息顯示裝置。由于所采用的信息顯示裝置能夠為虛擬現(xiàn)實場景中虛擬角色視野內(nèi)一定距離提供一用于顯示物品信息的ui界面,使虛擬角色在虛擬現(xiàn)實場景中便于查看各虛擬對象的預(yù)設(shè)展示信息。并且能夠通過各模塊能夠?qū)μ摂M對象的選中以及信息展示實現(xiàn)分布式的操作,從而有效保證了用戶操作的準確性,可以使用戶在虛擬現(xiàn)實游戲中操作更加簡潔,有效提升用戶體驗。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本公開的其它實施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由所附的權(quán)利要求指出。