《看书篇》

诗云:
书山勤为径,
学海苦作舟。
书中颜如玉,
书中黄金屋。
买书如山倒,
看书如抽丝。
觉都不够睡,
奈何杂事多。
朝为书忧,
暮为书愁,
朝朝暮暮,
忧愁不断。
去年沉迷工作,
今日待业家中,
人生不如意事十之八九。

每天,狄狄第一个来,戈戈最后一个走。
早上,狄狄拿起那本皱巴巴的《道德经》读了起来,“道可道,非常道…”。
戈戈:朝闻道,晚上睡得好!
上午,狄狄在抽屉里翻起《易经》,手指扒拉着,若有所思。
戈戈:日往则月来,月往则日来,日月相推,而明生焉。
中午,狄狄趴在桌子上刷起了《大学》视频,一会笑一会哭。
戈戈:大学之道,在明明德,在亲民。困=_=!
下午,狄狄开始埋头认真抄写《论语》笔记。
戈戈:狄狄,您是在准备科举考状元麽?
狄狄:灭口灭口。
幕落。

【AR开发】ARCore简介
【AR开发】ARCore官方示例(Android)

ARCore简介

  • 1、什么是 ARCore?
  • 2、ARCore 的特点
  • 3、ARCore 的原理
    • 3.1 运动追踪(Motion tracking)
    • 3.2 环境理解(Environmental understanding)
    • 3.3 深度了解(Depth understanding)
    • 3.4 光估计(Light estimation)
    • 3.5 用户互动(User interaction)
    • 3.6 定向点(Oriented points)
    • 3.7 锚点和可追踪对象(Anchors and trackables)
    • 3.8 增强图像(Augmented Images)
    • 3.9 分享(Sharing)
  • 4、ARCore 开发包下载
    • 4.1 google
    • 4.2 GitHub
    • 4.3 开发环境
  • 5、Google Play Services for AR
  • 6、ARCore 支持的设备
    • 6.1 设备认证
    • 6.2 Android 设备模拟器
    • 6.3 安卓(Google Play)
    • 6.4 安卓(中国)
    • 6.5 iOS
  • 后续

1、什么是 ARCore?

ARCore — Google 的 AR 开发者平台 — 为创建 AR 体验提供了简单而强大的工具。
ARCore — Google’s AR developer platform — provides simple yet powerful tools for creating AR experiences.

官网地址:
https://arvr.google.com/arcore/
https://developers.google.cn/ar/
https://developers.google.com/ar/

ARCore 是 Google 用于构建增强现实体验的平台。ARCore 使用不同的 API 使您的手机能够感知环境、了解世界并与信息交互。一些 API 可在 Android 和 iOS 上使用,以实现共享的 AR 体验。

ARCore 使用三个关键功能将虚拟内容与通过手机摄像头看到的现实世界相结合:

  • 运动跟踪:允许手机了解并跟踪其相对于世界的位置。
  • 环境理解:使手机能够检测所有类型表面的大小和位置:水平、垂直和有角度的表面,如地面、咖啡桌或墙壁。
  • 光估计:允许手机估计环境的当前照明条件。

ARCore 旨在用于运行 Android 7.0 (Nougat) 及更高版本的各种合格的 Android 手机。此处提供了所有受支持设备的完整列表。

从根本上说,ARCore 正在做两件事:跟踪移动设备移动时的位置,以及建立自己对现实世界的理解。

ARCore 的运动跟踪技术使用手机的摄像头来识别有趣的点,称为特征,并跟踪这些点如何随时间移动。结合这些点的移动和手机惯性传感器的读数,ARCore 可以确定手机在空间中移动时的位置和方向。

除了识别关键点之外,ARCore 还可以检测平面,例如桌子或地板,还可以估计其周围区域的平均照明。这些功能相结合,使 ARCore 能够建立自己对周围世界的理解。

2、ARCore 的特点

  • 云锚

跨 Android 和 iOS 的持久、多用户、跨平台 AR 体验。

  • 录音和回放

使用预先录制的 MP4 加速开发人员工作流程并解锁新用例。

  • 深度

通过对象遮挡、沉浸和交互来增加真实感——您甚至可以进行对象和场景重建。

  • 环境 HDR

将现实世界的照明扩展到虚拟对象,使数字对象看起来就像它们实际上是现实世界场景的一部分。

3、ARCore 的原理

3.1 运动追踪(Motion tracking)

