/ Nweon / 0浏览

苹果专利分享针对AR/VR沉浸式三维环境中的开发调试IDE



映维网Nweon
2024年07月22日

)集成开发环境IDE提供用于开发和调试计算机可执行内容的用户界面。然而,现有的IDE可能没有针对在沉浸式三维环境中使用的开发和调试内容进行优化,可能无法为用户提供充分的便利。

在美国专利商标局日前公布的一份专利申请中,
苹果
提出了一种相关的解决方案。

图2A-2C举例说明由设备120显示元件提供的XR环境视图,其中包括IDE的各个方面和物理环境的各个方面。

图2A中描述的第一个视图205A提供了从面向办公桌130的特定视点的物理环境105视图。所以,第一视图205A包括桌子130的表示230和从所述视点查看植物132的表示232。第二个视图205B和第三个视图205C则分别从不同的角度提供了物理环境105的视图。

视图205A-C包括与IDE 210的功能相对应的内容,以及通过IDE 210开发的内容。例如,示例性IDE窗口-1 212呈现了多个窗口、功能、控件等,包括用于代码编译器、代码解释器、类浏览器、对象浏览器等的控件。

IDE窗口- 2214将源代码编辑器作为编码界面。IDE窗口- 2214中的编码界面可以允许用户在执行内容220期间或在特定时间显示内容220时直接对代码进行更改。在调试会话期间,用户可以利用IDE 210进行调试,使用集成调试器,支持在编辑器中设置断点,可视化呈现步骤等。

可选地,正在开发的IDE 210和/或内容220包括多个窗口和/或其他虚拟对象,而它们可以自由移动。例如,用户可以将IDE 210放置在桌面表示230的上方。类似地,设备120允许用户控制或指定关于正在开发的IDE 210和/或内容220的定位的偏好。作为示例,IDE内容是否将始终固定在3D位置,固定在3D位置直到满足条件,或在固定设备位置提供等。

正在开发的内容220对应于或包括3D内容。例如,正在开发的内容220可以执行播放以提供一个或多个静态、移动或交互式3D对象。设备120提供的视图可以提供正开发内容220的3D描述的单独表示。

例如,视图可以包括预览应用程序窗口中的内容220,预览应用程序窗口表示篮球的2D描述和表示篮球虚拟对象260的3D描述。视图可以只显示正开发的内容的2D视图,或可以只显示正开发内容的3D视图,或者同时显示2D视图和3D视图。

任选地,设备120可以允许用户检查虚拟对象260的3D描述。设备可以从不同的视点检查虚拟对象260的3D描述,例如通过固定虚拟对象260相对于物理环境105的3D位置,并支持用户自由移动和查看虚拟对象260的3D描述的不同侧面。

苹果指出,在开发期间检查这样的虚拟对象260的能力可以促进、简化和提高开发过程的效率。正开发内容220可以具有基于时间的和/或包括交互式功能,并且视图可以便于播放、测试和/或调试。

可选地,正在开发的IDE 210和/或内容220定位为显示在3D环境中的特定3D位置。例如,所述内容可以包括IDE 210和内容220。在图2A的示例中,正在开发的IDE 210和内容220以它们看起来位于桌面表示物230上方的3D位置的方式进行描述。

另外,内容以相对于物理环境105的固定3D位置呈现。所以,内容在混合现实环境中以固定的3D位置出现,以供不同视角的不同视图。如图2A所示,正在开发的IDE 210和/或内容220基于相对于3D环境定义的3D坐标位置,于设备120显示器的各自位置显示在桌面表示230上方。

来自不同视点的视图可能基于固定的3D坐标位置,这样正在开发的IDE 210和内容220看起来像是锚定在物理环境105中。当用户改变视点时,内容依然固定在桌面表示230之上。

可以选择的是,不管情景如何变化,IDE 210和正在开发的内容220保持相对于3D环境的锚定。图2B图示了设备120的第二视图205B。尽管视点不同,IDE 210和正在开发的内容220依然固定在相同的3D坐标位置。

当视点发生充分变化时,IDE 210和220的内容可能在视图中根本不可见,例如,当用户将设备相对于其原始视点向后转动时。在这种情况下,用户将需要改变视点,例如回头看桌子,从而再次查看正在开发的IDE 210和内容220并与之交互。

可选地,正在开发的IDE 210和/或内容220保持锚定,直到满足条件,例如视点变化超过阈值。这时候,内容重新定位到新的锚定位置或过渡到锚定到显示器的像素位置。例如,IDE 210和/或内容220可以根据确定IDE 210和/或内容220在当前视图中不再可见而自动重新定位。

可选地,正在开发的IDE 210和/或内容220被锚定到设备120的显示器的像素位置,所以不锚定到相对于3D环境的相同3D坐标位置。这样,当设备120通过一系列不同的视点移动时,正在开发的IDE 210和内容220将不会一直固定在桌面表示230之上。

相反,正在开发的IDE 210和内容220可以锚定在设备120的显示器的相同像素位置,这样在用户移动或重新定向设备时看起来与他/她一起移动。

