虚拟现实输入的制作方法

文档序号:17850505发布日期:2019-06-11 22:09阅读:209来源:国知局

计算机辅助设计(cad)允许用户在三维(3d)空间中创建对象。这些对象可以用于创建物理3d对象或更好地对这些对象进行可视化。

附图说明

附图展示了本文所描述原理的各个示例并且是本说明书的一部分。所展示的示例仅出于展示的目的给出,并且不限制权利要求的范围。

图1是根据本文所描述原理的示例的输入系统的示图。

图2a和图2b是根据本文所描述原理的示例的在vr头戴式设备中实施的用户视图参考图。

图3是示出了根据本文所描述原理的示例的、分别由未冻结视图和冻结视图产生的两个得到的视图参考图的示图。

图4a和图4b是根据本文所描述原理的示例的、分别在视点运动之前和之后的视图视锥体和平板计算机视锥体的俯视图。

图5是示出了根据本文所描述原理的一个示例的、将二维(2d)输入应用到三维(3d)空间中的方法的流程图。

在所有附图中,相同的附图标记指代类似但不一定相同的元件。

具体实施方式

如上所述,cad制图用于在3d空间内创建3d对象。在一些情况下,用户可以在计算设备上执行cad程序,该计算设备接收来自输入设备的输入并将此输入转化到二维(2d)屏幕上。然而,将3d工作空间内的3d对象实现为显示在2d屏幕上并不直观。

在一些示例中,触笔用作输入设备。在此示例中,触笔可以在3d空间内移动以便允许用户创建3d对象。然而,与传统的受2d约束的输入方法相比,用户的手臂、手和触笔都不受支撑的这种输入方法已经被证明是不精确的。可以使用其他类型的输入设备,但是通常这些类型的输入设备对用户来说不直观,并且要实施一定量的练习和/或意识视像化以创建预期的3d对象。

因此,本说明书描述了一种输入系统,该输入系统可以包括:触笔;可定位输出设备;平板计算机,经由与触笔的交互来接收输入;以及三维(3d)工作空间,其表示在通信地耦接到平板计算机的可定位输出设备的图形用户界面(gui)上,其中,平板计算机上的二维(2d)输入基于3d工作空间中表示的输入平面的取向而转化为3d工作空间上的3d输入,并且其中,触笔与平板计算机的界面接合冻结在可定位输出设备上显示的平板计算机到输入平面映射的视图。

本说明书进一步描述了一种将二维(2d)输入应用到三维(3d)空间中的方法,该方法包括:在处理器处接收来自第一输入设备的、指示在输出设备上表示的3d空间内的输入平面的位置变化的输入;在处理器处接收来自具有2d表面的第二输入设备的、指示要在3d空间中绘制的线条的输入;将来自第二输入设备的所接收输入表示为在输出设备上显示的3d空间上的3d图像;以及当触笔与第二输入设备交互并且当输出设备移动时,保持来自第二输入设备的输入到3d空间内的输入平面的当前映射。

本说明书还描述了一种用于将二维(2d)输入应用到三维(3d)空间中的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质包括与其一起实施的计算机可使用程序代码,该计算机可使用程序代码在由处理器执行时进行以下操作:在处理器处接收来自第一输入设备的、指示在输出设备上表示的3d空间内的输入平面的位置变化的输入;在处理器处接收来自具有2d表面的第二输入设备的、指示要在3d空间中绘制的线条的输入;将来自第二输入设备的所接收输入表示为在输出设备上显示的3d空间内的3d图像;以及当触笔与第二输入设备交互时并且当输出设备移动时,保持来自第二输入设备的输入到3d空间内的输入平面的当前映射。

如在本说明书和所附权利要求中所使用的,术语“视锥体”旨在被理解为在观看时可见的任何三维区域。在一些示例中,视锥体被称为“视图视锥体”。在示例中,视锥体具有截取的四棱锥的3d形状。

