对于XR设备,虚拟键盘是一种常见的输入方式。传统的虚拟键盘是在固定的角度和距离在用户附近呈现。然而,有时候用户希望虚拟键盘可以智能地移动,能够根据意图锚定到特定虚拟对象前面,从而提供一致的,可预测的体验。
例如在全息桌面办公中,用户会希望虚拟键盘直接附接到虚拟屏幕前面,从而营造出一种类似于物理键盘和物理屏幕对应位置关系的配置,因为虚拟键盘和虚拟屏幕一起出现在同一窗口之中。
在名为“Intelligent keyboard attachment for mixed reality input”的专利申请中,微软就介绍了一种智能键盘附接方法。
在图3中,虚拟输入设备305是虚拟键盘,并配置为启用对与虚拟对象303相对应的应用程序的输入。当虚拟输入设备305附接到虚拟对象303时,虚拟对象303禁用其他机制来接收输入,例如注视点交互和/或射线交互。
在一个实施例中,虚拟输入设备305可以随着用户头部的移动在环境301内移动,使得虚拟输入设备305不再包括在用户视场中。换言之,虚拟输入设备305可以轻松地进入或轻松地离开视场。
将虚拟输入设备305附接到虚拟对象303是指在虚拟对象303和虚拟输入设备304之间创建分层定位转换关系,使得虚拟输入设备306从虚拟对象303继承位置。分层定位关系包括虚拟对象303和虚拟输入设备305之间的距离、方向和角度中的一个或多个。
虚拟输入设备305与虚拟对象303的偏移使得以最佳人体工程学角度提供虚拟输入设备。虚拟对象303和虚拟输入设备305之间的偏移固定。当然,在另一种实现方式中,虚拟对象303和虚拟输入设备305之间的偏移可以保持动态。
图4示出了包括两个虚拟对象和一个虚拟输入设备的MR环境。
环境401包括与第一应用程序相对应的虚拟对象303。同时,用户可以打开除第一应用程序之外的第二应用程序,并生成与第二应用程序相对应的第二虚拟对象403。
与虚拟对象303一样,在三维环境401内的特定位置提供第二虚拟对象403。响应于用户利用具有第二虚拟对象403的虚拟输入设备305的意图的确定,第二虚拟对象403将虚拟输入设备305重新定位到靠近第二虚拟对象403的位置。
例如,意图的确定可以基于用户选择虚拟输入设备305上的按钮,例如查询按钮,以指示相对于虚拟对象403的用户输入是有意的或期望的。
响应于所述确定,虚拟输入设备305从靠近虚拟对象303的原始位置分离,并且在靠近第二虚拟对象403的新位置处重新附接到第二虚拟对象403。
在用户转换回与虚拟对象303相对应的第一应用程序的实现中,虚拟输入设备305重新定位到靠近虚拟对象303的原始位置。
换言之,于用户在特定时间点期望与之交互的虚拟对象处提供虚拟输入设备305。
微软指出,这种配置为用户提供了一致的、可预测的体验,并且取决于正在使用的特定应用程序,而不是用户在三维环境301、401中的位置。
用户想要与之交互的特定应用程序通过各种机制来识别。
在一个实施例中,用户打算与之交互的特定应用程序是基于用户正在与之进行交互的当前虚拟对象或面板。例如,在虚拟对象303是联系人列表的情况下,输入可以在联系人列表中搜索联系人。在虚拟对象303是工作应用程序的情况下,输入可以在工作应用程序中搜索关键字或文档。在虚拟对象303是事故报告应用程序的情况下,输入可以是填写事故报告的解释。
所以,虚拟输入设备305是一种智能输入设备,其可以基于用户的意图从特定虚拟对象分离。
在一个实施例中,可以接收来自将虚拟输入设备305与虚拟对象303分离的意图的输入。所述输入可以是经由虚拟输入设备305接收的输入、由凸显200确定的注视模式、对虚拟对象303、403上的UNDOCK分离图标的选择、对虚拟输入设备304上的特定按钮的输入等等。
虚拟输入设备305与虚拟对象303的分离,即解除对接,使得虚拟输入设备能够在用户保持静止的同时在环境301、401中的不同虚拟对象之间切换。一旦虚拟输入设备305附接,就提供视觉提示或视觉辅助。
在一个实施例中,虚拟输入设备305与虚拟对象303分离或解除对接,并从环境401移除。在下一次调用时,虚拟输入设备305在环境401中重新实例化为附着到虚拟对象303。
在其他实施例中,虚拟输入设备305与虚拟对象303分离,但保留在环境401中,并且附接到新的和/或下一个虚拟对象403。在另一ssl中,虚拟输入设备305与虚拟对象303分离,但保持在环境401中并且保持在环境410内的特定位置。
在另一实施例中,虚拟输入设备305与虚拟对象303分离,但保留在环境401中,具有靠近用户的偏移。例如,虚拟输入设备305可以被保持在基于头显的位置和方向确定用户所在的位置的稍微前方和左侧或右侧。
分离的虚拟输入设备305可以调用给用户或特定的虚拟对象303、403,例如通过语音命令或其他机制。其中,虚拟输入设备305位于远离用户的位置,并且使得用户能够快速地将虚拟输入设备304带到他们身边,而不必移动以取回虚拟输入设备306,并且虚拟输入设备307被动到靠近用户的方便的、随时可用的人体工程学位置。
图5示出了多目标环境。环境501包括多个虚拟对象,例如虚拟对象303、403、503。例如,环境501可以是虚拟桌面环境,并且包括不同的虚拟对象303、403、503,每个虚拟对象对应于虚拟桌面内的不同应用。
例如,虚拟对象303可以是消息收发应用程序,虚拟对象403可以是互联网浏览器应用程序,并且虚拟对象503可以是联系人应用程序。
每个虚拟对象303、403、503是虚拟输入设备305的单独目标。在诸如用户可能在向虚拟对象303、403、503提供输入之间定期切换的情况下,用户希望虚拟输入设备305附接到特定位置,例如靠近用户的位置,并作为近场浮动输入设备。
因此,可以提供虚拟输入设备305和目标虚拟对象之间的视觉链接505。例如,图5示出了虚拟输入设备305和虚拟对象303之间的视觉链接505,其指示在特定时间,在虚拟输入设备304上接收的输入将生成对虚拟对象303的输入。
在一个实施例中,视觉链接505是将虚拟输入设备305连接到目标虚拟对象,并提高用户输入一致性理解的虚拟对象,例如线。在其他实现中,视觉链接是目标虚拟对象上的视觉标记,例如贴纸、星星、点等等。
图6示出了虚拟对象和虚拟输入设备之间的偏移。
如图6所示,虚拟输入设备305提供为与虚拟对象303相距一定距离603。当虚拟对象303和虚拟输入设备305中的任何一个移动时,在虚拟对象303与虚拟输入设备之间保持距离603。
换言之,如果虚拟对象303从其原始位置移动特定距离,则虚拟输入设备305也从其原始地点移动特定距离,以保持虚拟对象303和虚拟输入设备304之间的距离603。
类似地,如果虚拟输入设备305从其原始位置移动特定距离,则虚拟对象303也从其原始地点移动特定距离以保持虚拟对象303和虚拟输入设备304之间的距离603。
距离603至少部分地基于虚拟输入设备305所代表的特定类型的输入设备。例如,虚拟键盘类似于物理键盘,具有相似的尺寸和形状。
当虚拟对象303被移动时,虚拟输入设备305可以与虚拟对象303一起移动或跟随虚拟对象303移动,以便保持虚拟对象303和虚拟输入设备303之间的距离603和角度605。因此,可以在各种实施例中提供虚拟对象303和虚拟输入设备305之间的偏移。
图7A-7D示出了虚拟对象和虚拟输入设备的变化视场。
如图7A所示,虚拟对象303和虚拟输入设备305完全在第一视场705内。换句话说,虚拟对象303和虚拟输入设备305中的每一个都处于用户的全视图中。
在图7B中,虚拟对象303和虚拟输入设备305中的每一个都完全在第二视场710之外。视场从第一视场705改变到第二视场710。例如,用户移动他或她的头部导致头显移动,这将视场从第一视场705改变、更新、改变等到第二视场710。在其他实现中,视场本身可能没有改变,但虚拟对象303和虚拟输入设备305可能已经移动到视场之外,例如通过用户无意中将虚拟对象303以及虚拟输入设备305拖到第一视场705之外。
因此,第二视场710提出了挑战,因为用户不能查看虚拟对象303和虚拟输入设备305,这使得经由虚拟输入设备304向虚拟对象303提供输入具有挑战性。
因此,可以利用专利描述的方法校正从视场移除虚拟对象303和虚拟输入设备305。
图7C示出了第三视场715,其中虚拟对象303和虚拟输入设备305逐渐重新引入视场。不是虚拟地瞬间将虚拟对象303和虚拟输入设备305捕捉回它们在视场内的原始位置,虚拟对象303和虚拟输入设备305是逐渐地重新引入视场,以便为用户保持更舒适的体验。
图7D示出了在虚拟对象303和虚拟输入设备305已经放回到视场中之后的第四视场720。第四视场720基本上类似于第一视场705,因为虚拟对象303和虚拟输入设备305已经返回到第一视场705中的原始位置。
名为“Intelligent keyboard attachment for mixed reality input”的微软专利申请在日前由美国专利商标局公布。