当您的手机在世界范围内移动时,ARCore 使用称为同步定位和地图绘制(SLAM)的过程来了解手机相对于周围世界的位置。ARCore 在捕获的相机图像中检测视觉上不同的特征,称为 特征点,并使用这些点来计算其位置变化。视觉信息与来自设备 IMU 的惯性测量值相结合,以估计相机相对于世界随时间推移的姿态(位置和方向)。

通过将渲染 3D 内容的虚拟相机的姿势与 ARCore 提供的设备相机的姿势对齐,开发人员能够从正确的角度渲染虚拟内容。渲染的虚拟图像可以叠加在从设备摄像头获得的图像之上,使其看起来好像虚拟内容是现实世界的一部分。

3.2 环境理解(Environmental understanding)

ARCore 通过检测特征点和平面,不断提高对现实世界环境的理解。

ARCore 寻找看似位于常见水平或垂直表面(如桌子或墙壁)上的特征点簇,并将这些表面作为几何平面提供给您的应用程序。ARCore 还可以确定每个几何平面的边界,并将该信息提供给您的应用程序。您可以使用此信息将虚拟对象放置在平面上。

由于 ARCore 使用特征点来检测平面,因此可能无法正确检测没有纹理的平面,例如白墙。

3.3 深度了解(Depth understanding)

ARCore 可以使用受支持设备的主 RGB 摄像头创建深度图,即包含有关表面与给定点之间距离的数据的图像 。您可以使用深度图提供的信息来实现身临其境和逼真的用户体验,例如使虚拟对象与观察到的表面准确碰撞,或者使它们出现在现实世界对象的前面或后面。

3.4 光估计(Light estimation)

ARCore 可以检测有关其环境照明的信息,并为您提供给定相机图像的平均强度和色彩校正。此信息可让您在与周围环境相同的条件下照亮虚拟对象,从而增加真实感。

3.5 用户互动(User interaction)

ARCore 使用命中测试来获取与手机屏幕对应的 (x,y) 坐标(通过点击或您希望应用程序支持的任何其他交互提供)并将光线投射到相机的世界视图中,返回任何几何平面或光线相交的特征点,以及该交点在世界空间中的姿态。这允许用户选择或以其他方式与环境中的对象交互。

3.6 定向点(Oriented points)

定向点可让您将虚拟对象放置在有角度的表面上。当您执行返回特征点的命中测试时,ARCore 将查看附近的特征点并使用这些特征点来尝试估计给定特征点处的表面角度。然后 ARCore 将返回一个考虑了该角度的姿势。

由于 ARCore 使用特征点簇来检测表面的角度,因此可能无法正确检测没有纹理的表面,例如白墙。

3.7 锚点和可追踪对象(Anchors and trackables)

随着 ARCore 提高对自身位置和环境的理解,姿势可能会发生变化。当您想要放置虚拟对象时,您需要定义一个 锚点以确保 ARCore 随时间跟踪对象的位置。通常,您会根据命中测试返回的姿势创建锚点,如用户交互中所述。

姿势可以改变的事实意味着 ARCore 可能会随着时间的推移更新几何平面和特征点等环境对象的位置。平面和点是一种特殊类型的对象,称为可追踪对象。顾名思义,这些是 ARCore 将随时间跟踪的对象。您可以将虚拟对象锚定到特定的可追踪对象,以确保即使设备四处移动,您的虚拟对象与可追踪对象之间的关系也能保持稳定。这意味着,如果您在桌面上放置一个虚拟的 Android 小雕像,如果 ARCore 稍后调整了与桌面相关联的几何平面的姿势,则该 Android 小雕像仍会出现在桌子顶部。

注意:为了降低 CPU 成本,请尽可能重用锚点并分离不再需要的锚点。

3.8 增强图像(Augmented Images)

增强图像是一项功能,可让您构建可以响应特定 2D 图像(例如产品包装或电影海报)的 AR 应用程序。用户可以在将手机摄像头对准特定图像时触发 AR 体验——例如,他们可以将手机摄像头对准电影海报,然后弹出一个角色并制作一个场景。

ARCore 还跟踪移动图像,例如移动公交车侧面的广告牌。

可以离线编译图像以创建图像数据库,或者可以从设备实时添加单个图像。注册后,ARCore 将检测这些图像、图像的边界,并返回相应的姿势。

3.9 分享(Sharing)

ARCore Cloud Anchor API 可让您为 Android 和 iOS 设备创建协作或多人游戏应用程序。

使用 Cloud Anchors,一台设备将一个锚点和附近的特征点发送到云端进行托管。这些锚点可以与同一环境中 Android 或 iOS 设备上的其他用户共享。这使应用程序能够渲染附加到这些锚点的相同 3D 对象,让用户同时拥有相同的 AR 体验。