另外,如在本说明书和所附权利要求中所使用的,术语“多个”或类似的语言旨在被概括地理解为包括1到无穷大的任何正数。

在以下说明中,出于解释的目的,阐述了许多具体细节以提供对本系统和方法的透彻理解。然而,对本领域技术人员将明显的是,可以在没有这些具体细节的情况下实践本装置、系统和方法。说明书中对“示例”或类似语言的引用指的是,结合所述示例所描述的具体特征、结构或特性按照所描述的那样被包括,但可以不包括在其他示例中。

现在转到附图,图1是根据本文所描述原理的示例的输入系统(100)的示图。输入系统(100)可以包括触笔(105)和平板计算机(110)以及可定位输出设备(115),该可定位输出设备中显示有三维(3d)工作空间(120)。现在将更详细地描述这些设备中的每一个。

触笔(105)可以是用户可以握持并接触到诸如平板计算机(110)等表面的任何类型的细长设备。在一个示例中,触笔(105)是无源或电容式触笔,其中,例如,触笔(105)在接触触敏屏时就像人的手指一样起作用。在此示例中,在无源触笔与诸如平板计算机(110)等设备之间不存在电子通信。在一个示例中,触笔(105)是有源触笔(105),其中,触笔(105)包括与在诸如平板计算机(110)等设备上的触摸屏控制器进行通信的电子部件。在使用期间,用户可以将触笔(105)实施为抵靠或靠近平板计算机(110),以便使输入被接收并呈现在可定位输出设备(115)内的3d工作空间(120)上。

可定位输出设备(115)可以是将观看表面实现为在3d工作空间(120)内表示3d对象或图像的任何设备。在一个示例中并且为了便于本文描述,可定位输出设备(115)是虚拟现实(vr)头戴式设备,其实现被称为立体图的立体图像以在3d工作空间(120)内表示3d对象或图像。基于用户要在vr头戴式设备(115)内显示的内容,由3d工作空间(120)示出的图像可以是静止图像或视频图像。vr头戴式设备(115)可以经由多个目镜屏幕向用户呈现3d工作空间(120)和3d对象或图像。在示例中,目镜屏幕被置于眼镜或护目镜系统中,以允许用户同时观看两个目镜屏幕。这通过使用两个独立的目镜屏幕产生了3d工作空间(120)和3d对象的错觉。

vr头戴式设备(115)可以进一步包括陀螺仪设备和加速度计。陀螺仪可以用于当vr头戴式设备(115)在用户头部上时来检测vr头戴式设备(115)在3d空间中的取向。加速度计可以用于当vr头戴式设备(115)从3d空间中的一个位置行进到3d空间中的另一个位置时来检测该vr头戴式设备的速度以及速度变化。陀螺仪和加速度计可以向处理器提供这些数据,使得vr头戴式设备(115)在其处于用户头部上时的移动被转化为3d工作空间(120)内的视点变化。

尽管本说明书描述了用户实施vr头戴式设备(115)以便利用3d工作空间(120)来呈现,但是也可以使用其他类型的环境。在一个示例中,可以使用增强现实(ar)环境,其中在ar环境内绘制3d对象的同时真实世界的各方面可以以视觉表示的方式被观看。因此,非常类似于本文所描述的vr系统,ar系统可以包括经由计算机屏幕、或包括多个屏幕的头戴式设备、以及其他类型的设备而提供给用户以呈现3d工作空间(120)的视觉表示的视觉呈现。因此,本说明不仅设想使用vr环境而且还设想使用ar环境。

在操作期间,用户可以使用触笔(105)和平板计算机(110)向处理器提供输入。该输入然后被处理并经由vr头戴式设备(115)呈现给用户。因此,用户可以实时创建输入并查看所创建的输入。这允许用户操纵3d工作空间(120)以及在其中创建的3d对象,以便创建或增强该3d对象。在一个示例中,处理器可以是平板计算机(110)和/或vr头戴式设备(115)的内置部件。在一个示例中,处理器可以是与平板计算机(110)和/或vr头戴式设备(115)分离的计算设备的部件。在此示例中,计算设备可以接收来自平板计算机(110)和触笔(105)的输入,并使处理器将经处理的数据实时地中继到vr头戴式设备(115)。

