此前在HUAWEI nova3发布会中,相信大家都已经感受到了AR能力带来的惊喜:

现实场景召唤圣斗士,随时随地交流合影:

点击观看视频:https://v.qq.com/x/page/m1344f6bzpj.html

三大电商平台(京东、苏宁、天猫)合作,虚拟现实投影,购物从此不用愁:

点击观看视频:https://v.qq.com/x/page/s0731v8xt4k.html

手势特效

Qmoji多重表情助你成为朋友圈红人!

看到如此炫酷的场景,是不是想知道他的原理呢,跟着联盟君往下看!

何为AR应用?

简单来说,一个AR场景的实现,是将手机中的平面画面,在AR应用的开发平台中经过修改坐标、渲染背景、叠加虚拟物体等AR技术的处理后,根据相机位置和姿态的变化,呈现不同的虚拟场景给用户。

AR应用的开发过程

关注AR行业的开发者们应当都有了解, 华为为扶持开发者开发AR应用也开放了HUAWEI AR Engine。

2018年4月12日,在P20的中国区发布会上,HUAWEI AR Engine预览版在中国发布会正式亮相。在6月23日的华为开发者大会上,华为AR/VR产品线总裁李腾跃正式发布了AR Engine 1.0,并宣布将会面向所有开发者开放。

HUAWEI AR Engine介绍

HUAWEI AR Engine垂直优化AR算法和麒麟芯片的软硬件能力,可以帮助开发者打造极致体验的AR应用。

主要功能:

运动跟踪:持续稳定跟踪手机位置和姿态相对于周围环境的变化,同时输出环境特征三维坐标信息。

平面检测:让手机可以检测到水平面和垂直面(例如地面或墙面)的大小和位置。

光照估计:让手机可以估计当前环境的光照条件,目前支持估计环境光的强度。

命中检测:让用户可以通过屏幕上的点击操作选中现实环境中的兴趣点。

华为采用AREngine + AR Core 双栈策略

HUAWEI AR Engine的优势

1、经过严格的考验

华为AR Engine经过了一些顶级的应用开发商的严格考验,比如华为和腾讯合作对AR游戏《一起来捉妖》进行调试,还有网易的AR游戏《悠梦》和京东的AR家具展示应用,都取得了不错的反响

点击观看视频:https://v.qq.com/x/page/h13442bxvd5.html

2、在华为手机的使用效果

针对华为AR Engine的特点,除了目前业界标准的AR特性之外,华为AR Engine还加入了人脸跟踪、人脸Mesh、人脸光照、三维重建、手势姿态等等,后续还会加入尺度测量和光照检测等特性。结合华为手机的GPU和NPU,可以让这种处理能力更加快速和强大。

 首先是SLAM,华为AR Engine配合集合芯片和模组优化,功耗更低,能够实现在弱纹理下的快速初始化,并且具备更高的稳定性。

 其次是平面检测,华为AR Engine的平面识别速度、平面精度、平面贴合度均占据优势,并且平面和实际的环境会更加贴合,而不仅仅是简单的大块的平面。

接下来是光照检测,在使用华为AR Engine开发的AR应用中,照在虚拟物体的光照会根据实际的光照有不同强度的变化,据介绍,华为AR Engine的光强识别速度很快,会在10帧之内识别当前光强度的数值,并作出调整。

 第四个重要特性是华为AR Engine特有的手部识别。结合这一特性,AR应用可以实现非常有趣的手势特效,这种特性是友商的SDK现在不提供的,或者只提供类别识别,功能单一。

3、用户数量

华为AR Engine的第三大优势在于庞大的受众用户。目前,华为AR Engine已经在P20系列手机上运行,到今年10月升级Android P之后,会全系列支持采用麒麟970及以上芯片的设备,到12月,还会增加对麒麟960和其他麒麟系列的芯片的支持。而在此之后华为发布的新机型将会全面支持华为AR Engine。预计到2019年6月,支持华为AR Engine的手机数量将超过2亿台。

4、完善的接口支持