4、ARCore 开发包下载

4.1 google

https://developers.google.com/ar/develop/downloads

4.2 GitHub

https://github.com/google-ar

4.3 开发环境


5、Google Play Services for AR

https://github.com/google-ar/arcore-android-sdk/releases/tag/v1.27.0

适用于 AR服务 的Google Play 服务会在应用安装期间或运行时开始 ARCore 会话时自动安装。请参阅启用 ARCore文档(Android、 NDK、 Unity for Android)了解更多信息。

谷歌播放服务AR也可以单独下载,开展积极开发过程中侧面加载任何物理上的测试ARCORE支持的设备 支持或Android模拟器的Android或 Android的NDK。

6、ARCore 支持的设备

https://developers.google.com/ar/devices

6.1 设备认证

支持设备意味着什么?简而言之,这意味着它已经通过了我们的认证过程。

认证很重要,因为我们希望用户对您的 AR 应用程序有良好的体验。这主要与敏感运动跟踪有关,它是通过结合相机图像和运动传感器输入来确定用户设备如何在现实世界中移动来完成的。

为了认证每台设备,我们会检查摄像头、运动传感器和设计架构的质量,以确保其按预期运行。此外,设备需要有足够强大的 CPU 与硬件设计集成,以确保良好的性能和有效的实时计算。

6.2 Android 设备模拟器

制造商 设备型号 注释
Google Any x86 or x86_64 based AVD 需要 Android 8.1 (API 27) 或更高版本。面向后的(世界)照相机被仿真与虚拟场景。不支持前置(自拍)相机。

6.3 安卓(Google Play)

这里列出的Android设备通过支持ARCORE谷歌播放服务AR ,这使得能够增强与ARCORE SDK构建现实(AR)的经验,如果满足以下条件:

(1)该设备最初随 Google Play 商店提供

(2)该设备正在运行下表中列出的最低 Android 版本,如果未列出版本,则设备必须运行 Android 7.0 或更高版本

  • “AR可选的”应用程序必须声明minSdkVersion ≥ 14 ( API等级14 )
  • “AR要求”应用必须声明minSdkVersion ≥ 24( API等级24 )

6.4 安卓(中国)

在中国,设备不随 Google Play 商店提供。此处列出的 Android 设备通过适用于 AR 的 Google Play 服务支持 ARCore,该服务可作为单独的可从以下:

应用商店下载的服务获得:

  • 小米应用商店(小米应用商店)
  • 华为应用商店(华为应用商店)
  • OPPO APP Market(OPPO软件商店)
  • Samsung Galaxy Apps (三星应用市场)
  • V-Appstore(vivo应用商店)

ARCore 支持在中国地区销售的这些设备:

