Skip to main content
 首页 » 资源教程 » Unity3D教程

AR Foundation基础介绍(一)

2019年07月24日 08:35:34465730

AR Foundation 可以让开发者在unity中制作跨平台支持的AR应用

支持:

World tracking:跟踪设备在物理空间的位置和朝向

Plane detection:检测水平和垂直平面

Point clouds:特征点

Reference points:参考点,即设备跟踪的任意位置和方向

Light estimation:光估计,在物理空间对温度和亮度的估计

Environment probes:环境探测,一个立方体映射表示物理环境的特定区域

Face tracking:面部跟踪,检测和跟踪人脸

Image tracking:图像跟踪,检测和跟踪2D图像

Object tracking:对象跟踪,检测3D对象

AR Foundation只是提供一个统一接口,具体AR功能实现需要用其集成的子系统

要使用AR Foundation需要在package manager中安装以下插件包

AR Foundation

以及不同平台所需插件包

  1. ARKit XR Plugin :苹果设备

  2. ARCore XR Plugin:安卓设备

术语:

Tracking 跟踪 AR设备决定其在世界空间中的位置和朝向点能力。

Trackable 可跟踪  AR设备可检测和跟踪点真实世界点特征。例如平面表面

Feature Point 特征点 点云中点一个特殊点。AR设备使用摄像机和图像分析来跟踪的在世界中用于构建环境地图的特殊点。

Session 会话一个AR实例

Session Space 会话空间 一个相对于AR session开始点坐标系。例如(0,0,0)表示AR session创建点位置。

使用AR Foundation:

基础设置:

 一个基础的AR 场景其hierarchy视图如下:

AR Foundation基础介绍(一) Unity3D教程 第1张

这两个物体都可以通过右键菜单创建:XR > AR Session and XR> AR Session

ARSession:

一个AR场景需要一个ARSession。控制整个AR体验的生命周期,可以通过它开启和关闭目标平台的AR功能。

AR Foundation基础介绍(一) Unity3D教程 第2张

这个东西是全局的,所以一般只需一个,哪怕有多个也都只能起一个作用。

Attempt update如果勾选,则会在需要的时候自动安装AR软件,这依赖于平台特性。

AR应用依赖硬件支持,所以最好检测一下设备是否支持,以便更好的提供体验

可通过ARSession.state 做出判断

ARSessionState.None 设备AR支持性未知

Unsupported 当前设备不支持

CheckingAvailability 正在检查当前设备的支持性

NeedsInstall 当前设备支持,但需要安装AR软件

Installing 正在安装AR软件

Ready 当前设备支持,并且已准备

SessionInitialized 当前设备AR会话已初始化

SessionTracking 当前设备AR会话已运行已跟踪

ARInputManager对于启用世界跟踪是必须的组件。没有它则无法跟踪,且它唯一。

AR Foundation基础介绍(一) Unity3D教程 第3张

ARSessionOrigin

该组件的功能是用来将可跟踪的特征,例如平面和特征点,转化为unity场景里最终的位置,转向,以及缩放。因为AR设备提供的数据是在会话空间,相对于AR 会话的初始没有缩放。

ARSessionOrigin则用来进行适当的转化将AR空间变为Unity空间。

类似于导入的模型存在的局部坐标系和世界坐标系。

设置它的缩放会影响整个从AR设备获取到的数据。值越大AR内容展示越小

AR Foundation基础介绍(一) Unity3D教程 第4张

它应该作为至少一个摄像机的父物体存在,该摄像机用来渲染任何可跟踪并且期望显示的物体。这个摄像机也应该有一个TrackedPoseDriver组件,根据AR设备跟踪到的数据来驱动摄像机的位置和旋转,这一步使得摄像机的局部坐标系对应于AR的会话坐标系。

AR Foundation基础介绍(一) Unity3D教程 第5张

ARCameraManager组件启用摄像机特性,比如代表视频反馈的纹理以及光估计模式

AR Foundation基础介绍(一) Unity3D教程 第6张

ARCameraBackground组件允许将设备的彩色相机图片渲染到背景。非必须

AR Foundation基础介绍(一) Unity3D教程 第7张

下一篇会具体介绍一个ARFoundation的使用示例

评论列表暂无评论
发表评论