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

AR Foundation基础使用之创建一个AR应用(二)

2019年07月24日 08:37:4772270网络

 今天我们利用上篇文章介绍过的AR Foundation创建一个简单的AR应用

  实现的第一个功能就是识别平面。当我们在点击屏幕的时候,在点击位置生成一个物体。

第一步就是安装插件:

在package manager中搜索AR Foundation和AR Core(因为我们今天要导出的应用是安卓平台)

安装完成之后

我们新建一个场景,删除原场景的Main Camera(之后我们会创建出一个AR Camera)

使用以下菜单或右键创建AR Session和AR Session Origin

AR Foundation基础使用之创建一个AR应用(二) Unity3D教程 第1张

然后我们在AR Session Origin上挂上脚本AR Plane Manager,并为其plane prefab拖拽赋值,如图:

AR Foundation基础使用之创建一个AR应用(二) Unity3D教程 第2张

AR Plane Manager组件是AR Foundation内置组件,其主要功能就是管理AR Plane的创建,更新和删除。AR Plane则是标识AR设备识别出的可跟踪平面。

然后再在AR Session Origin上挂上脚本AR Raycast Manager

AR Foundation基础使用之创建一个AR应用(二) Unity3D教程 第3张

AR Raycast Manager组件也是AR Foundation内置组件,其主要功能是处理AR世界的射线检测。

其提供的接口如下,跟unity中physics.raycast类似

AR Foundation基础使用之创建一个AR应用(二) Unity3D教程 第4张

ScreenPoint 屏幕触摸点

HitResults 射线检测到的物体信息列表,其中Pose表示一个3D空间的位置和旋转信息

TrackableType 射线检测的物体类型

最后我再给AR Session Origin挂脚本实现我们的点击放置物体的逻辑。

  其实也简单,跟unity中的physics.raycast使用一样。那么我们取巧一下再使用AR Foundation中提供的脚本Place On Plane完成此功能。那么步骤和上面一样,为AR Session Origin 挂上组件Place On Plane。

该组件的功能就是获取AR RaycastManager然后检测点击发射射线,根据TrackableType检测获取检测到的信息,然后在对应位置处生成物体。

那么我们这儿先给Place On Plane的Placed Prefab拖拽赋值一个我预先制作好的老虎预制。(以后我们会做一些好玩儿的事儿,你也可以添加自己喜欢的预制),完成之后如下图:

AR Foundation基础使用之创建一个AR应用(二) Unity3D教程 第5张

完成之后,我们保存场景,打包

。。

。。。

  测试发现我们的老虎太大了,怎么办呢?最好的做法我们上篇也提到过,我们直接调整AR Session Origin的缩放即可。值越大,内容越小。它影响的整体属性。

  OK,我们再重新打包,稍等几分钟就可以在我们面前完美展示我们的老虎兄弟了

AR Foundation基础使用之创建一个AR应用(二) Unity3D教程 第6张

再加个短视频,好好看看我们威武霸气的Tiger吧

  至此,我们的第一个AR应用完成。

从头到尾,我们其实没写一句代码,也没有去看各式各样的SDK文档(AR Core,AR kit,Easy AR等等),我们利用AR Foundation以及其中内置的一些脚本就可以完成我们跨平台的AR应用制作。

接下来,我们还会利用AR Foundation但不使用它的脚本而是自己写逻辑来实现一些好玩儿的东西。

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