处理器可以在电子设备中实施。电子设备的示例包括服务器、台式计算机、膝上型计算机、个人数字助理(pda)、移动设备、智能电话、游戏系统、vr头戴式设备(115)、和平板计算机、以及其他电子设备。

处理器可以用于任何数据处理场景,包括独立硬件、移动应用程序、通过计算网络、或其组合。进一步地,处理器可以用于计算网络、公共云网络、私有云网络、混合云网络、其他形式的网络、或其组合。在一个示例中,由处理器提供的方法作为服务由例如第三方通过网络提供。在此示例中,服务可以包括例如以下内容:托管多个应用程序的软件即服务(saas);托管包括例如操作系统、硬件和存储设备等在内的计算平台的平台即服务(paas);托管诸如例如服务器、存储部件、网络和部件等设备的基础设施即服务(iaas);应用程序编程接口(api)即服务(apiaas)、其他形式的网络服务、或其组合。本输入系统(100)可以在一个或多个硬件平台上实施,其中,系统中的某些模块可以在一个平台上或跨多个平台执行。

输入系统(100)可以进一步包括各种硬件部件。这些硬件部件可以是上述处理器、多个数据存储设备、多个外围设备适配器、以及多个网络适配器。这些硬件部件可以通过使用多个总线和/或网络连接来互连。在一个示例中,处理器、数据存储设备、外围设备适配器和网络适配器可以经由总线通信地耦接。

处理器可以包括用于从数据存储设备中检索可执行代码并执行所述可执行代码的硬件架构。该可执行代码当由处理器执行时可以使处理器至少实施以下功能:接收输入并且根据本文所描述的本说明书的方法经由vr头戴式设备(115)向用户显示一张图像或一系列图像。在执行代码的过程中,处理器可以从其余多个硬件单元接收输入并且可以向其余多个硬件单元提供输出。

数据存储设备可以存储诸如由处理器或另一处理设备执行的可执行程序代码等数据。如将讨论的,数据存储设备可以具体地存储表示处理器执行以至少实施本文所描述的功能的多个应用程序的计算机代码。

数据存储设备可以包括各种类型的存储器模块,包括易失性存储器和非易失性存储器。例如,本示例的数据存储设备包括随机存取存储器(ram)、只读存储器(rom)和硬盘驱动器(hdd)存储器。还可以利用许多其他类型的存储器,并且本说明书设想在数据存储设备中使用可能适合本文所描述原理的特定应用程序的许多不同类型的存储器。在某些示例中,数据存储设备中的不同类型的存储器可以用于不同的数据存储需要。例如,在某些示例中,处理器可以从只读存储器(rom)启动,保持硬盘驱动器(hdd)存储器中的非易失性存储内容,并执行存储在随机存取存储器(ram)中的程序代码。

通常,数据存储设备可以包括计算机可读介质、计算机可读存储介质或非暂时性计算机可读介质等。例如,数据存储设备可以但不限于是电子、磁性、光学、电磁、红外或半导体系统、装置或设备、或前述的任何合适的组合。计算机可读存储介质的更具体示例可以包括例如以下内容:具有多个电线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪速存储器)、便携式光盘只读存储器(cd-rom)、光学存储设备、磁性存储设备、或前述的任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是可包含或存储计算机可使用程序代码以供指令执行系统、装置或设备使用或与之结合使用的任何有形介质。在另一示例中,计算机可读存储介质可以是可包含或存储程序以供指令执行系统、装置或设备使用或与之结合使用的任何非暂时性介质。

