【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

太虚AR(VOID AR)

官方网站:https://www.voidar.net
官方QQ群:277574712
技术支持:[email protected]
商务合作:[email protected]
微信公众号:voidar

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

一、简介

在使用图像识别(带识别图的AR)识别成功后,可脱离识别图,采用SLAM进行跟踪。
注:目前仅支持移动平台(Android、iOS)运行,云识别暂时不支持。

二、阅读指南

本教程主要介绍如何在Unity环境下进行操作。
默认读者您拥有一定的软件使用、应用开发经验。
本教程只会对Unity的基础使用进行简要说明,如果希望更深入的了解,您可以访问Unity官网查看更加详细的教程。

三、搭建环境

在进行具体操作前,您需要安装下列软件,准备如下环境:

操作系统

  • Windows 7 或更高版本
  • OS X 10.10 或更高版本

Unity版本

支持Unity 3D版本为:5.2.x - 5.6.x(32位或者64位)、2017.1
推荐使用5.4以后的版本(渲染效果提升)
下载地址:https://unity3d.com/cn/get-unity/download/archive
本教程中使用的Unity版本为:5.5.2(64位)

四、实现流程

因本功能目前仅支持移动平台(Android、iOS)运行,所以建议先创建普通的图像识别(ImagerTarget)内容,在PC端完成调试以后,再将MarkerType切换为“Extension Tracking”以及填写App License Key,打包成Android或iOS,在移动端查看效果。

本功能不仅支持图像识别(ImagerTarget),模型对象还可以换为VideoPlay对象,AR视频播放也可以支持SLAM跟踪。

下文以“图像识别(单目标)”为例,如果您已经熟悉该内容,请直接查看“实现流程中的第十步、第十一步”。

第一步、新建Unity工程

打开Unity,新建一个工程。填写Project name为“ImageTarget”、选择保存的位置,点击[ Create project ]。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

第二步、导入太虚AR SDK

选中[ Assets ] -> [ Import Package ] -> [ Custom Package… ],导入太虚AR SDK。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

选择下载好的SDK文件(.unitypackage),点击[ 打开 ]按钮。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

弹出界面,点击[ Import ],导入过程需要耐心等待一段时间。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

如果弹出“API Update Required”界面,请点击[ I Made a Backup, Go Ahead! ]。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

第三步、删除Main Camera

Unity3D打开时默认是新的Scene,新的Scene自带一个Main Camera和Directional Light对象,我们需要用SDK的ARCamera,故将默认的Camera删除。

右键选中场景中自带的“Main Camera”,点击[ Delete ] 删除。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

第四步、拖入预制件“ARCamera”、“ImageTarget”

展开[ Assets ] -> [ VoidAR ] -> [ Prefabs ]目录,将预制件“ARCamera”和“ImageTarget”分别拖至场景中。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

操作成功后显示如下。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

第五步、设置ARCamera

选中ARCamera,查看右侧的“Inspector”栏,设置“Void AR Behaviour (Script)”组件属性。

-设置MarkerType = “Image”,代表识别类型为图像
-设置Simultaneous Tracking = “1”,代表同时跟踪的识别Marker数量为1个

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

第六步、设置识别图(Marker)

选中ImageTarget,查看右侧的“Inspector”栏,设置“Image Target Behaviour (Script)”组件属性。

-设置Image File Path = “1yuan.jpg”,填写时需要包括“文件名”+“后缀jpg”

注:Marker图片文件,必须放在[ Assets ] -> [ StreamingAssets ]文件夹内,本教程使用的是SDK的内置图片。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

第七步、设置模型

识别后显示的模型,需要放在ImageTarget下。

右键选中场景中的“ImageTarget”,添加一个3D模型“Cube”。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

选中“Cube”,调整模型的位置和大小。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

第八步、保存场景

选中[ File] -> [ Save Scenes ] ,进行场景保存。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

设置文件名为“ImageTarget”,点击[ 保存 ]按钮。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

第九步、进行调试

确保您的PC已经连接了摄像头,然后点击[ 运行 ]按钮。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

识别成功,完成调试。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

第十步、设置MarkerType

选中ARCamera,查看右侧的“Inspector”栏,设置MarkerType = “Extension Tracking”。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

设置成“Extension Tracking”,需要填写“App License Key”。

先打开云平台网址,注册账号并登录。网站地址:http://cloud.voidar.net

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

进入云平台,左侧点击[ 创建SLAM应用 ]。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

点击[ 创建应用 ]。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

弹出界面填写AppId,填写完成后点击[ 保存 ]。

  • 因AppId属于唯一值,所以此处请您自行设置AppId,比如 “com.VOIDAR.ImageTargetSLAM”
  • 注:打包时设置的Bundle Identifier,必须与此处设置的AppId相同,否则SLAM将无法正常使用。[ ★★★非常重要★★★ ]

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

完成后,即可获得“AppKey”。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

返回Unity,选中ARCamera,查看右侧的Inspector栏,继续完成“App License Key”的设置。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

