允許用戶在AR/VR應用中與3D對象進行自然交互具有優勢,因為它對應於用戶與現實世界中對象的交互方式。但是,與手臂夠不著的3D對象交互可能十分困難。對於這種情況,特別的“超自然”交互方法可能更為適合。另外,盡管近距離交互可以用手直接操縱數字第項來實現,但用戶同時必須能夠與距離用戶較遠的數字對昂進行交互。
對於這一點,行業已經提出各種方法來幫助用戶與一定距離的虛擬對象進行交互,例如用戶可以執行手勢來與遠程對象交互,或者可以調用用戶界面(UI)來幫助用戶對遠程對象執行命令。但對用戶來說,精確控制遠距離對象的零件或點可能依然是一項挑戰。另外,如果與遠距離對象交互涉及抬起和/或伸出手和/或手臂,則用戶可能會經歷肌肉疲勞。考慮到相關的挑戰,微軟在名為“Near interaction mode for far virtual object”的專利申請中提出一種通過顯示虛擬啟示來促進用戶與遠距離對象的交互。
圖1顯示示例性計算系統10。計算系統10可以包括頭戴式顯示器設備14,其可以包括手勢識別模塊24、視線檢測模塊26和自然語言處理(NLP)模塊28,如圖1所示。
視線檢測模塊26可配置為處理由朝內攝像頭30收集的圖像數據,以識別每個用戶眼睛的位置和方向,並隨後生成眼動追蹤數據。姿勢識別模塊24可以配置為通過處理由朝外攝像頭32收集的用戶的圖像數據來識別由用戶表達的姿勢和姿勢。NLP模塊28可以在麥克風34處接收經處理的自然語言(NL)輸入,進一步通過分割句子、標記詞類以及提取命令和與命令相關聯的對象的名稱來處理NL輸入。
參考圖3,處理器12可以配置為在顯示器16上至少部分地在用戶的視場50內顯示虛擬對象48。處理器12可以配置為識別與虛擬對象48相關聯的多個控制點52,並確定與虛擬對象48相關聯的一個或多個控制點距用戶的距離超過預定閾值54。例如在圖3中,十二面體被描繪為虛擬對象48。可以觀察到十二面體的控制點52都在距用戶的預定閾值距離54之外。應當理解,距離54可以是相對於用戶的各個部分.圖3描繪相對於用戶肩部測量的距離54。在其他實現中,可以從用戶身體上的另一點測量距離。
基於所述確定,處理器12可配置為調用虛擬對象48的遠交互模式。在遠交互模式下,用戶可執行預定手勢,例如指向虛擬對象48、捏、刷等,從而選擇虛擬對象48。下面將更詳細地討論通過虛擬射線60選擇虛擬對象48。通常在遠程交互模式中,與虛擬對象48的可用交互可能受到限制,並且在由於虛擬對象顯示的距離,可能僅包括遠程情景菜單的選擇、移動、調整大小和顯示。由於交互的距離,虛擬對象48的移動和大小調整可能在某種程度上具有挑戰性。
應當理解,虛擬對象48的位置可以使得控制點52的一部分或子集位於閾值距離54內;然而,如果系統10確定距離54之外的控制點52的數量大於控制點52預定閾值子集,則可以調用遠交互模式。預定閾值子集可以是一個控制點,或者控制點的最小百分比,例如10%、25%、50%等。可以理解,遠程交互模式可以在大量控制點52超出用戶的能力范圍的情況下調用,因此對於用戶來說可能難以控制或煩人。
在遠程交互模式下,處理器12可配置為從用戶接收觸發輸入56。如圖1所示,觸發輸入56可由頭顯設備14中的一個傳感器29檢測。觸發輸入56可以包括預定義手勢、包括自然語言的語音命令、註視方向和/或眼動運動中的至少一個,因此可分別由朝外攝像頭32、麥克風34或朝內攝像頭30檢測。在圖3中,用戶的手勢是觸發輸入56,在本例中,所述觸發輸入56描述為捏手勢。
返回圖3,響應於在遠交互模式下接收到觸發輸入56,處理器12可配置為調用近交互模式,並在距用戶預定閾值距離54內顯示虛擬交互對象58。在一個特定示例中,在近交互模式下顯示的虛擬交互對象58可以是控制小部件66。控制小部件62可以是虛擬對象48的大小調整副本,並且所有控制點52可以在用戶的視場50內和預定閾值距離54內。圖3示出所述實現的示例,其中作為虛擬對象48的十二面體由虛擬交互對象58形式的調整大小的副本表示。
在圖4A-4C中,處理器12可以進一步配置為在從用戶接收觸發輸入56之前的遠交互模式中,從用戶的手生成虛擬光線60,虛擬光線60相對於用戶的手的移動被鎖定。在圖4A的頂部表示中,虛擬光線60被示為源自用戶的手。虛擬光線60可以延伸到VR或AR環境中預定距離。當用戶移動她的手時,虛擬光線60可以按照用戶的手的指示移動。
響應於虛擬光線60在被用戶的手移動時與虛擬對象48相交,處理器12可以配置為接收用戶對虛擬對象48的選擇。例如,如果用戶將虛擬射線60保持在虛擬對象48上超過預定閾值的時間,例如超過兩秒,則處理器12可以配置為選擇虛擬對象48。或者,當虛擬光線60與虛擬對象48相交時,用戶可以執行額外的步驟,例如發出命令“選擇”,以完成對象選擇。在圖4B的中間表示中給出虛擬對象48的選擇示例。
經由虛擬射線60,處理器12可以配置為根據用戶的手的手勢執行對虛擬對象48的控制。觸發輸入56可由用戶相對於虛擬光線60執行,以調用近交互模式並在距用戶的預定閾值距離54內顯示虛擬交互對象58。圖4C的底部表示中給出一個示例。在所述示例中,用戶執行捏手勢形式的預定手勢作為觸發輸入56,從而調用近交互模式,並在距用戶的預定閾值距離54內啟動虛擬交互對象58的顯示。應當理解,預定手勢可以是除捏手勢之外的手勢,例如抓取手勢、點手勢、輕敲手勢等。
在另一種實現方式中,為響應由於用戶手的移動而與虛擬對象48相交的虛擬射線,處理器12可以配置為在遠交互模式下相對於虛擬射線60生成虛擬手柄74,虛擬手柄74靠近用戶的手。圖4B的中間表示描述所述實現,其中當虛擬光線60與虛擬對象48相交時,生成球形節點作為虛擬手柄74。處理器12可進一步配置為在虛擬手柄74處接收來自用戶的手勢,該手勢是觸發輸入56。再次參考圖4C中的底部表示,觸發輸入56是按壓手勢,
虛擬交互對象58可以是處理器12配置為生成的多個不同類型的虛擬交互對象之一。另外,觸發輸入56可以是多個可能的觸發輸入56之一,每個可能的觸發輸出56都是相應的手勢,每個手勢與多個虛擬交互對象58中的一個虛擬交互目標58相關聯。
圖6的示例顯示兩個虛擬按鈕,它們可以是虛擬內容的滾動機制。這種配置的一個優點可能是在用戶夠不到的距離處滾動虛擬內容可能十分困難。因此,用戶可以如上所述調用近交互模式,並在用戶的手附近生成滾動機制的顯示,從而簡化滾動虛擬內容的操作。
在如圖7所示的附加示例中,用戶可以在VR或AR環境中使用一個或多個窗口。用戶可能希望調用上下文菜單68。在這種情況下,用戶可以執行長按作為觸發輸入56,以便情景菜單顯示為用戶手附近的提示。應當理解,情景菜單68可以附接到虛擬對象48,所述虛擬對象48是用戶與之交互的虛擬窗口。這種配置的優點可以是情景菜單68的可讀性得到改善,並且相對於靠近用戶手的虛擬交互對象58進行精細移動/選擇的能力更強。
參考圖8,虛擬對象48可以延伸到用戶視場50之外,並且與虛擬對象48相關聯的至少一個控制點52可以在用戶視場50以外。在這種情況下,觸發器輸入56是食指從較高位置移動到較低位置。應該理解,用戶可以訪問或不訪問虛擬射線60。換句話說,處理器12可以配置為在不生成虛擬光線60的情況下識別觸發輸入56。例如,處理器12可將觸發輸入56解釋為分配給虛擬對象48。
在圖9所示的另一示例中,用戶可能正在AR環境中接近大型虛擬對象48,如圖9所示的車輛或建築物。隨著用戶更接近虛擬對象48,大型虛擬對象48可以被用戶選擇為虛擬交互對象58,並且因此為方便用戶而減小尺寸。應當理解,虛擬交互對象58的生成和顯示可以根據系統10的設置自動發生,因為更多的控制點52在用戶的視場50和/或預定閾值距離54之外。
顯示在距用戶預定閾值距離54內的虛擬交互對象58可以相對於用戶鎖定在適當位置。距用戶的預定閾值距離可以在460mm至580mm的范圍內(通常從用戶的肩部測量)。
通過上述方式,微軟提出的方案可以幫助用戶更輕松地與遠距離對象交互。
相關專利:Microsoft Patent | Near interaction mode for far virtual object
名為“Near interaction mode for far virtual object ”的微軟專利申請最初在2022年4月提交,並在日前由美國專利商標局公佈。