Google增强现实解决方案介绍---ARCore

ARCore是什么

ARCoreGoogle 推出的增强现实 SDK。软件开发者现在就可以下载它去开发 Android 平台上的增强现实应用,或者为他们的 App 增加增强现实功能。

ARCore能做什么

Google增强现实解决方案介绍---ARCore

点击以下连接可观看使用ARCore开发的Demo的视频,ARCore能够实现的功能不止于此,大家可以发挥想象,看看google的ARCore还可以实现那些应用。

链接地址:http://www.vrtuoluo.cn/12280.html

ARCore的三个关键技术

ARCore是在Android系统上构建增强现实APP的平台。ARCore使用手机摄像头,通过整合三种技术,将虚拟物体嵌入真实世界。这三种技术分别是:
Motion tracking(运动跟踪,动作捕捉)
使用手机的传感器和相机,ARCore 可以准确感知手机的位置和姿态,并改变显示的虚拟物体的位置和姿态
Environmental understanding(环境识别,环境感知)
使用手机感知识别水平面(如地面、桌面)大小和位置,并在虚拟空间中准确复现这个平面
Light estimation(光照估算,光源感知)
使用手机的环境光传感器,感知计算环境光照情况,对应调整虚拟物体的亮度、阴影和材质,让它看起来更融入环境。

ARCore的一些基本概念

Motion tracking(运动跟踪,动作捕捉)
手机在现实世界中移动时,ARCore使用一个叫做并行测距映射(简称COM)的处理技术,识别手机此时在真实世界中的位置。手机摄像头捕获图像后,ARCore通过识别计算图像中的差异,从而形成特征点(feature points),并使用这些特征点计算自身位置的改变。视觉信息通过与手机设备中IMU单元(加速度传感器、陀螺仪等)的惯性测量值绑定,估算摄像头随着时间推移,在现实世界中位置和朝向的变化。

Google增强现实解决方案介绍---ARCore

ARCore通过使虚拟摄像头视口与设备的物理摄像头视口协调一致,开发者可以在真实世界中正确渲染虚拟物体。通过将要渲染的物体层叠放置于捕获的真实世界的图像之上,使得虚拟物体看起来好像真实世界的一部分。

Environmental understanding(环境识别,环境感知)
ARCore通过探测特征点和特征平面来识别真实世界的环境。
ARCore通过寻找位于一般水平面(如桌子)上的特征点集合,在APP中转换为可用的面。ARCore甚至可以确定平面的边界。APP有了平面和边界信息后,就可以在此平面中放置一些虚拟物体。
请注意:因为ARCore使用特征点集探测平面,若遇到没有任何纹理的光滑表面(如纯白色桌子),则可能无法成功探测。

Google增强现实解决方案介绍---ARCore

Light estimation(光照估算,光源感知)
ARCore能够探测到环境光照信息,并将摄像头捕获图像的平均光照强度提供给开发者。有了这种技术,就能够在环境光照发生变化时应用于虚拟物体,使其做出相应反应,进一步增加真实感。

Google增强现实解决方案介绍---ARCore

User interaction(用户交互)
ARCore通过使用手机屏幕上的坐标点(X,Y)进行碰撞检测(这个坐标点可以是用户通过任何方式输入的,比如手指点触)。ARCore会将屏幕坐标点转换为虚拟场景摄像机的视口坐标,并从此坐标向摄像头拍摄下来的画面中(摄像头捕获的画面已转换为虚拟场景)发射一条射线。该射线会返回虚拟场景中任何与之相交的点或面,并且这些点或面与真实世界中的点、面位置一致(因为摄像头是实时拍摄的连续画面)。有了碰撞信息之后,开发者就可以进行物体拣选等交互操作。


结束~~~


在以后的文章里,我会陆续写一些关于ARCore开发环境搭建和一些互动游戏实现的教程,希望会对大家有所帮助。