4000.0.0

2025-10-20

从这个版本开始,EasyAR Sense Unity Plugin将遵循Unity所要求的 包版本控制(使用Semantic Versioning) ,因此版本号将与EasyAR Sense相异,发布频率也可能不同。该版本插件内包含 EasyAR Sense 4.7.0 正式版

EasyAR Sense Unity Plugin 4000.0.0 迎来了大幅改变,主要集中在这几方面:

  1. Unity及AR Foundation兼容性变化

    从这个版本开始,EasyAR Sense Unity Plugin将只支持Unity 2021.3及更新版本,Unity 6支持也已经完善。同时,AR Foundation支持已经合并到插件包内,这个版本将只支持AR Foundation 5及更新版本,其使用经过大量简化。如果场景中添加了AR Foundation的组件,无论运行之后AR Foundation是否最终使用,场景配置和脚本代码都可以不变。

  2. 与时俱进的头显支持,新增支持多款OST/VST头显

    经过与行业内多家企业多年的打磨,EasyAR对头显的支持已经标准化。现在你可以通过EasyAR Sense Unity Plugin扩展实现第三方头显设备的支持(可能需要头显厂商提供部分数据接口)。这个版本内置了Apple Vision Pro以及XREAL Air2 Ultra的支持,同时通过EasyAR Sense Unity Plugin扩展包支持Pico 4 Ultra Enterprise及Rokid AR Studio。 同时你也可以从EasyAR的一些合作伙伴那里获取其它设备的支持扩展包(比如Xrany元霓)。

  3. 完善Unity组件接口,大幅优化ARSession工作流

    这个版本是第一个通过Unity组件完整封装EasyAR Sense功能的版本。ARSession经过了大量优化和重写,现在你可以轻松实现设备或功能的支持判断,根据具体情况启动或停止ARSession以实现运行时切换ARSession或不同AR功能。同时,你也可以使用ARSessionFactory在运行时创建ARSession及相关组件。这个版本还添加了惯性导航和3DoF相机功能,这些功能主要为EasyAR Mega所设计,但也可以单独使用。

  4. 新增多个开发及诊断工具

    这个版本增加了提供了全新的EIF录制和播放功能,虽然EIF录制和播放在过去的版本中也能使用,但使用EIF从未如此简单。你现在可以在Unity编辑器中使用时诊断工具Session Validaion Tool直接播放eif并驱动你的场景,无论是图像跟踪、空间地图还是EasyAR Mega,都可以在电脑上还原设备上的运行效果。现在你可以使用运行时诊断面板EasyAR Diagnostics Panel在app中轻松开启eif录制功能,或是随时开关ARSession及其组件的关键状态信息显示。同时,这个版本的sample已经全部重写,运行sample就可以直接看到ARSession状态以及录制eif的按钮以方便使用。

  5. EasyAR Mega工具全面公开

    这个版本集成发布了Mega Studio 2.12。今后插件的更新将更加频繁,Unity侧Mega工具将逐步合并进插件内部并与插件常规更新合并发布。除了过去预发布版本中的更新之外,这个版本会默认开启惯导支持,进一步大幅拓展EasyAR Mega的设备支持。这个版本还包含对最新版本EasyAR Mega Landmark服务的支持。使用EasyAR Mega可以通过 EasyAR网站页面 进行申请。

详细更新内容如下:

Unity及AR Foundation兼容性变化

* Unity:支持Unity 2021.3及更新版本(包括Unity 2022.x/Unity 6.x)
- 移除对Unity 2019/Unity 2020的支持
- 移除用于Unity 2019的gradle版本检测
- 移除用于Unity 2019的选项DisableARCoreAREngine
+ Unity 6:全面支持 Unity 6
+ 支持URP 17+及Render Graph
* 已修复:Unity 6上ClassLoader行为变化导致ARCore失效
* 已修复:Render Scale非1时相机渲染失效
* Unity 6自身BUG:在iOS/Mac设备上可以观察到视觉故障和伪影。该问题仅发生在需要获取相机纹理的情况,我们添加了部分缓解措施但无法完全消除。已反馈至Unity,见 Unity Issue UUM-87787 。Unity 6.2以上可以通过设置Universal Render Pipeline Asset中的Render Scale为0.96-1.05以外的数值来规避这个问题。
* Unity 6自身BUG:Windows DX11上的渲染效果不正常。我们在Unity 6.0-6.1中已添加缓解措施。实测Unity 6.2已修复该问题。
+ AR Foundation:支持 AR Foundation 5及更新版本,大幅简化使用
+ AR Foundation支持已经合并到插件包内,不再需要单独导入包(特殊需要可以通过配置选项关闭)
+ 支持复用 Unity.XR.CoreUtils.XROrigin 作为ARSession的原点,支持复用XROrigin的Camera
+ 添加 Unity XR Auto Switch 配置选项,默认处理Unity XR(包含AR Foundation)物体的切换
+ 通过EasyAR菜单创建的 ARSession 自动包含并默认开启AR Foundation支持
+ 绝大部分sample都已添加AR Foundation支持(AR Foundation本身需要手动导入并正确配置)
* ARCore及ARKit可单独控制,且可控制EasyAR内置的ARCore/ARKit与AR Foundation的ARCore/ARKit的优先顺序
- 移除对AR Foundation 4的支持
- 移除对ARSessionOrigin的支持,仅支持XROrigin
- 移除代理执行AR Foundation的ARCore安装流程
+ 全面兼容Input System Package