为了支持开发者们使用华为AR Engine,华为开发者联盟提供了完善的开发者的支持。如今年5月,华为AR Engine的Beta版已经在华为开发者联盟网站上线,开发者在这里可以下载SDK和技术文档,可以很方便地开发AR应用(

深度解析丨秒懂nova3手机上超酷炫的AR应用及开发的更多相关文章

  1. 汇顶指纹传感器GF919深度解析

    前言: 随着指纹识别技术的日益普遍,其在手机上的应用也得到了广泛关注.作为全球第一款Android正面按压指纹识别手机,魅族MX4 Pro所搭载的国产指纹识别系统可谓是赚足了眼球,这就是由汇顶科技提供 ...

  2. [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析

    [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285 ...

  3. 第37课 深度解析QMap与QHash

    1. QMap深度解析 (1)QMap是一个以升序键顺序存储键值对的数据结构 ①QMap原型为 class QMap<K, T>模板 ②QMap中的键值对根据Key进行了排序 ③QMap中 ...

  4. Deep Learning模型之:CNN卷积神经网络(一)深度解析CNN

    http://m.blog.csdn.net/blog/wu010555688/24487301 本文整理了网上几位大牛的博客,详细地讲解了CNN的基础结构与核心思想,欢迎交流. [1]Deep le ...

  5. (转载)(收藏)OceanBase深度解析

    一.OceanBase不需要高可靠服务器和高端存储 OceanBase是关系型数据库,包含内核+OceanBase云平台(OCP).与传统关系型数据库相比,最大的不同点, 是OceanBase是分布式 ...

  6. Kafka深度解析

    本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/01/02/Kafka深度解析 背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅 ...

  7. java内存分配和String类型的深度解析

    [尊重原创文章出自:http://my.oschina.net/xiaohui249/blog/170013] 摘要 从整体上介绍java内存的概念.构成以及分配机制,在此基础上深度解析java中的S ...

  8. Unity加载模块深度解析(Shader)

    作者:张鑫链接:https://zhuanlan.zhihu.com/p/21949663来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 接上一篇 加载模块深度解析(二 ...

  9. Unity加载模块深度解析(网格篇)

    在上一篇 加载模块深度解析(一)中,我们重点讨论了纹理资源的加载性能.这次,我们再来为你揭开其他主流资源的加载效率. 这是侑虎科技第53篇原创文章,欢迎转发分享,未经作者授权请勿转载.同时如果您有任何 ...

随机推荐

  1. 踩的ssh坑

    先说下事情的起因,手贱删掉了~/.ssh下的所有文件,包括authorized_keys,id_rsa,id_rsa.pub,以及known_hosts.其实,这四个文件本来就是没有的,id_rsa和 ...

  2. 【OpenJudge9267】【递推】核电站

    核电站 总时间限制: 5000ms 单个测试点时间限制: 1000ms 内存限制: 131072kB [描述] 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会发生爆 ...

  3. Xcode8 不能显示blame,show blame for line 灰色不可点解决办法

    1.原因 创建工程时没勾选create git repository 2.解决办法 ➜  ~  cd /Users/zhanglinfeng/Documents/EastMoney/EMLive  / ...

  4. JavaScript 的闭包用于什么场景

    本文翻译自 MDN ( Mozilla Developer Network ): 原文地址:MDN 译文地址:shixinzhang 的博客 读完本文你将了解到: 词法作用域 闭包 闭包实战场景之回调 ...

  5. nagios系列教程地址

    http://www.sosidc.com/sort/10/page/3 http://www.sosidc.com/sort/10/page/2 http://www.sosidc.com/sort ...

  6. mapreduce实现搜索引擎简单的倒排索引

    使用hadoop版本为2.2.0 倒排索引简单的可以理解为全文检索某个词 例如:在a.txt 和b.txt两篇文章分别中查找统计hello这个单词出现的次数,出现次数越多,和关键词的吻合度就越高 现有 ...

  7. [Functional Programming] Draw Items from One JavaScript Array to Another using a Pair ADT

    We want to be able to pick nine random cards from an array of twelve cards, but can run into problem ...

  8. LoadRunner如何在脚本运行时修改log设置选项

    LoadRunner如何在脚本运行时修改log设置选项?答案是使用lr_set_debug_message函数: lr_set_debug_message Sets the message level ...

  9. [翻译]JUnit 5 用户手册

    为了系统的学习下 JUnit 5, 因此开始翻译 JUnit 5 官方用户手册, 谢谢关注! 本手册翻译自 5.0.0-M4 版本. 若感兴趣, 可 star 或 fork 该仓库! GitHub: ...

  10. SQL Server 2008R2发布与订阅的配置

    使用SQL Server的发布与订阅可以将一个数据库的数据实时传送到另一个数据库中,使用这种方式与Link Server相比可以减少对数据库的连接次数.下面介绍SQL Server 2008R2发布与 ...