硬件适配器使得处理器能够与各种其他硬件元件接口连接。例如,外围设备适配器可以提供到诸如例如显示设备、vr头戴式设备(115)、鼠标或键盘等输入/输出设备的接口。外围设备适配器还可以提供对其他外部设备的访问,所述外部设备诸如外部存储设备、多个网络设备(诸如例如服务器、交换机和路由器)、客户端设备、其他类型的计算设备、及其组合。

在示例中,vr头戴式设备(115)可以用与台式计算设备或膝上型计算设备相关联的显示屏代替。在此示例中,输入系统(100)的操作可以类似于上述实施有触笔(105)和平板计算机(110)的输入系统(100)。在一个示例中,平板计算机视锥体(210)的边界和用户视图视锥体(205)的边界将是相等的。在一个示例中,平板计算机视锥体(210)的边界和用户可见视锥体(205)的边界不相等,其中平板计算机视锥体(210)的边界或用户可见视锥体(205)的边界中的任一个相对于另一个相对较大。

在示例中,vr头戴式设备(115)可以用与台式计算设备或膝上型计算设备相关联的触摸屏显示器代替。在此示例中,除了平板计算机视锥体(210)和用户可见视锥体(205)的边界是相同的之外,操作可以类似于上述操作。在显示器是立体3d显示器的示例中,输入系统(100)可以允许以下事实:触笔(105)在3d工作空间(120)中的深度可见并固定在触摸屏的表面处。因此,如果在触摸屏的表面上绘制倾斜到3d工作空间中的线条,则视图将跟随,即,在触笔(105)绘制时会放大工作空间以跟随触笔。

图2a和图2b是根据本文所描述原理的示例的、在vr头戴式设备(115)中实现的用户视图参考图(200)。在vr头戴式设备(115)中呈现的视图包含输入平面(215)以及多个视锥体(205、210)。视锥体(205、210)包括用户视图视锥体(205)和平板计算机视锥体(210)。对于上述vr头戴式设备(115)的特定位置和取向,用户视图视锥体(205)是对实施此vr头戴式设备(115)的用户可见的所有3d空间或3d工作空间(120)。此虚拟空间体积可以包括多个小工具(widgets),用户可以通过实施诸如鼠标或触笔(105)和平板计算机(110)等输入设备来访问多个小工具。通过实施小工具,用户可以调整输入平面(215)的位置和/或用户视图视锥体(205)内由平板计算机视锥体(210)占据的空间。另外,小工具可以包括其他3d对象编辑命令,包括任何数量的绘制工具,诸如调色板、填充、线条绘制工具、对象形成工具、裁剪工具和切割工具等。

平板计算机视锥体(210)可以始终包括在用户视图视锥体(205)内。平板计算机视锥体(210)对应于平板计算机(110)的2d表面上的映射区域。在示例中,用户可见视锥体(205)和平板计算机视锥体(210)共享相同的视点(220)。在vr头戴式设备(115)的操作期间,当用户正在观看3d工作空间(120)时,vr头戴式设备(115)的移动会改变3d工作空间(120)内的视图。作为示例,如果用户在佩戴vr头戴式设备(115)时向左看,则vr头戴式设备(115)的目镜屏幕将向用户显示该视图左侧的视图。在一些示例中,当用户向左看时,3d工作空间(120)内的3d对象的视图可能“离开屏幕”,使得为了再次观看3d对象,用户可以将他或她的头部定位在初始位置。如果用户要看向任何其他方向:右方、上方、下方等,则同样适用。因此,对于用户而言,3d工作空间(120)中的3d对象看起来保持在3d工作空间(120)内的特定位置,而转移目光的是用户。如此,用户可以使用所描述的输入系统(100)在3d工作空间(120)内绘制任意数量的3d对象。