制造商 设备型号 注释
Huawei Honor 10 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p,支持深度API
Huawei Honor Magic 2
Huawei Honor V20 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p
Huawei Maimang 7
Huawei Mate 20 支持深度API
Huawei Mate 20 Pro
Huawei Mate 20 X 支持深度API
Huawei Nova 3 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p,支持深度API
Huawei Nova 3i
Huawei Nova 4 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p,支持深度API
Huawei P20 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p,支持深度API
Huawei P20 Pro 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p
Huawei P30 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p,支持深度API
Huawei P30 Pro 支持多种 GPU 纹理分辨率 - 2048x1536、1280x960、480p,支持深度API
Huawei Porsche Design Mate RS
Huawei Porsche Design Mate 20 RS
Oppo A53 5G
Oppo A93 5G
Oppo Find X3 支持深度API
Oppo Find X3 Pro 支持深度API
Oppo F19 Pro+ 支持深度API
Oppo K5 支持多种 GPU 纹理分辨率 - 1080p、720p、480p
Oppo K7x 支持深度API
Oppo K9 5G
Oppo Reno
Oppo Reno 10x Zoom 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p
Oppo Reno Ace 支持深度API
Oppo Reno Ace 2
Oppo Reno Z
Oppo Reno2 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p
Oppo Reno2 Z 支持多种 GPU 纹理分辨率 - 1080p、720p、480p
Oppo Reno4 SE 5G 支持深度API
Oppo Reno5 5G
Oppo Reno5 K 5G
Oppo Reno5 Pro 4G
Oppo Reno5 Pro 5G 支持深度API
Oppo Reno5 Pro+ 5G 支持深度API
Oppo Reno6 Pro+ 5G
realme Q
realme Q2 Pro 5G
realme Q3 5G
realme X
realme X Lite
realme X2
realme X2 Pro
realme X3
realme X50 Pro Player
realme X7 5G
realme X7 Pro 5G
realme V5 5G
realme 真我V13 5G
realme 真我GT
realme realme GT Neo 支持深度API
Samsung Galaxy Note9
Samsung Galaxy S9 Exynos 支持多种 GPU 纹理分辨率 - 1080p、720p、480p,支持深度API
Samsung Galaxy S9 Qualcomm 支持多种 GPU 纹理分辨率 - 2048x1536、1280x960、480p,支持深度API
Samsung Galaxy S9+ Exynos 支持多种 GPU 纹理分辨率 - 1080p、720p、480p,支持深度API
Samsung Galaxy S9+ Qualcomm 支持多种 GPU 纹理分辨率 - 2048x1536、1280x960、480p,支持深度API
Samsung Galaxy S10e Exynos 支持多种 GPU 纹理分辨率 - 1080p、720p、480p,支持深度API
Samsung Galaxy S10e Qualcomm 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p,支持深度API
Samsung Galaxy S10 Exynos 支持多种 GPU 纹理分辨率 - 1080p、720p、480p,支持深度API
Samsung Galaxy S10 Qualcomm 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p,支持深度API
Samsung Galaxy S10+ Exynos 支持多种 GPU 纹理分辨率 - 1080p、720p、480p,支持深度API
Samsung Galaxy S10+ Qualcomm 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p,支持深度API
Samsung Galaxy S10 5G 支持多种 GPU 纹理分辨率 - 1080p、720p、480p,支持深度API,支持飞行时间 (ToF) 硬件深度传感器
Vivo iQOO
Vivo iQOO 5 5G
Vivo iQOO 5 Pro 5G
Vivo iQOO Neo3 5G
Vivo iQOO U1
Vivo iQOO Z1x
Vivo NEX S
Vivo NEX 3 4G/5G
Vivo S7 5G
Vivo X23
Vivo X50 5G
Vivo X50 Pro
Vivo X50 Pro+
Vivo V2046A
Vivo V2047A
Vivo V2056A
Vivo Y51s
Vivo Y70s
Xiaomi Mi Mix 2S 支持多种 GPU 纹理分辨率 - 1920x1440、1280x960、480p
Xiaomi Mi Mix 3
Xiaomi Mi 8 SE
Xiaomi Mi 8 SE
Xiaomi Mi 9
Xiaomi Mi 10 Ultra

6.5 iOS

云锚上支持运行iOS 11.0或更高版本的所有ARKit兼容设备。

  • 可以为面向 iOS 10.0 或更高版本的应用程序编译 Cloud Anchors SDK。
  • 比以下列表中的设备更旧的 iOS 设备不支持云锚点。

增强面孔上支持运行iOS 11.0或更高版本的所有ARKit兼容设备。

  • 可以为面向 iOS 10.0 或更高版本的应用程序编译增强人脸 SDK。
  • Augmented Faces 可能适用于比以下列表中的设备更旧的 iOS 设备,但可能无法以实时 AR 用例所需的帧速率运行。

以下 iOS 设备已经过验证,可以同时使用 Cloud Anchors 和 Augmented Faces。

产品 设备型号
iPhone iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone iPhone XR
iPhone iPhone XS and XS Max
iPhone iPhone X
iPhone iPhone 8 and 8 Plus
iPhone iPhone 7 and 7 Plus
iPhone iPhone 6S and 6S Plus
iPhone iPhone SE
iPad iPad Air 3rd Generation
iPad iPad mini 5th Generation
iPad 12.9-in. iPad Pro (1st Generation)
iPad 12.9-in. iPad Pro (2nd Generation)
iPad 12.9-in. iPad Pro (3rd Generation)
iPad 11-in. iPad Pro
iPad 10.5-in. iPad Pro
iPad 9.7-in. iPad Pro
iPad iPad (7th Generation)
iPad iPad (6th Generation)
iPad iPad (5th Generation)
iPod iPod touch (7th Generation)

后续

如果你觉得该方法或代码有一点点用处,可以给作者点个赞;╮( ̄▽ ̄)╭
如果你感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进。o_O???
谢谢各位童鞋们啦( ´ ▽´ )ノ ( ´ ▽´ )っ!!!

