融合虚拟与现实,AR Engine为用户提供沉浸式交互体验
当今的应用市场中,传统的应用产品已经难以完全满足消费者的多样化需求。为了在竞争激烈的市场中脱颖而出,企业需要深入洞察用户需求,提供个性化的服务体验和差异化的产品创新,以吸引并留住消费者。
比如,购物类App通过虚实结合的方式实现虚拟穿搭;室内设计行业App可将虚拟家具模型放置于现实环境中给用户演示;游戏行业App可将虚拟游戏画面放置于现实环境中,从而提供给用户更沉浸式的游戏体验。

以上创新化的应用场景,都依赖于一项核心的技术能力,即增强现实(AR)技术,HarmonyOS SDK AR引擎服务(AR Engine)正好具备这样的能力。
AR Engine是一个用于在HarmonyOS上构建增强现实应用的引擎,基于计算机实时计算和多传感器的结合,可以通过设备摄像头将虚拟物体逼真地叠加到现实场景中,让应用实现虚拟世界与现实世界的融合,为用户提供全新的视觉体验和交互方式。
AR Engine提供了运动跟踪、环境跟踪和命中检测等空间计算能力,开发者可以借助这些能力实现如AR导航、AR测量和AR摆放等应用,为用户提供虚实融合的全新交互体验。
运动跟踪能力
运动跟踪能力统一了虚拟坐标系和现实坐标系,是实现虚拟物体与现实环境逼真融合的基础能力。
AR Engine使用运动跟踪能力通过终端设备摄像头标识特征点,并跟踪其移动变化,同时将这些点的移动变化与终端设备惯性传感器结合,来不断跟踪终端设备的位置和姿态。通过持续跟踪设备相对于周围环境的位置和姿态变化轨迹,建立了虚拟数字世界和现实物理世界统一的几何空间坐标系,从而实现设备在不同视角和距离情况下,虚拟物体保持与真实环境几何的一致性,开发者可从观察者视角将渲染的虚拟物体叠加到摄像头图像中,实现虚实融合。
比如AR Engine应用在AR车展上时,用户可通过转动设备摄像头从不同角度来查看虚拟汽车模型,实现沉浸式的AR观展,这里就用到了运动跟踪的能力。

环境跟踪
AR Engine环境跟踪能力可以快速识别出现实场景中的平面信息,并识别出对应的平面类型和形状等信息,从而辅助应用实现数字虚拟物体以场景化的方式融入现实物理世界中。环境跟踪主要包括平面检测、平面语义、目标语义三个能力。
平面检测
平面检测能力可通过识别水平和垂直平面上的成群特征点以及平面的边界,得到现实世界中的平面信息,例如地面或墙面。检测到这些平面后,应用可基于平面来放置虚拟物体,或进行导航等应用场景的开发。

平面语义
平面语义是指检测现实世界平面的类型,当前支持的平面类型共8种,分别为:墙面、地面、座椅面、桌面、天花板、门面、窗面、床面。
目标语义
目标语义是指当目标物体位于平面上时,检测目标物体的形状,当前包括矩形和圆形。

命中检测
命中检测技术可以帮助AR Engine实现虚实世界两点之间的连接。AR Engine通过命中检测技术,获取兴趣点到AR世界兴趣点的映射关系,开发者可以基于此能力帮助用户实现与AR世界中虚拟物体的交互。

命中检测能力示意图
在实际应用场景中,用户可点击终端设备屏幕,选中现实环境中的兴趣点,AR应用调用碰撞检测接口获取AR世界的兴趣点并返回相关信息,用户即可在终端设备屏幕所展示的AR世界兴趣点上完成模型放置等交互动作,比如用户可以通过摄像头将虚拟家具放置于现实室内环境中,并从各个角度观察判断家具是否符合整体设计,从而减少大件商品的购买出错率。