ImageTarget Extension Tracking(SLAM)功能只能在Android或者iOS设备上运行,下面进行移动平台打包。

第十一步、打包Android或iOS

打包流程分为“Android打包”、“iOS打包”。

- Android打包

打包Android,需要将Unity切换至Android平台,点击[ File ] -> [ Build Settings… ]。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

选中Android标签,如果左下的[ Switch Platform ]按钮为灰色,需要下载Unity Android Support,请点击右侧的[ Open Download Page ]按钮,下载并安装。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

点击[ Switch Platform ]按钮,完成Android平台的切换。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

切换完成后,先关闭Build Settings界面,继续搭建打包环境。

选中[ Edit ] -> [ Preferences… ],设置参数。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

弹出界面选中“External Tools”选项,设置Android SDK和JDK。
如果本地没有SDK和JDK,可以点击后方的[ Download ],在弹出的网页上进行下载即可。
也可以用链接下载安装:
SDK(要*才能打开):https://developer.android.com/studio/index.html#Other
JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html

安装完成后,设置好SDK和JDK的路径就可以了。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

选中ARCamera,查看右侧的“Inspector”栏,设置“Void AR Behaviour (Script)”组件属性。

-设置Camera = “后置摄像头”

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

选中[ File ] -> [ Build Settings… ],取消默认场景前方的勾选。然后点击[ Add Open Scenes ],添加当前的场景。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

添加完成后,如下所示。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

点击[ Player Settings… ]按钮,查看右侧的“Inspector”栏,设置属性参数,您可以自定义。

-设置Company = “VOIDAR”
-设置Product Name = “ImageTarget”
-设置Bundle Identifier= “com.VOIDAR.ImageTargetSLAM”(必须与第十步设置的AppId相同,否则SLAM将无法正常使用。[ ★★★非常重要★★★ ])
注:Bundle Identifier不能使用默认值,否则无法打包。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

完成设置后,点击[ Build ]按钮。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

设置文件名为“ImageTarget”,点击[ 保存 ]按钮,开始打包。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

打包过程需要耐心等待一段时间。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

完成后,将生成一个“ImageTarget.apk”文件,安卓打包完成。

- iOS打包

iOS打包需要在Mac OS系统中完成,需要准备Mac设备(如MacBook Pro、MacBook、iMac、Mac mini等)。

在Unity中,将开发平台切换至iOS,然后Build生成Xcode工程。

注:推荐使用Mac设备的Unity软件来生成Xcode工程。如果之前是在Windows环境下编辑的,可以将Unity目录下的整个工程文件,拷贝至Mac电脑中进行编辑处理。

启动Unity,打开之前保存的、或者拷贝过来的ImageTarget工程文件(工程已经打开的,跳过这步)

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

点击[ Open ]按钮打开工程。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

将Unity切换至iOS平台,点击[ File ] -> [ Build Settings… ]。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

选中iOS标签,如果左下的[ Switch Platform ]按钮为灰色,需要下载Unity iOS Support,请点击右侧的[ Open Download Page ]按钮,下载并安装。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

点击[ Switch Platform ]按钮,完成iOS平台的切换。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

切换完成后,先关闭Build Settings界面。

选中ARCamera,查看右侧的“Inspector”栏,设置“Void AR Behaviour (Script)”组件属性。

  • 设置Camera = “后置摄像头”

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

选中[ File ] -> [ Build Settings… ],取消默认场景前方的勾选。然后点击[ Add Open Scenes ],添加当前的ImageTarget场景。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

添加完成后,如下所示。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

完成设置后,点击[ Build ]按钮。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

准备生成Xcode工程,命名为“Output”,点击[ Save ]。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

打开生成的Xcode文件。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

填写配置,将自己的证书、iOS适应版本都正确选上:

左侧点击[ Unity-iPhone ],配置参数,您可以自定义。

-设置Display Name = “VOIDAR_Test”
-设置Bundle Identifier= “com.VOIDAR.ImageTargetSLAM”(必须与第十步设置的AppId相同,否则SLAM将无法正常使用。[ ★★★非常重要★★★ ])
-设置Version = “1.0”
-设置Build = “1.0”
-设置Team = “您自己的证书”
-设置Deployment Target = “8.1”

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

General页面往下拉,在Linked Frameworks and Libraries中,点击“+”。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

弹出界面,选中“Accelerate.framework”,点击[ Add ]。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

添加完成,Linked Frameworks and Libraries下方出现“Accelerate.framework”。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

添加摄像机权限。

选中“Info”标签,点击Supported interface orientations后面的“+”。在弹出列表中选中“Privacy - Camera Usage Description”。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

选中”Build Settings”标签,设置Enable Bitcode = “No”。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

数据线连接iphone或者ipad,点击[ 运行 ],即可打包。

【太虚AR_v0.1】使用教程 | ImageTarget Extension Tracking ( SLAM )

完成后,iphone或者ipad上,将生成一个“VOIDAR_Test”的APP,iOS打包完成。

至此,ImageTarget Extension Tracking ( SLAM )制作完成。