在用户视图视锥体(205)和平板计算机视锥体(210)内,输入平面(215)可以是可见的。如上所述,可以使用各种用户小工具在3d工作空间(120)内自由地平移和旋转输入平面(215)。输入平面(215)的边界可以至少一直延伸到平板计算机视锥体(210)的侧面。在一个示例中,在输入平面(215)在3d工作空间(120)内极端旋转的情况下,输入平面(215)不延伸超出用户视图视锥体(205)的近平面(225)或远平面(230)。在一个示例中,输入平面(215)延伸超出3d工作空间(120)内用户视图视锥体(205)的近平面(225)或远平面(230)。在一个示例中,处理器防止输入平面(215)旋转或移动到其在vr头戴式设备(115)中呈现的图像中看上去为侧立的位置。在此示例中,观看输入平面(215)的侧立视图的用户将仅看到表示输入平面(215)的边缘的线条。在这种情况下,可能难以在这种配置下在输入平面上进行绘制。

在操作期间,用户可以用触笔(105)接合平板计算机(110),从而在输入平面(215)上创建点(235)。从笔输入位置和输入平面创建的线条(230)在平板计算机视锥体内产生交点。图2b示出了用户绘制线条(240)。然后在3d工作空间(120)的用户视图视锥体(205)内的输入平面(215)上产生线条(240)的数字表示。在已经绘制线条之后,可以根据需要重新定位输入平面(215)以使得用户能够在3d工作空间中的不同位置绘制线条。在另一种模式中,移动输入平面(215)还可以移动与此输入平面(215)相关联的所有线条。另外,可以选择用户绘制的任何线条,使得可以重新调用在其上绘制线条的输入平面(215),从而再次显示此相应的输入平面(215)。这将使得能够在此输入平面(215)上添加另外的线条,或者允许通过移动输入平面来一起移动与此平面相关联的所有线条。虽然本文的说明将来自平板计算机(110)和触笔(105)的输入称为“线条”,但是来自这些设备的各种其他类型的输入可以产生被映射到输入平面(215)上的各种其他类型的标记。这些其他类型的标记的示例可以包括:点、2d形状、填充的2d形状、3d形状、填充的3d形状、剪贴画和曲线等。因此,术语“线条”并不意味着限制,而是仅仅意味着作为可以由从平板计算机(110)和触笔(105)接收的输入产生的标记的示例。

在一个示例中,输入平面(215)可以在3d工作空间(120)内移动或旋转。当用户在输入平面(215)上进行绘制时,基于3d工作空间(120)内由输入平面(215)占据的平面来创建3d对象。如上所述,在一个示例中,用户可以通过使用在输入平面(215)旁边显示的多个小工具来定位输入平面(215)。在一个示例中,用户可以通过将触笔(105)置于专用操纵模式来定位输入平面(215)。在此示例中,触笔(105)可以包括按钮或其他激活设备以从“绘制”状态切换到“输入平面(215)操纵”状态。在一个示例中,输入平面(215)可以通过使用六自由度(dof)输入设备来定位。在此示例中,六dof输入设备可以由用户通过使用用户的不用于绘制的手或未握持触笔(105)的手来控制。

在一个示例中,输入平面(215)可以“对准”到预定的距离和角度增量。在此示例中,用户可以使用上述小工具来输入输入平面(215)的坐标。在此示例中,来自用户的用于调整输入平面(215)的位置的某些输入可能不被接受,直到用户提供指示输入平面(215)可以与特定位置“解除对准”的进一步指令。在示例中,输入平面(215)可以“对准”到3d工作空间(120)中的预先存在的位置。在此示例中,3d工作空间(120)中的预先存在的位置可以包括先前绘制的线条的端部。进一步地,用户可以具体地通过以下方式将输入平面(215)定位在3d工作空间(120)内:将输入平面(215)的一条轴线对准在现有线条的两个端点之间,并且然后围绕此创建的轴线自由旋转输入平面(215)以便达到期望的取向,该取向可能会使该平面对准成与第三点相交。

