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 迎来了大幅改变,主要集中在这几方面:
Unity及AR Foundation兼容性变化
从这个版本开始,EasyAR Sense Unity Plugin将只支持Unity 2021.3及更新版本,Unity 6支持也已经完善。同时,AR Foundation支持已经合并到插件包内,这个版本将只支持AR Foundation 5及更新版本,其使用经过大量简化。如果场景中添加了AR Foundation的组件,无论运行之后AR Foundation是否最终使用,场景配置和脚本代码都可以不变。
与时俱进的头显支持,新增支持多款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元霓)。
完善Unity组件接口,大幅优化ARSession工作流
这个版本是第一个通过Unity组件完整封装EasyAR Sense功能的版本。ARSession经过了大量优化和重写,现在你可以轻松实现设备或功能的支持判断,根据具体情况启动或停止ARSession以实现运行时切换ARSession或不同AR功能。同时,你也可以使用ARSessionFactory在运行时创建ARSession及相关组件。这个版本还添加了惯性导航和3DoF相机功能,这些功能主要为EasyAR Mega所设计,但也可以单独使用。
新增多个开发及诊断工具
这个版本增加了提供了全新的EIF录制和播放功能,虽然EIF录制和播放在过去的版本中也能使用,但使用EIF从未如此简单。你现在可以在Unity编辑器中使用时诊断工具Session Validaion Tool直接播放eif并驱动你的场景,无论是图像跟踪、空间地图还是EasyAR Mega,都可以在电脑上还原设备上的运行效果。现在你可以使用运行时诊断面板EasyAR Diagnostics Panel在app中轻松开启eif录制功能,或是随时开关ARSession及其组件的关键状态信息显示。同时,这个版本的sample已经全部重写,运行sample就可以直接看到ARSession状态以及录制eif的按钮以方便使用。
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失效