例如,图2C显示了与图2B相同视点的另一种视图。IDE 210和内容220并没有固定在桌面表示230的上方,而是保持在视图的中心位置。基于将IDE 210和内容220锚定到所述设备120的显示器的像素位置,而不是锚定到所述3D坐标位置,可以提供这种设备固定视图。

图3示出由设备120提供的视图305。视图包括一组有限的IDE选项,例如,在物理环境105中的IDE迷你播放器310。如图3所示的视图305提供了从特定视点的物理环境105的视图。视图305包括来自视点的植物表示232。

包括在视图305中的IDE迷你播放器310包括多个控制选项。在本例中,控制图标320在启动时显示额外的控制图标。控制图标322在启动时,关闭控制图标的当前视图。控件图标324在启动时,向用户显示正在开发的内容的不同观点。控件图标326在启动时显示同时开发的多个内容。

所提供的IDE控件的数量和/或所提供的IDE控件的数量可以根据情景来确定,例如当前的开发活动、用户的位置或移动、正在开发的内容类型、用户经常或最近使用的控件、用户的偏好等。IDE迷你播放器310可以根据检测情景变化而随时间调整。

可以根据用户交互选择和提供IDE迷你播放器310 IDE控件的配置。在一个实施例中,根据用户手的位置、配置和/或手势选择不同的控制特性。如图3所示,在检测到用户的手302是静止的和/或手302是掌心向上打开的基础上,设备120可以决定呈现所示的一组控制图标320、3222、324、326、328。相反,基于检测到用户的手302不是静止的,控制图标320、3222、324、326、328可以从视图中隐藏。

所述设备120可以定位和移动所述IDE迷你播放器310以增强所述用户体验。在图3中,IDE迷你播放器310部分覆盖并固定在手上。当用户的手302移动时,IDE迷你播放器310和每个控制图标320、3222、324、326、328随用户的手移动。IDE迷你播放器310和IDE迷你播放器310的单个控制图标可以基于物理环境105内的3D位置进行锚定。

与控制图标320、3222、324、326、328的交互可以基于检测用户移动和/或通过输入设备。在一个实施例中,与图标相关的功能或特征响应于检测相应的用户手势而启动,例如用户将手指定位在对应于相应控件所在的3D位置。

图4示出的视图405包括物理环境105中的一组有限的IDE选项。如图4所示的视图405提供了从特定视点的物理环境105的视图,即面向植物132右侧的物理环境105的一部分的视点。

视图405包括对正在开发的内容的描述。控制选项可以提供IDE功能和特性,包括用于播放、与之交互、测试和/或调试应用程序414和/或虚拟对象260的功能和特性。当启动/单击/点击控制图标422时,将关闭控制图标的当前视图。控制图标424在启动/单击/轻击时,执行编码特征和/或编码接口。如图所示,控制图标426和428使用户能够与应用程序414进行交互。

图5是示例性方法500的流程图表示。

在502中,呈现具有用于在3D环境中使用内容的第一组选项(的第一组视图,其中第一组视图是从3D环境中的第一组视点提供。例如,当用户坐下来开发将提供内容的应用程序时,IDE的视图可能会显示在用户桌子上方的固定位置。

可选地,第一组选项锚定到第一组视图中的特定位置。如图3所示,IDE迷你播放器310和每个控制图标320、322、324、326、328随着用户的手移动,因为它与在用户的手302锚定。

在504,基于用户交互数据而呈现第二组选项。第二组选项比第一组选项包含更少的选项。可选地,第二组选项的呈现比第一组选项的呈现占用更少的空间。

在506,根据确定呈现第二组选项,呈现包含第二组选项的第二组视图。在一个实施例中,第二组视图由3D环境中的第二组视点提供。如图3所示,对于与IDE迷你播放器310相关联的控制图标,第二组选项可以基于用户的手的位置来定位。

可选地,方法500涉及根据确定呈现第二组选项而停止第一组选项的呈现。例如,IDE迷你播放器的控制选项确定为呈现,IDE 210从用户的视图中删除。例如,当用户在物理环境中移动时,IDE 210将停止。

图6示出示例环境600的系统流程图。

示例环境600的系统流程从物理环境的传感器获取环境数据602,并从IDE和应用程序获取IDE/应用数据604,集成环境数据602和IDE/应用数据604,获得用户交互数据,并生成交互式显示数据,供用户查看IDE和/或执行应用程序。

例如,发明描述的IDE迷你播放器技术可以允许佩戴头显的用户站起来并走开查看内容或在更远的环境中播放内容,同时使用IDE迷你播放器的第二组选项来访问特定选项而不必返回到IDE固定的位置。

在一个实施例中,环境600包括交互显示指令集630,所述指令集配置有处理器可执行的指令,以评估来自3D环境集成指令集610的集成数据612和来自用户交互指令集620的用户交互数据622,并呈现一组视图,包括IDE和/或基于用户交互数据622的3D环境内的内容。


相关专利


Apple Patent | Three-dimensional programming environment

名为“Three-dimensional programming environment”的苹果专利申请最初在2023年8月提交,并在日前由美国专利商标局公布。