输入平面(215)本身也可以被操纵。在一个示例中,用户可以致动在3d工作空间(120)内显示的小工具以使输入平面(215)弯曲。在此示例中,可以通过使用小工具来操纵输入平面(215)沿其轴线的曲率。在此示例中,用户可以以任何方式操纵输入平面的曲率,从而允许用户既可以使输入平面(215)弯曲又可以将边缘和/或拐角添加到输入平面(215)中。在一个示例中,在输入平面(215)上绘制的线条或其他标记可以用于创建具有用户定义的形状的新的3d输入平面(215)。在一个示例中,在输入平面(215)上绘制的曲线可以垂直于此输入平面(215)被挤出,以创建用户还可以实施的附加输入平面(215)。因此,当用户正在3d工作空间(120)中绘制3d对象时,可以使用附加小工具以在原始输入平面(215)与附加输入平面(215)之间切换。可以创建任意数量的输入平面(215)。为了防止由于大量所创建的输入平面(215)而阻挡3d对象的视图,在创建附加输入平面(215)时,可以光学地移除、淡出或阴影化先前创建的输入平面(215)。再次,当选择所绘制的线条时,可以示出与此线条相关联的输入平面(215),同时从视图中移除或淡出或阴影化其他输入平面(215)。

在一个示例中,因为输入系统(100)实施vr头戴式设备(115),所以用户头部位置的变化会改变平板计算机视锥体(210)的位置。因此,例如,当用户正在绘制曲线时,会更改3d工作空间(120)内的当前视图,并且可能改变输入平面(215)相对于平板计算机视锥体(210)的位置。在一个示例中,平板计算机视锥体(210)相对于3d工作空间(120)的运动可以被用户冻结。在一个示例中,当触笔(105)接合平板计算机(110)的表面时,可以实现平板计算机视锥体(210)的冻结。在一个示例中,在触笔(105)处于平板计算机(110)上方的阈值“悬停(hover)”距离内时,可以实现平板计算机视锥体(210)的冻结。当触笔(105)从平板计算机(110)的表面抬起时,当超过平板计算机(110)与触笔(105)之间的阈值距离时,或者当用户明确地激活重新启用平板计算机视锥体(210)的移动的小工具时,可以重新启用平板计算机视锥体(210)的运动或调整。

在一个示例中,输入系统(100)实施增强现实(ar)头戴式设备。如上所述,向用户提供真实世界的各方面以及在ar环境中绘制的3d对象的视觉表示。在操作期间,用户可以如上所述类似地绘制并调整正在形成的3d对象。然而,在一个示例中,实施ar头戴式设备的用户可以与ar环境中的真实表面交互。具体地,实施上述平板计算机(110)和触笔(105)的用户可以将3d对象绘制到已经通过例如与输入系统(100)相关联的激光映射系统映射的真实世界表面上。可见真实世界表面的这种映射允许用户在诸如墙壁、天花板和地板等真实世界表面的表面上进行虚拟绘制。另外,因为可以以这种方式映射所有真实世界表面,所以输入平面可以是这些真实世界表面。因此,如上所述,输入平面(215)不仅可以包括平坦表面而且可以包括弯曲表面,诸如球形、管形、圆锥形、方形、以及任何其他弯曲的或多表面的对象。在此示例中,用户可以虚拟地将对象添加到任何真实世界对象的表面上,向任何真实世界对象的表面添加颜色,并将虚拟3d对象结合到真实世界表面和对象中或其上,以及进行其他动作。

在用户实施ar头戴式设备的示例中,可以如上所述映射任何真实世界表面并将其外延到虚拟3d对象中。这允许用户“复制”真实世界表面并将此副本置于ar环境中。这允许用户如上所述操纵3d对象并将此新复制的表面定义为输入平面(215)本身。可以向用户提供与结合vr环境描述的小工具类似的设置在ar环境中的多个小工具,以执行如本文所描述的“复制”、“移动”、以及输入平面(215)指定动作。图3是示出了根据本文所描述原理的示例的分别由未冻结视图(305)和冻结视图(310)产生的两个得到的视图参考图的示图。初始视图参考图(300)示出了上述用户视图视锥体(205)和平板计算机视锥体(210)以及输入平面(215)。如上所述,在初始视图(300)中,用户当前正在经由平板计算机(110)和触笔(105)在输入平面(215)的表面上绘制对象。在输入平面(215)上示出的触笔(105)仅供参考,并且不应被理解为输入平面(215)包括触笔(105)的视觉表示。