与时俱进的头显支持,新增支持多款OST/VST头显

++ 头戴显示设备接口已稳定,支持第三方接入
+ 支持第三方设备接入(需要头显厂商提供特定数据接口)
+ 支持XROrigin及XR Interaction Toolkit
+ 简化并统一所有头显样例,零代码,并支持功能切换
+ 支持鱼眼相机输入
+ 支持自定义相机输入3DOF数据
+ 添加菜单功能:Extensions,整合所有扩展菜单项
* 修复部分头显运行DenseSpatialMap时出现渲染异常
- 移除ActionOne和BT350等古早眼镜sample
+ 内建支持 Apple Vision Pro
+ 支持Metal、RealityKit及Hybrid模式
+ 支持visionOS >= 2.0,支持visionOS 26
+ 内建支持 XREAL Air2 Ultra(需要XREAL SDK >= 3.1)
+ 不再需要导入单独的支持包
+ 优化XREAL上的运行效果
- 移除XREAL Light支持
+ 通过EasyAR Sense Unity Plugin 扩展分发Pico及Rokid等其它设备支持
+ 提供第三方设备接入的参考模板 com.easyar.sense.ext.hmdtemplate
+ 支持 Pico 4 Ultra Enterprise(需要PICO Unity Integration SDK >= 3.1)
+ 支持 Rokid AR Studio(需要Rokid Unity OpenXR Plugin >= 3.0.3)
+ 这些扩展将支持今后多个版本的EasyAR Sense Unity Plugin
+ 支持EasyAR XR License
* 头显上使用EasyAR需要EasyAR XR License并保证首次联网(试用需每次联网)

完善Unity组件接口,大幅优化ARSession工作流

++ 完善Unity组件层封装
+ 完善场景组件,提供所有EasyAR Sense功能
- 移除所有通过组件封装的EasyAR Sense层接口
- 移除所有内部接口
+ ARSession:重写并大幅优化工作流
+ 支持在任意时刻启动和停止session
+ 支持session自动启动控制
+ 支持不黑屏切换session功能和输入源
+ 简化设备支持判断,以一致接口提供
+ 启动时更新MotionTracker、ARCore、AREngine的设备支持列表
+ 支持设备列表更新后session自动重启
+ 支持获取详细session损坏信息
+ 添加session内部状态自检
- 移除ARComponentPicker,其功能由其余session流程替代
- 禁止多个ARSession同时运行
+ ARSessionFactory:提供运行时创建ARSession及相关组件的功能
+ 支持通过ARSessionFactory运行时创建与编辑器菜单相同的session
+ 添加Frame Source排序功能(含菜单项)
+ FrameSource:添加惯导和3DoF支持
+ 添加InertialCameraDeviceFrameSource用于支持惯性导航
+ 添加ThreeDofCameraDeviceFrameSource用于支持3DoF的相机
+ 添加菜单功能:Frame Source by Transform Type,提供所有内置FrameSource的列表
* 优化Inspector选项
+ 其它接口调整及功能更新
+ 添加使用Texture2D创建ImageTarget的功能
+ 添加ImageMaterial用于渲染Image类型的数据(相机图像或Target图像等)
+ 添加ActiveController用于控制GameObject的active,统一相关控制逻辑
+ 添加在桌面上模拟屏幕旋转的功能
+ 添加XROriginChildController,控制Session原点下物体的行为
- 移除WorldRootController
* 稀疏空间地图接口拆分成Builder和Tracker两个不同功能组件
* 调整EasyARController,提供应用/系统级静态功能
* 统一Target组件接口
* 统一服务访问数据的接口

新增多个开发及诊断工具

