#ARcore 学习 (一)

概述及开发环境

##基本概念

ARcore是Google公司开发的增强现实体验构建平台。利用不同的API使手机可以感知环境,了解现实世界并和信息进行交互。
ARcore主要使用三种技术功能将虚拟内容通过手机摄像头与现实世界整合:
运动跟踪:使手机可以理解和跟踪自己相对于现实世界的位置
环境理解:使手机可以检测各类表面(地面,墙壁,桌面等水平,垂直和倾斜表面)的大小和位置
光估测:使手机可以估测当前环境的光照条件,使虚拟内容更好的融合到现实世界中
支持的设备和开发平台
基本要求是运行在Android 7.0(Nougat)以及更高版本的系统上
硬件方面也有一定要求,但官方并未给出具体数据

###现有官方全球范围支持设备列表如下:

华硕:
Zenfone AR,Zenfone ARES

Google:
Nexus 5X(Android 8.0或更高),Nexus 6P(Android 8.0或更高),Pixel,Pixel XL,Pixel 2,Pixel 2 XL
HMD Global:
Nokia 6 2018版(也叫Nokia 6.1),Nokia 6.1 Plus,Nokia 7 Plus,Nokia 8(Android 8.0或更高),Nokia 8 Sirocco

华为:
Honor 10,nova 3,nova 3i,P20,P20 Pro,Mate RS(保时捷设计)

LG:
G6(Android 8.0或更高),G7 ThinQ,(V30, V30+, V30+ JOJO)以上都需要Android 8.0或以上版本,V35 ThinQ

摩托罗拉:
Moto G5S Plus,Moto G6,Moto G6 Plus,Moto X4(Android 8.0或更高),Moto Z2 Force,Moto Z3,Moto Z3 Play

一加:
OnePlus 3T(Android 8.0或更高),OnePlus 5,OnePlus 5T,OnePlus 6

三星:
Galaxy A5 (2017) ,Galaxy A6 (2018) ,Galaxy A7 (2017) ,Galaxy A8, Galaxy A8+ (2018),Galaxy Note8,Galaxy Note9,Galaxy S7, Galaxy S7 edge,Galaxy S8, Galaxy S8+,Galaxy S9, Galaxy S9+,Galaxy Tab S4

Sony:
Xperia XZ Premium,Xperia XZ1, Xperia XZ1 Compact(以上都需要Android 8.0或更高系统),Xperia XZ2, Xperia XZ2 Compact, Xperia XZ2 Premium(以上除需要Android 8.0以上系统外,还需要安全补丁高于2018-08-05版本)

Vivo:
NEX A,NEX S

小米:
MI 8,MI 8 SE,MI Mix 2S,Pocophone F1

Android中国支持的设备有:
小米:
Mix 2S,MI 8
华为:
P20, P20 Pro,Mate RS保时捷设计

iOS设备需要安装iOS 11.0或者更高版本并兼容ARKit:
iPhone:
iPhone X,iPhone 8&8 Plus,iPhone 7&7 Plus,iPhone 6S&6S Plus,iPhone SE
iPad:
iPad第五代和第六代,12.9英寸的iPad Pro第一代和第二代

所支持的开发平台有:
Android
Android NDK
Unity for Android
Unity for iOS
iOS
Unreal
web

##工作原理分析

ARCore在做的两件最本质的事情:在移动设备移动时跟踪它的位置和构建自己对现实世界的理解。

ARCore 的运动跟踪技术使用手机摄像头标识特征点,并跟踪这些点随着时间变化的移动。 将这些点的移动与手机惯性传感器的读数组合,ARCore可以在手机移动时确定它的位置和屏幕方向。

除了标识关键点外,ARCore还会检测平坦的表面(例如桌子或地面),并估测周围区域的平均光照强度。这些功能共同让ARCore可以构建自己对周围世界的理解。
借助 ARCore 对现实世界的理解,我们能以一种与现实世界无缝整合的方式添加物体、注释或其他信息。

##基本概念

  • 运动跟踪

  • 用于估测摄像头随着时间推移而相对于周围世界的姿态(位置和方向)的技术

  • 环境理解

    • ARcore需要不断通过特征点和平面来改进它对环境的理解
  • 光估测

  • 通过对环境光的检测,来使虚拟物体也具有相同的光照现象,与现实环境更加融合

  • 用户交互

    • 主要是ARcore对于虚拟物体的交互操作
  • 定向点

  • 指定的特征点,用来在现实环境中固定虚拟物体来使用

  • 锚点和可跟踪对象

    • 锚点是位于现实环境中来固定虚拟物体的点,我们用来确定位置的现实物体就是可跟踪对象
  • 增强图像

  • 可以用来响应的特殊2D图像
    云锚点共享
    将锚点用云端来进行共享,从而实现多设备联机

###相关资料

百度搜索 EasyAR 视+AR

谷歌官方微信公众号ARcore文章:
https://mp.weixin.qq.com/s?__biz=MzAwODY4OTk2Mg==&mid=2652044627&idx=1&sn=650265fd1d7023b95fb043432d7ecbe3&chksm=808d5d16b7fad400cafe96469396850691349fbcafbe52b7a35c333a79545cef84e8fd8d9b52&scene=21#wechat_redirect


#环境搭建

  • 下载ARcore

https://developers.google.cn/ar/develop/downloads
最新版本1.4.0

  • 环境要求

