Unity与EasyAR

  从老师哪里接到了一个小项目。具体就是主一款具有AR功能的旅游应用。而AR方面的需求十分简单,就是识别图片,并显示出对应模型就行了。就跟EasyAR的Unity样例一个样子。所以这里就选择使用android跟unity进行开发。由于开发过程中有第一次接触EasyAR跟android的arr包碰到了不少问题。为了防止以后碰到同样的问题又要去重新翻一次网上的资料。所以就简单记录一下开发的过程。

首先是关于图像识别跟模型显示的方面,这一方面通过EasyAR+Unity实现,并作为插件加入到Android工程当中。在这里还是主要参考了EasyAR的样例工程。

首先新建了一个Unity工程,导入EasyAR的相关资源。新建一个场景并把EasyAR_Startup这个Prefab放入场景中,并且删掉所有Camera。打开playersetting修改包名

然后到EasyAR的官网那里申请KEY。 Key值生成完成后,输入到EasyAR_StartUp当中,就可以完成了。
然后就是把识别图片加入到Unity当中。在Unity中新建一个StreamingAssets文件夹,并把EasyAR样例中的targets.json文件一并拖入其中。之后需要添加识别图片就只需要放图StreamingAssets文件夹并修改targets.json就行了。

JSON内容:

{  "images" :  [    {      "image" : "图片名1",      "name" : "变量名1"    },    {      "image" : "图片名2",      "name" : "变量名2"    },  ]}

然后往场景添加ImageTarget这个prefab,每个需要识别的图片都对应一个ImageTarget。为了更好的分辨不同的ImageTarget,可以为每一个需要识别的图片生成一个材质,并赋予给对应的ImageTarget。然后把需要显示的模型作为子物体添加到对应的ImageTarget当中,子物体跟ImageTarget的位置关系就是显示出来的模型的位置关系。

这里我们把ImageTarget的脚本去掉,放入我们在EasyAR样例工程中复制过来的脚本,并修改ImageTarget的对应值

其中Path对应的是json的文件名,name对应你上面在json为识别图注册的变量名。

关于AR播放视频,把视频放入SteamingAsset文件夹类,并在一个ImageTarget下建立一个立方体的子物体,为立方体添加VideoPlayerBehaviour脚本

修改参数。Path为文件名,SclePlane为播放的位置

完成之后导出APK进行测试

更多相关文章

  1. Android(安卓)微信分享,无需那么麻烦。
  2. [置顶] Android图片异步加载之Android-Universal-Image-Loader
  3. android 9PNG图片制作
  4. Android(安卓)高仿微信发朋友圈浏览图片效果
  5. android 显示图片的指定位置图像 ImageView ImageButton
  6. Android(安卓)图片内存溢出(Out of Memory)
  7. android批量文件上传(android批量图片上传)
  8. App启动时三种效果(黑屏白屏、背景图片、延迟加载)
  9. Android(安卓)仿照微信发说说,既能实现拍照,选图库,多图案上传 使用

随机推荐

  1. Android基础控件——ProgressBar自定义的
  2. 一个打通jni,java framework,application三
  3. 0.[WP Developer体验Andriod开发]之从零
  4. [Gradle for Android(安卓)笔记系列]二
  5. 将Android项目导入到Eclipse开发环境
  6. Android修改system只读权限:remount
  7. Android帧缓冲区(Frame Buffer)硬件抽象层(H
  8. Android应用程序四大组件
  9. android 控制屏幕亮度
  10. android实现自定义相机以及图片的水印