运动跟踪能力统一了现实世界和虚拟世界的坐标系,环境跟踪能力识别出了现实世界的平面信息,而命中检测能力建立了两个世界之间的交互锚点,AR Engine通过这三个能力,从点、线、面多个维度打破了物理世界与数字世界的壁垒,实现了两者的叠加统一,这种统一不仅为用户提供了前所未有的体验,也为开发者开辟了广阔的创新空间,为各行各业带来了更多的可能性。随着技术的不断演进和市场的不断扩大,我们可以期待AR技术在未来将有更广泛的应用和更深远的影响。
了解更多详情>>
访问AR Engine联盟官网
获取AR Engine开发指导文档
相关文章:
融合虚拟与现实,AR Engine为用户提供沉浸式交互体验
当今的应用市场中,传统的应用产品已经难以完全满足消费者的多样化需求。为了在竞争激烈的市场中脱颖而出,企业需要深入洞察用户需求,提供个性化的服务体验和差异化的产品创新,以吸引并留住消费者。 比如,购物类App通过…...
python | xmltodict,一个非常厉害的 关于XML数据 Python 库!
本文来源公众号“python”,仅用于学术分享,侵权删,干货满满。 原文链接:xmltodict,一个非常厉害的 Python 库! 大家好,今天为大家分享一个非常厉害的 Python 库 - xmltodict。 Github地址&am…...
教程:FFmpeg结合GPU实现720p至4K视频转换
将一个 720p 的视频放大编码到 4K,这样的视频处理在很多业务场景中都会用到。很多视频社交、短视频、视频点播等应用,都会需要通过服务器来处理大量的视频编辑需求。 本文我们会探讨一下做这样的视频处理,最低的 GPU 指标应该是多少。利用开源…...
MeterSphere接口自动化-ForEach循环
接口自动化场景:一个接口根据不同的参数取值来运行测试,本场景中只有一个参数来去不同值。举例如下: https:://test.csdn/query?placementList1接口,测试id1,2,3时,断言接口返回的data数据都有返回。(当然…...
ssm074应急资源管理系统+jsp(论文+源码)_kaic
毕 业 设 计(论 文) 题目:应急资源管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本应急资源管理系统…...
怎么对 PDF 添加权限密码或者修改密码-免费软件分享
序言 目前市面上有关PDF处理的工具有很多,不过绝大多数的PDF处理工具都需要付费使用,且很多厂商甚至连试用的机会也不给用户,偶有试用的,其试用版的条件也极为苛刻,比如只能处理前两页,或者只能处理非常小的…...
LVSM: A LARGE VIEW SYNTHESIS MODEL WITH MINIMAL 3D INDUCTIVE BIAS 论文解读
目录 一、概述 二、相关工作 1、新视角合成 2、优化3D表示 3、可泛化的前馈方法 三、LVSM 1、总体结构 2、encoder-decoder 3、decoder-only 4、Loss 一、概述 该论文提出大视角合成模型LVSM,基于Transformer方法,用于场景中或对象级层次从稀…...
7.《双指针篇》---⑦三数之和(中等偏难)
题目传送门 方法一:双指针 1.新建一个顺序表用来返回结果。并排序数组。 2.for循环 i 从第一个数组元素遍历到倒数第三个数。 3.如果遍历过程中有值大于0的则break; 4.定义左右指针,以及target。int left i 1, right n - 1; int target -nums[i];…...
鸿蒙ArkTS中的布局容器组件(Scroll、List、Tabs)
1、Scroll组件 Scroll组件是一个可滚动的容器组件,用于在子组件的布局尺寸超过父组件尺寸时提供滚动功能。它允许在其内部容纳超过自身显示区域的内容,并通过滚动机制来查看全部内容。这对于显示大量信息(如长列表、长篇文本或大型图像等&…...
mybatis连接PGSQL中对于json和jsonb的处理
pgsql数据库表字段设置了jsonb格式;在java的实体里使用String或者对象转换会一直提示一个错误: Caused by: org.postgresql.util.PSQLException: ERROR: column "xx" is of type jsonb but expression is of type character varying 需要加一…...
Redis 权限控制(ACL)|ACL 命令详解、ACL 持久化
官网文档地址:https://redis.io/docs/latest/operate/oss_and_stack/management/security/acl/ 使用版本:Redis7.4.1 什么是 ACL? ACL(Access Control List),权限控制列表,是 Redis 提供的一种…...
内网学习一:windows基础
工作组介绍 按照不同的计算机功能或工作部门将计算机列入不同的工作组。要是想访问某一个工作组的资源 只需要双击该部门的工作组,就可以看到该组内的所有计算机。 目的:在大型网络中,方便管理员去管理设备 加入工作组 右击计算机图标---…...
编译工具与文件学习(一)-YAML、repos、vcstoolcolcon
YAML YAML(YAML Ain’t Markup Language)是一种人类可读的数据序列化格式,常用于配置文件、数据交换和存储结构化数据。YAML 的设计目标是简洁、易读,并且能够表示复杂的数据结构。 YAML 文件的基本语法 基本结构: Y…...
使用 HuggingFace 提供的 Elasticsearch 托管交叉编码器进行重新排名
作者:来自 Elastic Jeff Vestal 了解如何使用 Hugging Face 的模型在 Elasticsearch 中托管和执行语义重新排序。 在这篇简短的博文中,我将向你展示如何使用 Hugging Face 中的模型在搜索时在你自己的 Elasticsearch 集群中执行语义重新排序。我们将使用…...
CKA认证 | Day1 k8s核心概念与集群搭建
第一章 Kubernetes 核心概念 1、主流的容器集群管理系统 容器编排系统: KubernetesSwarmMesos Marathon 2、Kubernetes介绍 Kubernetes是Google在2014年开源的一个容器集群管理系统,Kubernetes简称K8s。 Kubernetes用于容器化应用程序的部署&#x…...
[极客大挑战 2019]PHP 1
[极客大挑战 2019]PHP 1 审题 猜测备份在www.zip中,输入下载文件。 知识点 反序列化 解题 查看代码 看到index.php中包含了class.php,直接看class.php中的代码 查看条件 当usernameadmin,password100时输出flag 构造反序列化 输入select中&#…...
【c++丨STL】vector模拟实现
🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:C、STL 目录 前言 一、vector底层刨析 二、模拟实现 1. 属性、迭代器以及函数声明 2. 功能实现 交换两个容器的内容 构造函数 拷贝构造 赋值重载 析构…...
SQLAlchemy 介绍与实践
postgresql 实践 pydantic 实践 1. SQLAlchemy 介绍 SQLAlchemy 是一个 ORM 框架。SQLAlchemy 是一个用于 Python 的 SQL 工具和对象关系映射(ORM)库。它允许你通过 Python 代码来与关系型数据库交互,而不必直接编写SQL语句。 简单介绍一下…...
docker进行SRS直播服务器搭建
docker进行SRS直播服务器搭建 docker构建参考地址: 地址: https://github.com/ossrs/srs https://ossrs.net/lts/zh-cn/docs/v5/doc/getting-started docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 \-p 8000:8000/udp -p 10080:10080/udp ossrs/sr…...
windows server2019下载docker拉取redis等镜像并运行项目
一、基本概念 1、windows server 指由微软公司开发的“Windows”系列中的“服务器”版本。这意味着它是基于Windows操作系统的,但专门设计用于服务器环境,而不是普通的桌面或个人用户使用。主要用途包括服务器功能、用户和资源管理、虚拟化等 2、dock…...
如何安全备份微信聊天记录:PyWxDump工具使用全指南
如何安全备份微信聊天记录:PyWxDump工具使用全指南 【免费下载链接】PyWxDump 删库 项目地址: https://gitcode.com/GitHub_Trending/py/PyWxDump 你是否曾因误删重要微信对话而懊悔不已?是否想永久保存珍贵聊天记录却不知从何下手?Py…...
从零构建个人知识库:Go+React全栈项目RocketNotes实战解析
1. 项目概述:从零到一构建个人知识管理工具最近在整理个人笔记和代码片段时,发现了一个挺有意思的开源项目fynnfluegge/rocketnotes。乍一看这个名字,可能会联想到火箭(Rocket)和笔记(Notes)的结…...
AICoverGen终极指南:5分钟用AI制作专业级翻唱歌曲
AICoverGen终极指南:5分钟用AI制作专业级翻唱歌曲 【免费下载链接】AICoverGen A WebUI to create song covers with any RVC v2 trained AI voice from YouTube videos or audio files. 项目地址: https://gitcode.com/gh_mirrors/ai/AICoverGen 想不想让AI…...
LVGL在无显存TFT屏上的驱动适配:双缓冲与DMA优化实践
1. 项目概述:当TFT屏幕遇上LVGL最近在做一个嵌入式GUI项目,核心任务是把LVGL这个轻量级图形库,适配到一块分辨率不算高但接口比较“个性”的TFT屏幕上。这活儿听起来像是把标准插头插到非标插座上,得自己动手改改线序。LVGL这几年…...
Bifrost:轻量高效的实时数据同步平台架构与实战
1. 项目概述:Bifrost,一个被低估的现代数据同步利器如果你正在处理跨数据库、跨数据源的数据同步任务,并且对传统ETL工具的笨重、配置复杂感到头疼,那么maximhq/bifrost这个项目绝对值得你花时间深入了解。我第一次接触Bifrost是在…...
OpenAgentsControl:构建多智能体协同系统的开源框架解析
1. 项目概述:一个面向智能体控制的开放框架最近在折腾AI智能体(Agent)相关的项目,发现一个挺有意思的开源仓库:darrenhinde/OpenAgentsControl。这个项目名字直译过来就是“开放智能体控制”,听起来就很有搞…...
嵌入式测试学习第 12天:串口基础概念:UART、波特率、数据位、校验位
串口基础概念:UART、波特率、数据位、校验位一、串口整体基础概念1、什么是UART串口2、串口实物真实图片① 主板/开发板排针串口② USB转TTL串口模块③ 老式DB9工业串口公头母头二、串口四大核心参数1、波特率概念常用标准固定值通俗理解测试场景2、数据位概念作用3…...
Deep Lake:AI数据湖与向量数据库一体化管理实践
1. 项目概述:当数据湖遇上深度学习如果你正在构建一个AI应用,无论是图像识别、自然语言处理还是多模态模型,数据管理绝对是你绕不开的“硬骨头”。数据分散在各个文件夹、云存储、数据库里,格式五花八门,加载速度慢&am…...
Linux内核C11升级:从C89到现代C语言的演进与挑战
1. 项目概述:一次内核语言的“心脏移植”手术最近Linux内核社区放出了一个重磅消息,未来计划将内核的C语言标准从使用了二十多年的C89/C90,升级到C11。这个消息一出,在开发者圈子里激起的讨论,不亚于当年从Python 2迁移…...
测试驱动开发与持续集成实践指南
测试驱动开发与持续集成实践指南 引言 测试驱动开发(TDD)和持续集成(CI)是现代软件开发中的重要实践。TDD强调先写测试再实现功能,CI确保代码的持续质量和快速反馈。本文将深入探讨TDD的方法论和CI的实践经验。 一、测…...
