EasyAR1.3.1入门

    一年前EasyAR还是1.01版本的时候用了一次,当时在秦元培的博客(http://blog.csdn.net/qinyuanpei/article/details/49500001)指导下能够运行成功实现更换marker、模型的功能。一年之后EasyAR更新到了1.3.1又试了一次发现与1.01版本SDK使用方式发生了较大的变化,导致花了挺久时间才解决出现的多种问题,所以决定记录一下使用的过程。

    首先在官网下载1.3.1版本的SDK(http://www.easyar.cn/view/download.html212M)并将文件内的EasyAR .unitypackage导入到Unity5.2.1个人版中(64-bit),并在Assets下新建一个StreamingAssets文件夹用于存放marker和模型视频等资源文件,如下图所示。

                                                              EasyAR1.3.1入门_第1张图片        

    

    在链接(http://www.arvrschool.com/read.php?tid=672&fid=75)上写着如果你工作在windows上,在打开Unity之前,你需要确保“VisualC++ Redistributable for Visual Studio 2015” 已经安装。微软提供了 x86 和 x64 两个版本的文件,需要安装的是和Unity Editor同一架构的版本。当然如果两个文件都安装也是没关系的。在EasyAR1.01版本的文件夹当中会带有vc_redist.x64、vc_redist.x86这两个文件,但是在1.3.1版本中好像没带有这两个文件,如果没有安装这个文件,还是安装一下吧,否则可能出错的问题就在这里。

首先新建一个场景,在Assets目录底下与Easy相关的prefab文件,找到一个名叫EasyAR_Startup的prefab文件并拖入新建的场景当中,注意在新版本的EasyAR当中已经使用EasyAR_Startup.prefab代替了原先的EasyAR.prefab了。在EasyAR_Startup右侧的属性栏下填上在官网注册过的key,如下图所示。

EasyAR1.3.1入门_第2张图片

    

然后在在Assets目录底下找到一个名为ImageTarget的prefab文件并拖入场景中,并将其属性下的脚本文件ImageTargetBehaviour.cs更换成EasyImageTargetBehaviour.cs否则在手机端运行的时候视频会自动的出现即使在未识别到图片的时候,EasyImageTargetBehaviour.cs脚本文件是在与EasyAR.unitypackage同一个目录下的 Sample_HelloAR\Assets\HelloAR\Scripts路径下面,之后在这个脚本的属性底下填上相应的值如下图左所示,要注意的是要将Storage从app更改为Assets,否则在运行时候找不到marker的路径,而path既可以直接填文件名+后缀,也可以像秦元培的博客一样通过json文件传递给脚本,这里的识别图片用的是官方的示例图片,如下图右所示,识别图片要足够复杂带有足够多的特征点才能稳定的识别。

                                                            EasyAR1.3.1入门_第3张图片

然后在ImageTarget底下生成一个Cube作为子物体,要想在Cube上面播放视频就需要在Cube的属性底下添加脚本文件VideoPlayerBehaviour.cs,并填上播放视频的路径(名字+后缀),并把Enable Auto Play、Enable Auto Play、Open When Start、Display Text Message等选项都勾上,如下图左所示,否则在识别到图片的时候视频要么无法播放导致只出现一个黑色方块,要么视频播完就不播了。要注意的是还要将Storage从app更改为Assets,否则在运行时候找不到视频的路径。同时调整Cube的大小,与ImageTarget大小对应,ImageTarget的材质不是必须的,可以不添加,如下图右所示。

                                                           EasyAR1.3.1入门_第4张图片

    至此,主要的工作就做完了,剩下的就是导入手机端运行看一下效果了。打开File-BuildSettings,添加当前场景,选择导出平台为Android,并在Player Settings中设置CompanyName、Product Name(这两个不设置也没有关系,只是习惯而已)、Bundle Identifier(需要与在EasyAR官网注册时候的Bundle Package Name一致)、Keystore password(与官网注册一致)、以及Graphics API,需要注意的是EasyAR只兼容OpenGLES2,所以需要将OpenGLES2去掉,然后不要勾上Auto Graphics API选项,如下图所示,至于在导出android中所需要用到的Android SDK 和JDK,可参考文末链接。

                                                          EasyAR1.3.1入门_第5张图片

     然后选择Build就可以导出成apk,在手机端运行得到如下效果,视频为官方案例视频。

                                                         EasyAR1.3.1入门_第6张图片


参考:

秦元培博客:http://blog.csdn.net/qinyuanpei/article/details/49500001

AR学院:http://www.arvrschool.com/read.php?tid=672&fid=75

Unity3D Android手机开发环境配置:

http://www.ceeger.com/Unity/Doc/2014/Unity3D_Android_SDK_Install.html




你可能感兴趣的:(AR,ARSDK)