【AR开发】ARCore简介相关推荐

  1. 【ARCore】Android ARCore 简介 ( AR 增强现实技术简介 | Android 平台常用的 AR 技术 | ARCore 相关资料收集 )

    文章目录 一.AR 增强现实技术简介 二.Android 平台常用的 AR 技术 三.ARCore 相关资料收集 一.AR 增强现实技术简介 AR 全称 Augmented Reality , 增强现 ...

  2. Android AR开发实践之四:基于Sceneform的ARcore开发实例

    Android AR开发实践之四:基于Sceneform的ARcore开发实例 一.设备配置 1.配置虚拟设备 2.配置真机 二.开发环境配置 1.首先添加sceneform的gradle插件到工程配 ...

  3. Android AR开发实践之二: Google ARCore介绍

    Android AR开发实践之二: Google ARCore介绍 一.ARCore介绍 二.ARCore工作原理 三.ARCore基本概念 四.ARCore渲染技术 使用OpenGL渲染 使用Sce ...

  4. Android AR开发实践之一:AR介绍

    Android AR开发实践之一:AR介绍 一.什么是AR 二.AR的发展历程 三.AR的应用场景 四.AR技术面临的主要问题 五.AR平台简介 一.什么是AR AR(Augmented Realit ...

  5. VR 与 AR 开发实战

    内容简介 从虚渺的膨胀到实质的沉淀,本期 VR 与 AR 开发实战专题我们汇聚一线技术开发者,围绕性能优化.人机交互技术.新平台开发等话题,分享实践中心得与体验. HoloLens 开发与性能优化实践 ...

  6. UE4移动平台AR开发快速预览

    UE4移动平台AR开发底层库主要是iOS系统的Apple ARKit和Android系统的Google ARCore,UE4的AR开发对AR底层库进行了统一的接口包装(封装的接口还包括Hololens ...

  7. GNU开发工具简介(一)

    第一节 GNU Tools开发工具简介 GNU开发工具 为了有效地进行嵌入式开发,至少需要了解和掌握如下几类工具: 编译开发工具:即能够把一个源程序编译生成一个可执行程序的软件,如gcc等. 调试工具 ...

  8. 基于Nibiru的安卓AR开发教程

    伴随着AR\VR技术的快速发展,市面上涌现出了许多优秀的AR\VR开发工具(引擎),比如Vuforia, Google ARcore,苹果ARkit等等.但是这些热门开发工具大都是国外大型公司,个人或 ...

  9. Android AR开发实践之七:OpenGLES相机预览背景绘制源码详解

    Android AR开发实践之七:OpenGLES相机预览背景绘制源码详解 目录 Android AR开发实践之七:OpenGLES相机预览背景绘制源码详解 一.OpenGL ES渲染管线 1.基本处 ...

  10. AR内容开发--AR开发引擎和SDK

    AR(增强现实)开发工具是一种可以帮助开发人员创建和部署AR应用程序的软件工具.这些工具通常提供了各种功能和库,使开发人员能够创建各种AR应用程序,如AR游戏.AR维修手册.AR教育应用程序等. 以下 ...

最新文章

  1. Yolo v4, v3 and v2 性能极简图示
  2. mysql pt table sync_pt-table-sync 使用介绍
  3. 高颜值免费在线SCI绘图工具增加上传功能
  4. python编程对电脑要求_什么是集成开发环境和代码编辑器?优秀Python编程环境的要求(4)...
  5. 2014编程之美初赛第一场
  6. 前端学习(1165):扩展运算符01
  7. c语言第4份实验报告,C语言实验报告04.doc
  8. 机械硬盘 运行 linux 很慢,如果读写硬盘操作有问题,假死机、很慢等,就检查一下硬盘坏道...
  9. 盈利模型的内容都有哪些?
  10. IEEE和SCI等的通俗简介
  11. 「leetcode」110.平衡二叉树(详解)
  12. Javascript ES6集合(SET)类型✪ ω ✪
  13. Linux时间同步(Fri Nov 16 12:12:13 Local time zone must be set--see zic manual page 2018)解决办法
  14. layui个人中心html,Layui的简易入门教程
  15. 被关在寝室的某个下午
  16. 热门Java开发工具IDEA入门指南——了解并学习IDE
  17. 头条案例登录注册功能
  18. python html文本转为text文本
  19. 江西省信息技术知识竞赛
  20. SQL Server 2019 开启数据库远程访问

热门文章

  1. 闪耀超颖光栅的建模与设计
  2. html5 浏览器适配问题
  3. 微信小程序实例练习——《排班查询》
  4. 新版win10卸载Microsoft Edge
  5. JavaWeb——JSP开发模型
  6. android studio打包流程
  7. Java方法——方法的重载
  8. Programer四境界-摘自《代码大全》
  9. MTK平台download烧录大全
  10. Android 中WebView的使用详解