增强现实技术(Augmented Reality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。
AR包括什么:
一个最简单地AR场景实现所需要的技术以及步骤包含如下
1.多媒体捕捉现实图像:如摄像头
2.三维建模:3D立体模型
3.传感器追踪:主要追踪现实世界动态物体的六轴变化,这六轴分别是X、Y、Z轴位移及旋转。其中位移三轴决定物体的方位和大小,旋转三周决定物体显示的区域。
4.坐标识别及转换:3D模型显示在现实图像中不是单纯的frame坐标点,而是一个三维的矩阵坐标。这基本上也是学习AR最难的部分,好在ARKit帮助我们大大简化了这一过程
5.除此之外,AR还可以与虚拟物体进行一些交互。

ARKit概述及特点介绍

1.ARKit是2017年6月6日,苹果发布iOS11系统所新增框架,它能够帮助我们以最简单快捷的方式实现AR技术功能。
2.ARKit框架提供了两种AR技术,一种是基于3D场景(SceneKit)实现的增强现实,一种是基于2D场景(SpriktKit)实现的增强现实
一般主流都是基于3D实现AR技术,ARKit不仅支持3D游戏引擎SceneKit还支持2D游戏引擎SpriktKit,这一点出乎笔者意料之外

3.要想显示AR效果,必须要依赖于苹果的游戏引擎框架(3D引擎SceneKit,2D引擎SpriktKit),主要原因是游戏引擎才可以加载物体模型。
虽然ARKit框架中视图对象继承于UIView,但是由于目前ARKit框架本身只包含相机追踪,不能直接加载物体模型,所以只能依赖于游戏引擎加载ARKit

4.误区解读:ARKit虽然是iOS11新出的框架,但并不是所有的iOS11系统都可以使用,而是必须要是处理器A9及以上才能够使用,苹果从iPhone6s开始使用A9处理器,也就是iPhone6及以前的机型无法使用ARKit
5.开发环境介绍
1.Xcode版本:Xcode9及以上
2.iOS系统:iOS11及以上
3.iOS设备:处理器A9及以上(6S机型及以上)
4.MacOS系统:10.12.4及以上(安装Xcode9对Mac系统版本有要求)
目前只有Bete版本,链接地址:https://developer.apple.com/download/
ARCore的工作原理
美国时间8月29日,Google发布了用于Android平台的AR SDK——ARCore,这弥补了AR在Android市场上的空缺 。ARCOre的工作原理主要有以下几点:
  1. 运动跟踪:它利用IMU传感器和设备的相机来发现空间的特征点,由此确定Android设备的位置和方向。此外,使用VPS,可以让AR物体每次看起来似乎都在同一位置。
  2. 环境感知:虚拟物体一般都是放置于平坦平面上的,用ARCore可以检测物体的水平表面,建立环境认知感,以保证虚拟的对象可以准确放置,然后让您看到放置在这些表面上的AR物体。
  3. 光线预测:ARCore根据环境的光强度,使开发人员可以与周围环境相匹配的方式点亮虚拟对象。此外,最近的一个实验发现,虚拟阴影在真实环境光照下的调整功能也是如此,这样就可以使AR物体的外观更为逼真。
ARCore与ARKit对比
相同点
  1. ARKit在iOS中的工作原理与ARCore上述的原理大致相同。两者都允许开发人员使用现有手机的单个摄像头来感知并跟踪您的手机相对于现实世界的运动,并能调整虚拟物体与现实世界的匹配程度。
  2. 两者都能与Java/OpenGL,Unity和Unreal配合使用,并且都不需要其他特制硬件就可以在手机系统上运行。
  3. 两者都是先面向开发者,后面向消费者,他们希望开发人员能够轻松创建AR应用程序,理论上可以在现有的数亿手机上应用。
不同点
  1. ARKit可以将AR应用程序运行在任何具有A9处理器的iOS 11系统以上,这意味着任何iPhone 6S或更高版本或任何iPad Pro 都将能运行这些AR应用程序,但是对Android来说,由于不同厂商的手机型号会有兼容性的问题以及摄像头的不同,这在很大程度上限制了ARCore在Android的推广,为此,Google还需做大量的工作。在这一点上,苹果比谷歌有优势。
  2. 此外,Google还将AR 引入Web,认为其是“AR未来的关键组成部分”, 并发布了两个实验性的浏览器——以AR为重点的Chromium浏览器版本:一个是在Android的基础上,可使用ARCore的浏览器;一个是基于iOS,可使用ARKit的浏览器。这样,允许Web开发人员使用AR,用浏览器也能用上AR功能,不用在手机上下载应用,开发人员可以使用Java将3D对象直接从网页推送到真实的世界中,虽然这些过程仍处于实验阶段,但依然值得期待。

ARKit 和 ARCore概念介绍相关推荐

  1. ARKit 与 ARCore比对(三)

    ARKit 和 ARCore剖析.结构.原理介绍 ARKit 和 ARCore 都是三部分:相机姿态估计, 环境感知(平面估计)及光源感知. ARCore 的部分源码:https://github.c ...

  2. cocos2d-x一些核心概念介绍

    cocos2d-x一些核心概念介绍 Cocos2d-x中有很多概念,这些概念很多来源于动画.动漫和电影等行业,例如:导演.场景和层等概念,当然也有些有传统的游戏的概念.Cocos2d-x中核心概念:导 ...

  3. FPGA之道(75)静态时序分析(一)基本概念介绍

    文章目录 前言 基本概念介绍 常用时间参数介绍 tsu 建立时间要求 建立时间余量 th 保持时间要求 保持时间余量 tco Maximum frequency (or Minimum period) ...

  4. Lesson 13.2 模型拟合度概念介绍与欠拟合模型的结构调整策略

    一.模型拟合度概念介绍与实验 1.测试集的"不可知"悖论   通过此前课程内容介绍,我们已经知道了机器学习模型主要通过模型在测试集上的运行效果来判断模型好坏,测试集相当于是&quo ...

  5. linux块设备驱动(一)——块设备概念介绍

    linux块设备驱动(一)--块设备概念介绍 本文来源于: 1. http://blog.csdn.net/jianchi88/article/details/7212370 2. http://bl ...

  6. c语言 activemq,activemq概念介绍

    ActiveMQ概念介绍 是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,消息中间件. 消息中间件: A传递消息到B(功能或者系统),有比较强的耦合 ...

  7. HTML/CSS学习笔记01【概念介绍、基本标签】

    w3cschool菜鸟教程.CHM(腾讯微云):https://share.weiyun.com/c1FaX6ZD HTML/CSS学习笔记01[概念介绍.基本标签.表单标签][day01] HTML ...

  8. 《统计自然语言处理》读书笔记 一.基础知识及概念介绍

    最近准备学习自然语言处理相关的知识,主要参考<统计自然语言处理·宗成庆>和<Natural Language Processing with Python>,推荐大家阅读.第一 ...

  9. DNS术语,组件和概念介绍

    DNS术语,组件和概念介绍 2014年2月18日发布 255.4k个意见 DNS 概念LINUX基础常见问题 介绍 DNS或域名系统往往是学习如何配置网站和服务器的一个非常困难的部分.了解DNS如何工 ...

  10. SQL语言基础:数据库语言概念介绍

    1.概念介绍 SQL(Structured Query Lanauage)结构化查询语言是关系数据库中最普遍使用的语言.主要包括查询.数据操纵.数据定义.数据控制功能,是一种通用的.功能强大的关系数据 ...

最新文章

  1. 虚继承c语言例子,C/C++ 多继承{虚基类,虚继承,构造顺序,析构顺序}
  2. php抽奖概率算法(刮刮卡,大转盘)
  3. 地线与接地螺丝_快来看看新能源电动汽车充电时,地线的安装情况吧!
  4. 青年会会训的一些探究
  5. day69-oracle 22-DBCA
  6. 拓端tecdat|R语言自然语言处理(NLP):情感分析新闻文本数据
  7. ai 道德_AI如何提升呼叫中心的道德水平?
  8. AI模型的大一统!浅析微软的BEIT3:多模态领域乱杀的十二边形战士
  9. globk命令帮助信息
  10. 线性代数的本质_01_向量、张成空间与基
  11. 最全面计算机英语单词列表(三)
  12. 利用全加器实现7段数码管_[走近FPGA]之数码管动态显示
  13. 用一张PPT让面试官在100个人里面记住你
  14. 沧小海基于xilinx srio核的学习笔记之第三章 xilinx srio核介绍(一)结构介绍
  15. Android当方法总数超过64K时(Android Studio)
  16. 超全总线控制方式总结
  17. Windows内存dump
  18. java mongo replica_mongo 的replica set的集群模式 实现读写分离
  19. codeforces 1100D-Dasha and Chess
  20. 公众互助云的典范:Testin开放众包自动化云测试服务

热门文章

  1. charles请求转发_使用Charles代理进行请求转发
  2. mac下Flash cc2014的破解方法
  3. 计算机公式英汉对照,Excel 2013中英文对照图
  4. Qt中QListView设置其编辑状态
  5. Matlab数据标准化——mapstd、mapminmax
  6. gif透明背景动画_软件|电脑GIF录制软件,强烈推荐!
  7. 项目管理十大知识领域和47个过程
  8. 【游戏开发指路】Unity学习路线,三万字大纲(面试题大纲 | 知识图谱 | Unity游戏开发工程师)
  9. wps怎么下载仿宋gb2312_仿宋|如何下载仿宋gb2312字体_wps仿宋gb2312字体下载方法_234游戏网...
  10. 一个编辑的黑洞项目:编程日历背后的 “鬼级操作”