近日,OpenXR联盟发布了全新的"OpenXR空间实体扩展(SpatialEntitiesExtensions)"标准,旨在为AR、VR和MR应用提供一套通用的技术接口,以实现对现实世界环境的感知和交互。这些新标准涵盖了:表面检测(SurfaceDetection)标记追踪(MarkerTracking)空间锚点(SpatialAnchors)数据持久化(Persistence)这些功能长期以来依赖于各厂商自有的SDK或扩展接口,如今首次在OpenXR框架下实现了标准化。📚什么是OpenXR?OpenXR是一个面向AR、VR和MR应用开发与运行时的开放标准API。它由非营利性行业联盟KhronosGroup主导管理,该组织同时也是OpenGL、Vulkan和WebGL等图形标准的维护者。OpenXR的核心理念是:让开发者只需编写一次应用代码,即可在多种头显设备上运行,而无需为不同硬件平台使用各自的专属API。目前,几乎所有的主流头显设备、引擎和运行时都已支持OpenXR,苹果VisionPro和PlayStationVR2(PS5平台)除外。🧱OpenXR空间实体扩展详解此次发布的OpenXR空间实体扩展目标在于为开发者提供一套统一的方式,利用头显或眼镜的空间感知能力,构建能够与用户物理环境互动的应用体验。在此之前,这类功能往往依赖于特定厂商的扩展或SDK实现。现在,它们被整合进OpenXR的标准化体系中,大大提升了跨平台兼容性和开发效率。该扩展体系围绕一个基础扩展:✅XR_EXT_spatial_entities这是整个空间实体功能的基础模块,提供了"在用户环境中表示和操作空间元素"的基本能力。在此基础上,还定义了五个关键子扩展:🪟1.XR_EXT_spatial_plane_tracking功能:对现实世界中的平面进行检测与空间追踪用途:可识别桌面、地面、墙面等表面,便于虚拟对象放置🧾2.XR_EXT_spatial_marker_tracking功能:对环境中的视觉标记(如QR码)进行六自由度(6-DOF)跟踪用途:可用于引导导航、触发事件、增强信息展示等场景📌3.XR_EXT_spatial_anchor功能:允许将虚拟内容精确地定位到现实世界中的具体位置用途:支持在特定地点固定虚拟物体,适用于导航、AR游戏、工业维修等🔒4.XR_EXT_spatial_persistence功能:让空间上下文数据在应用会话之间保持一致用途:用户关闭应用后再次打开时,仍能看到之前放置的虚拟对象🗂️5.XR_EXT_spatial_persistence_operations功能:提供对持久化空间数据的高级管理功能用途:包括空间数据的查询、删除、更新等操作,适用于企业级AR场景🗣️官方表态:推动互操作性生态建设Meta的RonBessems是当前OpenXR工作组的主席,他在一份声明中表示:"OpenXR空间实体扩展解决了开发者社区最迫切的需求之一,是我们打造强大且真正可互操作的XR生态系统道路上的重要里程碑。这些扩展经过精心设计,作为一个可发现、可扩展的功能集合,不仅为当前的空间应用打下了坚实基础,也为未来便携式空间计算的持续创新铺平了道路。"🔜后续计划:图像与对象追踪、环境建模等扩展正在讨论中Khronos还透露,目前正在讨论中的后续扩展包括:图像与对象追踪(ImageandObjectTracking)基于网格的环境建模生成与处理(Mesh-basedEnvironmentModeling)这些功能将进一步丰富空间计算的能力边界。💼行业广泛支持:Meta、Google、Unity等七家公司承诺尽快支持包括Meta、Google、pico、Varjo、Unity、Godot和Collabora在内的七家科技公司均已发布官方声明,表达对OpenXR空间实体扩展的支持,并承诺将在其产品和服务中尽快实现这些标准。这标志着OpenXR正在成为全球XR开发者生态系统的核心支柱。📌编者按:随着空间感知能力的标准化,OpenXR再次迈出推动跨平台互操作性的关键一步。对于开发者而言,这意味着更少的适配工作、更高的复用率;对于用户而言,则意味着更稳定、更一致的空间体验。随着更多头部企业的加入,这一标准有望在未来几年内成为XR领域的"事实标准"。
自去年9月正式推出以来,Meta已对其SpatialSDK进行了多项重要改进。这款开发工具旨在让开发者能够使用现有的Android移动应用开发工具(而非传统的游戏引擎如Unity、Unreal或Godot)来构建适用于HorizonOS的应用。这意味着开发者可以继续使用熟悉的工具链,包括:AndroidStudioKotlin编程语言现有的移动框架和库这些工具不仅降低了上手门槛,也为更广泛的Android开发者群体打开了通往元宇宙的大门。🧩HorizonOSUI组件集上线,提升界面一致性早在去年,Meta就为Unity开发者推出了一个UI套件,帮助其构建符合Quest系统设计语言的应用界面。对于消费级操作系统来说,UI套件是开发工具中不可或缺的一部分,它确保第三方应用在视觉和交互上与系统保持一致,从而提供更统一的用户体验。如今,MetaSpatialSDK也加入了HorizonOSUI组件集,这意味着使用该SDK构建应用的开发者无需从零开始设计界面,也能获得与系统一致的外观和体验。这一更新特别有助于非游戏类应用的开发,例如工具类、生产力类或生活服务类应用,使它们在Quest平台上更容易被用户接受和使用。👐InteractionSDK(Beta版本):标准化交互方式,提升用户体验一致性虽然统一的UI设计提升了系统的美观性,但在XR(扩展现实)环境中,交互的一致性往往更为关键。Meta自2022年初就为Unity提供了InteractionSDK,并在去年将其扩展至Unreal引擎。该SDK包含以下功能:直接抓取与持握物体远距离抓取可点击的2D和3D按钮传送机制手势识别等对开发者而言,这意味着无需重复实现这些常见交互逻辑;对终端用户来说,则意味着不同应用之间的操作更加统一,无需反复学习新交互方式。现在,InteractionSDK已作为Beta功能集成进SpatialSDK,取代原有的输入系统,使基于SpatialSDK开发的应用也能享受到与Unity和Unreal开发者相同的交互一致性。⚡性能优化:复杂场景下仍可稳定运行于90fpsMeta表示,已对系统脚本进行了性能优化,并声称:"SpatialSDK应用现在可以更稳定地维持流畅的90fps帧率--即使在处理复杂场景时也不例外。"此外:"更快的ECS查询机制和新增的高级过滤支持,使得开发者可以编写更智能、更高效的逻辑代码,而不会牺牲性能。无论你是在构建高度互动的环境,还是需要频繁更新大量实体对象,这些改进都让打造丰富且沉浸式的混合现实体验变得更加轻松。"📷穿透摄像头访问权限开放:增强现实能力再升级今年早些时候,Meta已向Unity和原生应用开发者开放了Quest3和Quest3S的彩色穿透摄像头访问权限。这项功能的应用场景非常广泛,例如:扫描和追踪二维码检测桌面上的游戏板并叠加虚拟角色与对象在企业引导体验中检测物理对象集成基于云端大模型的视觉AI功能对于使用SpatialSDK的开发者,Meta推出了一个开源的SpatialScanner示例项目,展示了如何以高性能方式实现上述功能。🧰AndroidStudio插件发布:简化开发流程为了进一步提升AndroidStudio(Google官方Android开发IDE)用户的开发效率,Meta发布了一个名为AndroidStudioPlugin(ASP)的插件。该插件宣称:"通过提供项目模板、数据模型检查器以及组件/系统文件模板,显著提升了使用SpatialSDK的开发体验。"Meta表示:"对于新项目,只需下载安装插件并选择我们的模板,即可快速完成初始化设置。"🎨SpatialEditor2.0:无须游戏引擎也能高效编辑2D/3D内容自去年10月推出以来,Meta就为其SpatialSDK提供了SpatialEditor,这是一款无需使用游戏引擎编辑器即可进行2D和3D元素布局、缩放和排列的可视化工具,类似于Apple为visionOS提供的RealityComposerPro。而在最新的SpatialEditor2.0中,Meta引入了:"一种新的组件系统,允许开发者使用XML来定义和管理组件,从而提升灵活性",并可根据XML输入生成Kotlin组件代码。这一更新大大增强了开发者在构建结构化应用时的可控性和效率。🎬PremiumMediaSample:媒体类应用开发更轻松Meta表示,使用SpatialSDK构建最流行的应用之一就是简单的媒体播放器,例如:3D照片查看器360°视频播放器为此,Meta在GitHub上发布了"PremiumMediaSample"示例项目,展示如何流式传输180°、3D以及受DRM保护的内容。此外,官方文档中还新增了一个专门章节,详细介绍了媒体播放相关的技术细节和最佳实践。📌编者按:随着Meta不断推进SpatialSDK的功能完善,越来越多的开发者可以在不依赖传统游戏引擎的前提下,构建高质量的混合现实应用。无论是UI设计、交互控制、性能优化,还是媒体播放,Meta正在逐步将SpatialSDK打造成一套完整的开发体系,为未来的空间计算生态奠定基础。
UNIGINE2.19.1推出了几个值得注意的功能,应该会吸引各行各业的开发人员和专业人士。从升级到逼真的渲染,再到增强的虚拟现实和动画工具,UNIGINE提供了旨在提升其平台的创造力和技术潜力的增强功能。SSRTGI的照片级真实感UNIGINE通过改进其屏幕空间光线追踪全局照明(SSRTGI)技术,在照片级逼真渲染方面又迈进了一步。半球光线分布的彻底改进旨在提供更自然、更逼真的视觉效果。屏幕空间环境光遮蔽(SSAO)的伽马校正问题也已得到解决,确保无论是在标准缓冲区还是在调试可视化模式下查看,渲染都更加准确。此外,SSAO与反射之间不必要的重叠问题也已得到解决,从而可以实现更清晰、更逼真的反射效果。VR获得DLSS和FSR性能提升VR开发人员会很高兴地听到2.19.1版本将对NVIDIADLSS3和AMDFSR2.2升级技术的支持扩展到此类项目。这些工具最初在2.18.1版中引入,对于减少像素渲染负载并保持视觉保真度至关重要。它们在VR中的实施可确保更顺畅、更流畅的体验,尤其是在使用资源密集型应用程序或更高分辨率时。SpiderVision和WebStream插件改进SpiderVision插件是高级可视化项目的主要插件,现已进行升级,旨在提高可用性。新的撤消和重做功能、投影设置小部件中的多选功能以及直观的UI工具提示只是SpiderVision实现的增强功能中的一小部分。API中引入的"无边框"窗口类型为需要无缝视觉集成的应用程序增加了更多灵活性。UNIGINE的WebStream插件是2.19版中的一个重要新增功能,支持通过WebRTC流式传输UNIGINE应用程序渲染的音频和视频帧。在此版本中,该平台扩展了这些功能,允许将场景中任何摄像头的流式传输到单独的Web浏览器。最新的WebStream功能可以为各种客户端提供不同的视角,无论是在移动设备还是台式机上。能够打开多个浏览器实例来展示不同的摄像头视图,进一步凸显了此更新可能会改变协作和远程工作环境。动画预览和USD支持动画一直是UNIGINE的重点,版本2.19.1在资产浏览器中引入了内置动画预览工具。此新功能允许开发人员在将动画应用于SkinnedMesh对象之前预览动画,从而简化了工作流程,消除了不必要的步骤,同时加快了创作过程。对于使用通用场景描述(USD)文件的用户,此更新基于2.19版中引入的导出功能,现在包括USD导入功能。开发人员可以直接在UNIGINE生态系统中处理usda、usdc和usdz文件格式,从而促进内容创建工具之间的工作流程更加顺畅。此外,USDExport插件已更名为USDExchanger,现在可在所有SDK版本(包括免费社区版)中访问。通过ImGui集成简化插件创建那些希望扩展UNIGINE编辑器功能的人会发现DearImGui图形界面库有很多值得赞赏的地方。该版本包含一个可通过Add-OnStore获得的"ImGuiSamplesPlugin",旨在帮助开发人员轻松创建自定义插件。三个示例演示了该插件的功能:样条线编辑器:在样条线编辑中使用撤消/重做API、自定义可视化和热键重新映射的展示。编辑器(即时模式):演示如何使用类似ImGui的原理实时创建简单插件,并提供交互式多边形操作示例。组件:重点介绍用户如何在编辑器中生成和分配C++组件到节点,从而实时调整参数。UNIGINE2.19.1中其他值得注意的新增功能此次更新还包含一些较小的调整和改进,进一步提高了SDK的性能和可用性:OpenXR手部追踪和对Linux系统的支持。更快的GUI渲染,据称效率提高了两倍。性能提升,例如优化的哈希图和改进的编辑器生活质量功能。方向盘控制器的力反馈支持,适合模拟项目。新的开发工具,包括带有运动链的基于物理的机械臂示例和面向C++开发人员的免费学习课程。此外,通过允许直接从SDK浏览器创建新帐户,用户帐户注册也变得更加简单。UNIGINE2.19.1带来了许多有意义的新功能,例如VR升级、更强大的USD文件支持以及插件开发工具。借助这些最新增强功能,该平台旨在提升其在游戏、模拟、培训等领域作为高要求专业级项目的可靠选择的地位。