如上所述,用户可以冻结平板计算机视锥体(210)相对于3d工作空间(120)和用户可见视锥体(205)的运动。在没有冻结平板计算机视锥体(210)的情况下,结果是未冻结视图(305)。在未冻结视图(305)中,当前正在绘制的用户可能错误地在不期望的输入平面(215)上的位置处进行绘制。在图3所示的示例中,未冻结视图(305)示出了当前所绘制的对象(315)包括非故意标记(320)的情况。非故意标记(320)是由于vr头戴式设备(115)的用户转动他或她的头部(在此示例中,向右转动)而导致平板计算机视锥体(210)相对于3d工作空间(120)的运动改变的结果。因为用户不能将平板计算机视锥体(210)保持在同一位置,所以绘制了非故意标记(320)。然而,用户可以激活冻结状态,以便保持冻结视图(310)。在一个示例中,对于用户头部和vr头戴式设备(115)的较小移动,平板计算机视锥体(210)相对于输入平面(215)保持固定,而视图视锥体(205)随着用户头部移动。在一个示例中,用户头部和vr头戴式设备(115)的移动使得平板计算机视锥体(210)独立于用户视图视锥体(205)而围绕用户的视点枢转,使得由触笔(105)产生的标记的当前x和y坐标位置不会改变。这可以在图4a和图4b中看到。如上所述,根据一个示例,用户可以通过将触笔(105)施加到平板计算机(110)的表面来进入冻结视图(310)。在一个示例中,用户可以通过使触笔(105)的一端超过距平板计算机(110)的表面的阈值距离来进入冻结视图(310)。在又一个示例中,用户可以通过按下触笔(105)上的按钮来进入冻结视图(310)。在进一步示例中,用户可以通过致动置于3d工作空间(120)内的小工具来进入冻结视图(310)。

图4a和图4b是根据本文所描述原理的示例的、分别在视点运动之前和之后的视图视锥体(205)和平板计算机视锥体(210)的俯视图。如上文简要描述的,当用户已经完成将输入平面(215)移动到特定位置时,在用户移动其视点时,输入平面(215)在3d工作空间(120)中保持固定。另外,如上所述,触笔(105)在平板计算机(110)上的当前(x,y)位置到输入平面(215)的映射被锁定。因此,如果触笔(105)被置于例如平板计算机(110)的右上角上,则当前所绘制对象(315)将出现在平板计算机视锥体(210)的右上边缘与输入平面(215)相交的位置处。如果触笔(105)在平板计算机(110)上保持静止,并且使用vr头戴式设备(115)的用户移位和/或转动他或她的头部使得当前所绘制对象(315)位于用户视图视锥体(205)的中心,则触笔(105)在输入平面(215)上的位置不变。另外,当前所绘制对象(315)应保持当前所绘制对象(315),而不会在输入平面(215)上进行附加标记。图4b示出了平板计算机视锥体(210)和视图视锥体(205)两者都往回指向同一视点,但现在在不同的方向上延伸,使得平板计算机视锥体(210)内的笔位置与输入平面(215)的交点(由当前所绘制对象(315)标记的点)保持固定。为简单起见,上述示例假设触笔(105)在用户改变其视点时不移动,但这不是必需的。在每个显示更新周期中,如上所述重新计算平板计算机视锥体(210),并且然后基于此新映射将平板计算机(110)上的触笔(105)位置的任何变化转化为输入平面(215)上的笔划输入。