Android Studio 3.1 或更高版本以及 Android SDK Platform 7.0(API 级别 24)或更高版本
Android Emulator 27.2.7 或更高版本

  • 非常手段

http://www.gda.wiki:9090/

ARcore概述及开发环境.md相关推荐

  1. 我的全栈之路-C语言基础之C语言概述与开发环境搭建

    我的全栈之路-C语言基础之C语言概述与开发环境搭建 我的全栈之路 1.1 信息技术发展趋势 1.2 浅谈计算机系统架构 1.2.1 计算机系统架构概述 1.2.2 计算机硬件系统 1.2.2 计算机软 ...

  2. Java基础----JAVA语言的概述和开发环境的搭配

    01 JAVA语言的概述和开发环境的搭配 JAVA语言简介 创始人:詹姆斯.高斯林 历史:起初属于sun公司,由高斯林与其合伙人研发而出,用于在各种移动设备上进行程序开发设计,初始起名为green,后 ...

  3. 【Java基础快速入门】概述及开发环境搭建

    概述及开发环境搭建 概述 历史 发展历程 运行机制 模块图 环境搭建 程序示例 注释 标识符 概述 历史 SUN:Stanford University Network 1982年成立 发展历程 Oa ...

  4. Python学习笔记 - Python语言概述和开发环境

    一.Python简介 1.1  Python语言简史 Python由荷兰人吉多·范罗苏姆(Guido van Rossum)于1989年圣诞节期间,在阿姆斯特丹,为了打发圣诞节的无聊时间,决心开发一门 ...

  5. 我的全栈之路-Python基础之Python概述与开发环境搭建

    我的全栈之路-Python基础之Python概述与开发环境搭建 我的全栈之路 1.1 信息技术发展趋势 1.2 浅谈计算机系统架构 1.2.1 计算机系统架构概述 1.2.2 计算机硬件系统 1.2. ...

  6. C语言核心技术-C语言概述与开发环境搭建

    C语言概述 C语言发展简史 起源 1972年,贝尔实验室的Dennis Ritchie和Ken Thompson在开发Unix操作系统时设计了C语言,该操作系统的90%以上的代码都是由C语言实现,后期 ...

  7. JAVA笔记(1)Java概述、开发环境搭建 、Eclipse概述、 注释、关键字、常量、变量、数据类型、标识符

    文章目录 第1章 Java概述 1.1 Java语言发展史 1.2 跨平台原理 1.3 JVM JRE JDK 第2章 Eclipse开发工具 2.1 Eclipse概述和安装 2.2 Eclipse ...

  8. LabVIEW课程笔记(一)——概述、开发环境、设计方法

    一.概述 LabVIEW(Laboratories Virtual Instrument Engineering Workbench)是一种用图标代替文本的图形化编程语言.在传统文本编程语言中,根据语 ...

  9. java语言适合编写什么_01--Java语言概述与开发环境 最适合入门的Java教程

    Java程序运行机制 编译型语言: 使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码一次性"翻译"成可被该平台硬件执行的机器码(包括机器指令和操作数),并包装成该平台 ...

  10. 第一章Java概述及开发环境搭建

    本章目标: 了解SUN公司 了解Java语言的发展史 了解Java主要技术的三个分支 了解Java可移植性的实现原理 SUN公司:java的缔造者 Java发展简史: Oak:Java的前身,1991 ...

最新文章

  1. 微信小程序多张图片和表单一起上传,验证表单及进度条的实现完整代码
  2. 矩阵用jordan解决initial-value问题_矩阵与数值计算(6)——矩阵幂级数 sin A、cos A...
  3. AppLaunchScreen/Screenshot(启动图/屏幕快照)输出规范
  4. linux之SQL语句简明教程---UNION ALL
  5. html5 地图效果,html5 echarts图表插件炫光的分布地图动画特效
  6. 休眠事实:如何“断言” SQL语句计数
  7. java mail outlook_已启用Outlook API邮件与邮箱用户
  8. grafana 迁移
  9. 微软MSDN订阅用户已可提前手工下载Windows 10安装包
  10. 获得CPU利用率(python调用top命令实现)
  11. python下载股票数据_如何下载股票历史数据?
  12. html制作qq对话消息框,qq对话框设置 QQ聊天对话框的背景皮肤怎么设置?
  13. excel生成随机数 / random number in excel
  14. centos安装uWSGI失败处理办法Exception: you need a C compiler to build uWSGI
  15. 语音端点检测整理 VAD
  16. MindManager2020永久激活版如何绘制思维导图
  17. 在mac电脑上,用Safari浏览器调试ios手机移动端页面
  18. ERR_CONNECTION_CLOSED
  19. 哈趣K1和哈趣H1哪个性价比更高?谁更值得入手?
  20. 吉林大学软件学院《软件项目管理》课程重点与测试题 第十一章 评审

热门文章

  1. 基于WPF开发了一款简单的小型CAD软件.放个效果图
  2. finereport与OA系统集成的完全方案
  3. 还在苦恼如何查看微信共同好友吗?用Python轻松搞定
  4. 黑域助手连接服务器才能用吗,黑域app怎么使用?进入黑域详细教程[图]
  5. PID实现水平姿态角控制
  6. 屏幕准星工具软件_非常简单好用
  7. WPS 2019|WPS Office 2019官方最新版 v11.1下载
  8. eclipse使用svn工具
  9. InTouch 如何备份驱动的通信配置
  10. 手机app测试点有哪些?手机app测试用例怎么写?错过绝对后悔!