++ 添加编辑时诊断工具:Session Validaion Tool
+ 简化在任意场景中播放eif
+ 支持控制eif播放流程
+ 支持控制session流程
++ 添加运行时诊断面板:EasyAR Diagnostics Panel
+ 添加Developer Mode开关,默认点击屏幕8次开启和关闭Diagnostics Panel,简化线上app录制eif和问题反馈
+ 支持自定义Developer Mode开关,使用自定义交互开关Diagnostics Panel
+ 支持控制eif录制
+ 支持控制session信息显示
+ 支持控制eed录制
+ 添加全新的EIF录制和播放功能
+ FrameRecorder会自动组装进ARSession,不再需要手动选择
+ FrameRecorder会默认自动生成文件名以支持无脚本使用
+ FramePlayer使用新格式录制的数据支持播放跳转及速度调节,文件体积降低
* 支持在电脑上使用eif驱动场景和AR功能(非新功能)
+ 添加DiagnosticsController,统一和优化诊断功能
+ 添加信息分级显示及控制,默认所有错误及警告信息都会通过UI展示
+ 添加显示ARSession及其组件的关键状态信息的功能,默认会通过UI展示并每帧更新
* 使用诊断功能简化问题反馈信息的获取
- 删除GUIPopup
* 优化异常状态行为及错误信息展示
* 优化无可用frame source时的错误信息
* URP环境使用EasyAR而非AR Foundation或头显渲染相机图像时,未正确配置RendererFeature会报错并中断ARSession执行
* 修改Origin默认的Active控制策略,在跟踪丢失时内容贴屏而非消失
* 自定义相机或头显上使用试用产品时,到达限制时间将隐藏所有内容以避免效果误判
* 优化配置页面内容和选项
+ 支持选择EasyAR Sense库的变种
* 应用权限部分除相机权限外,其余权限不再可改,由EasyAR Sense库变种及Mega是否启用而决定
* 功能及服务器配置按EasyAR功能分组
* 集中管理第三方AR SDK配置
* 集中管理针对Unity的Workaround配置

EasyAR Mega工具全面公开

++ 全面公开,同步更新
+ 集成发布Mega Studio 2.12
* Unity侧Mega工具将逐步合并进插件内部,今后仍将只提供最新版本的整合包,但将与EasyAR Sense Unity Plugin常规更新合并发布
* EasyAR Mega仍需通过 EasyAR网站页面 申请并通过后才能使用
+ 新增支持EasyAR Mega Landmark
+ 新增支持5DOF惯导并默认开启,进一步大幅拓展EasyAR Mega的设备支持
+ 新增支持使用API Token访问Mega服务
* 优化Mega效果及开发体验(包含在过去更新的4.7.x版本内)
+ 支持3DOF纯旋转模式和0DOF模式(默认未启用)
+ 添加EditorCameraDeviceFrameSource用于编辑器诊断,避免由于不完整的复制sample导致手机上错误运行
+ 使用Mega时录制老版本eif数据,FrameRecorder将自动生成.eif.json文件
* 使用LocationInputMode替代远程调试的退化选项
* 拆分无跟踪模式为独立组件,通常不再需要使用和关注
* 添加BlockRootSource选项,默认配置下忘记设置BlockRoot将报错
* 调整定位到多block时的默认行为,确保多block不会被默认使用
* 调整部分接口命名
* 在Session包含Mega但无法使用时抛出更明确的异常
* 调整Mega支持的MotionTracker最低QualityLevel为Limited
* 修复CloudLocalizerStatus.WakingUp状态未正确转义导致运行报错
* 部分优化及修改见EasyAR Sense的更新日志

Sample重写及优化

+ 重写所有sample
+ 兼容不同Input System配置
+ 兼容URP17+
+ 兼容使用AR Foundation
* 兼容不使用AR Foundation
* 保留少量不含AR Foundation支持的sample
* 优化脚本及接口调用
* 部分sample已重命名
* 替换sample内模型和视频等资源
* 减少streaming assets的使用,仅在展示特定功能的sample中使用并导入
* 使用Texture2D创建ImageTarget
+ 增加新功能和接口演示
+ 添加Workflow_ARSession sample,用于学习session基础流程和设备支持等
+ 添加Workflow_FrameSource_ExternalImageStream sample,以视频作为自定义相机(不能用于头显)
+ 添加Combination_BasedOn_MotionTracking sample,用于学习运动跟踪可用时各种功能的使用、切换以及AR Foundation切换
+ 添加Combination_BasedOn_AppleVisionPro sample,用于展示Apple Visio Pro上各种功能的使用和切换
+ 添加Combination_BasedOn_Xreal sample,用于展示XREAL设备上各种功能的使用和切换
+ 添加多个Mega sample(包含在过去更新的4.7.x版本内)
+ 添加Workflow_FrameSource_CameraDevice中切换相机尺寸和torch模式的功能
- 移除单独的AR Foundation sample,其功能已经包含在其它sample中
- 移除FrameRecording sample,其功能已经包含在其它sample中
- 移除MotionTracking_Fusion sample,其功能已经包含在Combination_BasedOn_MotionTracking中
- 移除SurfaceTracking_ImageTarget sample,功能组合仍可用轻松实现
- 移除Camera_CustomCamera sample,如有需要仍可自行实现
- 移除ActionOne和BT350等古早眼镜sample
+ 简化eif录制和播放使用
+ 所有sample均添加eif录制按钮,录制的eif文件可在编辑器内使用
+ 重写launcher,加入sample说明
* 修复通过launcher加载sample场景偏暗的问题

EasyAR及第三方AR功能集成

* 更新EasyAR Sense到4.7.0正式版
* 更新EasyAR AREngine Interop
* 更新ARCore SDK到 1.46.0
* 在部分无法合理运行AREngine的手机上禁用AREngine
* 修复Unity 6上ClassLoader行为变化导致ARCore失效