在示例中,可以将线条或其他指示符置于3d工作空间(120)内,以指示平板计算机视锥体(210)的边界。在一个示例中,指示平板计算机视锥体(210)的边界的指示符可以始终对用户可见。在另一个示例中,指示平板计算机视锥体(210)的边界的指示符可以在用户的触笔(105)接近平板计算机视锥体(210)的边界时变得可见。

上述冻结特征使得用户可以在3d工作空间(120)内绘制3d对象而不会无意中产生非故意标记。在绘制过程中,用户可能无法保持他或她的头部完全静止,相反,用户的头部位置可能会存在无意的小移位,其中这些移位的影响会根据3d工作空间(120)中的视点与输入点之间的距离而显著放大。为了支持精确输入,可以至少在触笔(105)笔划的持续时间内如上所述冻结映射。

图5是示出了根据本文所描述原理的一个示例的、将二维(2d)输入应用到三维(3d)空间中的方法(500)的流程图。方法(500)可以开始于在处理器处接收(505)来自第一输入设备的、指示在输出设备上表示的3d空间内的输入平面(215)的位置变化的输入。在一个示例中,第一输入设备是触笔(105)和平板计算机(110)。在此示例中,触笔(105)可以用于如上所述调整输入平面(215)。在一个示例中,第一输入设备是鼠标。在此示例中,用户可以与鼠标一起实施触笔(105)和平板计算机(110),以在3d工作空间(120)中绘制3d图像并调整输入平面(215)。

方法(500)可以继续在处理器处接收(510)来自具有2d表面的第二输入设备的、指示要在3d空间中绘制的线条的输入。在一个示例中,第二输入设备是触笔(105)和平板计算机(110)。如上所述,触笔(105)和平板计算机(110)接收(510)输入并将该输入传递到与输入系统(100)相关联的处理器上。

方法(500)可以继续将来自第二输入设备的所接收输入表示(515)为在用户界面上显示的3d空间内的3d图像。处理器将由触笔(105)和平板计算机(110)呈现的输入数据转换为图像数据,并经由例如上述vr头戴式设备(115)或ar头戴式设备将该图像数据呈现给用户。在表示(515)来自第二输入设备的所接收输入期间,当触笔与第二输入设备交互时并且在vr头戴式设备移动时,处理器保持(520)来自第二输入设备的输入到vr头戴式设备内的输入平面的当前映射。如上所述,保持(520)来自例如平板计算机的输入到输入平面的当前映射允许vr头戴式设备(115)的用户在3d工作空间(120)中绘制3d对象的同时调整他或她的头部位置。这防止用户无意和错误地绘制笔划。

本文参考根据本文所描述原理的示例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图描述了本系统和方法的各方面。流程图图示和框图的每个框、以及流程图图示和框图中的框的组合可以由计算机可使用程序代码来实施。计算机可使用程序代码可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生一种机器,使得计算机可使用程序代码在经由例如处理器或其他可编程数据处理装置执行时实施流程图和/或框图的一个或多个框中指定的功能或动作。在一个示例中,计算机可使用程序代码可以实施在计算机可读存储介质内;计算机可读存储介质是计算机程序产品的一部分。在一个示例中,计算机可读存储介质是非暂时性计算机可读介质。

说明书和附图描述了一种实施虚拟现实头戴式设备的输入系统,以向用户提供在3d工作空间内创建3d图像的相对直观的方式。本文所描述的输入设备和方法允许用户调整输入平面,以便将平板计算机上的2d输入转化为3d工作空间内的3d图像。另外,冻结特征使得用户可以在仍然在平板计算机上进行绘制的同时使用vr头戴式设备。当触笔接触平板计算机或距平板计算机超过阈值距离时,冻结特征冻结平板计算机到输入平面的映射。结果提供了用户在输入平面上输入笔划,而在用户转动他或她的头部时用户的头部位置变化不会导致非故意标记。

呈现前述说明以展示和描述所述原理的示例。此说明不旨在是穷尽性的或将这些原理限制为所公开的任何精确形式。鉴于以上教导,许多修改和变型都是可能的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1