沿平面移动的方法
(映维网Nweon 2023年10月19日)当在XR环境中模拟一个或多个虚拟对象时,为了提高真实感,一个或多个特征需要以符合至少一个物理定律的方式进行调整。所以在名为“Xr preferred movement along planes”的专利申请中,苹果提出了一种改进的技术来渲染虚拟对象,尤其是在沿平面移动时。
具体地说,电子设备可以初始化一个虚拟对象,使其看起来好像是放置在通过显示器查看的环境中的物理表面之上。电子设备可以获取或以其他方式访问真实环境的几何信息,特别是真实环境中的一个或多个物理表面。电子设备同时可以获得具有不同粒度水平的真实环境中表面地理的两个或多个表示。
作为示例,电子设备可以接收平面表示形式的第一表示。第一表示与所述表面相关联的真实环境物理空间中的平面;所述电子设备可以接收第二表示,第二表示包括所述表面几何形状的更细粒度表示,例如网格表示。
在一个实施例中,利用物理表面的较少颗粒表示可能比更颗粒表示更有效。当确定如何呈现位于物理表面之上的虚拟对象时,电子设备可以首先确定虚拟对象将渲染的点。然后,所述电子装置可以比较所述第一表示和所述第二表示。电子设备可以在初始化点比较用于较少颗粒表示(即平面表示)的第一法线和用于更颗粒表示(网格表示)的第二法线。
如果第一法线和第二法线足够相似,则电子设备使用较少颗粒表示来呈现和显示虚拟对象;如果第一法线和第二法线实质上不同,则电子设备可以使用更细粒度的表示来呈现和显示虚拟对象。
苹果指出,通过利用较少粒度的表示,可以减少渲染和呈现虚拟对象所需的资源,从而优化电子设备的性能。
在进一步的实施例中,如果使用网格表示来初始化对象,则可以使用网格表示来确定虚拟对象如何在物理表面之上移动。例如,如果用户令虚拟对象看起来沿着表面移动,则电子设备可以根据确定的表示呈现移动。因此,如果第一法线与第二法线足够不同,则可以根据一个或多个实施例确定物理表面实质上不平坦,并且应该使用更细粒度的表示来确定如何渲染和显示虚拟对象。
当虚拟对象移动时,电子设备可以在表示之间切换以确定虚拟对象应该如何呈现。
电子设备可以最初获得物理环境中物理表面的仅一部分的几何表示。当虚拟对象沿着表面移动时,电子设备在接收虚拟对象移动的物理表面的更新表示时可能会遇到延迟。
因此,当虚拟对象接近物理表面的几何表示的末端时,则电子设备可以通过在运动方向扩展平面表示来推断额外的几何数据,以便电子设备可以继续呈现沿着表面移动的虚拟对象,直到获得更新的几何表示。在获得更新的几何表示后,电子设备可以相应地更新虚拟对象的呈现。
图1描述了电子设备100的简化框图。存储器140可以包括电子设备100用来提供XR环境的数据。几何表示存储器142和虚拟对象存储器144可以存储或托管在电子设备100内的不同位置。摄像头105可以包括立体或其他多摄像头系统、飞行时间摄像头系统等,并配置为捕获图像,并从中确定场景的深度信息。
虚拟化模块134用于生成用于表示的虚拟对象,并将虚拟对象渲染成看起来像放置在物理环境中的物理表面上和/或在物理表面上移动。为了确定呈现和显示虚拟对象的位置,虚拟化模块可以利用一个或多个几何表示来确定要呈现虚拟对象的物理表面的几何形状。
根据一个或多个实施例,在可用时使用较少粒度的表示可能更有效。所以,虚拟化模块可以基于将在其上呈现虚拟对象的表面的表示的特征,从多个几何表示中进行选择。
在图2中,物理环境200包括物理表面230。所述物理表面230可以是或可以不是平面。电子设备100可以捕获物理环境200的视图,并可以获得物理表面的两个或多个几何表示,而所述几何表示具有不同的粒度。
作为示例,几何表示210描述了示例平面表示,其识别物理表面230或多或少由平面组成。平面表示210可以识别与物理环境200中的物理表面相对应的物理环境中的二维平面。
相比之下,几何表示220描绘了网格表示,从而不仅识别了物理表面230的平面部分,而且识别了位于物理表面230之上的附加物理对象240的几何形状。
网格表示可以包括物理对象表面的几何形状的详细表示,例如物理表面230。这样,网格表示可以包括物理表面230的三维表示。因此,几何表示220提供了比几何表示210具有更多粒度的物理表面230的表示。
电子设备100可以利用物理表面230的各种几何表示,以便通过渲染和显示虚拟对象来提供XR环境,就好像它们位于物理表面230和/或物理环境200中的附加物理对象240之上一样。
图3示出呈现虚拟对象的流程图。
从305开始,表示模块132检测真实环境中的物理表面。所述电子设备100可以首先扫描所述电子设备所在的物理环境的至少一部分。
在310,虚拟化模块134在物理表面上为虚拟对象识别和初始化位置。作为示例,虚拟化模块134可以在显示器160的视图内确定物理表面上的一般位置。
在315,表示模块132获得物理表面的第一表示。在一个或多个实施例中,第一表示可以包括平面表示。
在320,电子设备100可以获得物理表面的第二表示。在一个或多个实施例中,第二表示可以包括用于物理表面的网格表示。第一表示可以是二维表示,而第二表示可以是物理表面的三维表示。
在325,虚拟化模块134确定基于平面表示和网格表示呈现虚拟对象的位置。
在330,虚拟化模块134根据所确定的位置呈现所述虚拟对象。虚拟对象可以以与三维空间中确定的位置一致的比例呈现。另外,可以将虚拟对象显示为通过电子设备的显示向查看物理环境的用户显示,仿佛虚拟对象位于物理环境中的物理表面之上。
图4显示了确定渲染虚拟对象位置的流程图。
在405,虚拟化模块134确定初始化位置的第一表示的第一法线。如上所述,第一表示可以与物理环境中物理表面的较少颗粒或较少详细的几何表示相关联。根据一个或多个实施例,可以确定物理表面上应该呈现虚拟对象的点或区域。然后,可以通过识别第一个表示上的点或区域来确定第一法线。
在410,虚拟化模块134在初始化位置确定用于第二表示的第二法线。如上所述,第二表示可以与物理环境中物理表面的比第一表示更细粒度或更详细的几何表示相关联。根据一个或多个实施例,可以确定物理表面上应该呈现虚拟对象的点或区域。然后,可以通过识别第二表示的点或区域来确定第二法线。
在415,计算第一个法线和第二个法线之间的差值。例如,可以根据两个法线之间的角距离来确定差异。
在420,确定计算的差异是否满足阈值。
如果在420处确定第一法线和第二法线之间的差异不满足阈值,则流程图继续转到425,并确定第一表示和第二表示在初始化位置之间的距离。换句话说,对于将在其上显示虚拟对象的物理表面上的给定点或区域,确定第一表示中的对应点或区域与第二表示中的对应点或区域之间的距离。例如返回到图2,在第一表示210中,包含附加物理对象240的表面上的点可能出现在桌面的表面之上,而在第二表示220中,由于第二表示的粒度级别增加,它可能出现在附加物理对象240的顶部。因此,距离可以在三维空间中计算为几何表示中两个点或区域之间的距离,在一个共同的坐标系内。
在430,对所计算的距离是否满足预定阈值作出确定。在一个或多个实施例中,阈值可以是单个值,或者可以基于物理表面、虚拟对象、电子设备等的特征。例如,如果电子设备更接近物理表面,则可以使用较小的阈值来确保虚拟对象在XR环境中看起来真实。
如果在430确定距离不满足阈值,则流程图转到435,其中电子设备100根据第一表示呈现虚拟对象。换句话说,如果第一表示与第二表示的平面法线差较小,并且两种表示之间的距离较小,则可以利用较小粒度的表示。
如果在420确定第一法线和第二法线之间的差满足阈值,或者如果在430确定第一表示和第二表示之间的距离满足阈值,则流程转到440。
在440,虚拟化模块134确定设备与表面之间的第一个交点。在一个或多个实施例中,从从电子设备到物理表面上的目标的视图向量确定第一交点为第一几何表示和第二几何表示之一。
在445,虚拟化模块134根据第一个交点呈现虚拟对象。即,如果第一个交点与第一种几何表示发生,则虚拟化模块134根据第一种几何表示呈现虚拟对象。相反,如果第一交点与第二几何表示发生,则虚拟化模块134根据第二几何表示呈现虚拟对象。换句话说,虚拟化模块134利用第二种更细粒度的几何表示来确定如何呈现虚拟对象,以便通过显示器使其看起来位于物理对象之上。
图6示出了在沿着表面移动时呈现虚拟对象的流程图。
从605开始,虚拟化模块134检测到虚拟对象沿着物理表面移动。在一个或多个实施例中,虚拟对象的移动可包括指示虚拟对象应沿着物理表面移动的识别用户输入。
在610,虚拟化模块134确定所述虚拟对象位于所述第一表示的边缘的预定距离内。
在615,表示模块132修改第一表示以包括虚拟对象移动方向上的扩展表示。换句话说,当虚拟对象向由所述平面表示的物理表面的边缘移动时,所述表示模块132可以修改所述几何表示,使得所述虚拟对象可以继续呈现,就好像它沿着所述扩展表示移动一样。
在620,虚拟化模块134可以根据扩展的第一表示将虚拟对象呈现为沿着物理表面移动。所述电子设备100可以简单地扩展所述几何表示,以补偿所述物理表面部分缺乏可用的已获得的几何表示,而不是利用由所述电子设备100确定或以其他方式获得的几何表示。
在625,确定是否已收到更新的第一表示。在接收到更新的表示形式之前,虚拟化模块134根据扩展的第一表示形式继续呈现虚拟对象沿着物理表面移动,如620所述。然而,如果确定接收到第一更新的第一表示,则流程图继续转到630,并根据更新的第一表示呈现虚拟对象。
相关专利:Apple Patent | Xr preferred movement along planes
https://patent.nweon.com/30934
名为“Xr preferred movement along planes”的苹果专利申请最初在2023年6月提交,并在日前由美国专利商标局公布。