一、开发环境:unity5.6.0,EasyAR2.1

二、导入SDK

1.安装unity并被配置androidSDK跟javaJDK路径(见博客环境配置)

2.从EasyAR官网下载EasyAR(这里下载的是EasyAR2.0)下载网址http://www.easyar.cn/view/download.html

3.新建unity项目,命名随意

4.将下载的EasyAR文件解压,解压之后有一个文件夹和一个pakage包,将EasyAR_SDK_2.1.0_Basic.unitypackage

导入至建好的unity项目中,效果如图:

三、配置识别图

1.在unity里新建一个目录,命名为"StreamingAssets",准备一张需要识别的图片(格式最好为jpg),拖入StreamingAssets文件夹中,给图片命名为“idback”

2.EasyAR Target配置

详见官网http://www.easyar.cn/doc/EasyAR%20SDK/Guides/EasyAR-Target-Configure.html

在StreamingAssets目录下新建一个json文件,命名为“targets”这里格式如下:

{"images" :[{"image" : "idback.jpg","name" : "idback","size" : [8.56, 5.4],"uid" : "uid-string, should NOT duplicate","meta" : "what ever string you like."}]
}

四、获取key

1.进入官网http://www.easyar.cn/view/open/app.html申请key

2.点击创建应用,应用名称输入你的项目名字,bundleid(package name)处填写   .com+playersettings处的CompanyName+playersettings处的ProductName

2.填入完成后确定即可查看我们需要的key

3.按你用的EasyAR版本选择查看key,这里用的2.1所以

4.复制此处的key

五、开发

1.回到刚刚创建的unity项目中,删除原有场景中的MainCamera,然后从EasyAR->Prefabs将预制件EasyAR_Startup拖入到Hierarchy面板

2.将刚刚复制的key黏贴到"EasyAR_Startup"中

3.从EasyAR->Prefabs->Primitives中的预制件ImageTarge拖入到Hierarchy面板中

4.编辑挂在ImageTarget组件上的“ImageTargetBehaviour”脚本(这个段脚本的主要功能是当捕捉到识别图时控制模型的显示与消失),在这里我直接移除了ImageTargetBehaviour,新建了个脚本继承ImageTargetBehaviour(单纯因为新建个脚本看着比较开心,这个看个人习惯是直接在上面编辑还是新建个脚本),具体内容如下:

namespace EasyAR
{public class TargetDemo : ImageTargetBehaviour{protected override void Awake(){base.Awake();TargetFound += OnTargetFound;TargetLost += OnTargetLost;TargetLoad += OnTargetLoad;TargetUnload += OnTargetUnload;}protected override void Start(){base.Start();// HideObjects(transform);//TargetAbstractBehaviour.GameObjectActiveControl = false;}//void HideObjects(Transform trans)//{//    for (int i = 0; i < trans.childCount; ++i)//        HideObjects(trans.GetChild(i));//    if (transform != trans)//        gameObject.SetActive(false);//}//void ShowObjects(Transform trans)//{//    for (int i = 0; i < trans.childCount; ++i)//        ShowObjects(trans.GetChild(i));//    if (transform != trans)//        gameObject.SetActive(true);//}private void OnTargetLost(TargetAbstractBehaviour obj){GameObjectActiveControl = true;Debug.Log("Found: " + Target.Id);}private void OnTargetFound(TargetAbstractBehaviour obj){GameObjectActiveControl = false;Debug.Log("Lost: " + Target.Id);}void OnTargetLoad(ImageTargetBaseBehaviour behaviour, ImageTrackerBaseBehaviour tracker, bool status){Debug.Log("Load target (" + status + "): " + Target.Id + " (" + Target.Name + ") " + " -> " + tracker);}void OnTargetUnload(ImageTargetBaseBehaviour behaviour, ImageTrackerBaseBehaviour tracker, bool status){Debug.Log("Unload target (" + status + "): " + Target.Id + " (" + Target.Name + ") " + " -> " + tracker);}}
}

因为EasyAR的版本不一样,API接口可能不太一样,2.1是不需要去写显示跟隐藏的方法了,直接通过控制GameObjectActive的值来显示隐藏模型,其他版本可能需要写显示隐藏方法,显示隐藏方法,我在上面注释了,具体关于API问题可以去查看每个版本的配置EasyAR Unity SDK文档,例如EasyAR2.1查看地址为: http://www.easyar.cn/doc/EasyAR%20SDK/Getting%20Started/2.0/Setting-up-EasyAR-Unity-SDK.html

EasyAR1.0查看地址为:http://www.easyar.cn/doc/EasyAR%20SDK/Getting%20Started/1.0/Setting-up-EasyAR-Unity-SDK.html
5.在Hierarchy面板放入你需要显示的模型,并设成ImageTargert的子物体,然后将模型的transform reset

6.在Inspector面板填写ImageTarget信息

按json文件填入配置path、name、size

注意:Storage处需要修改为Assets

新建个材质球,将识别图idback复制另存一份png格式图(不用放在StreamAssets文件夹),作为贴图放入材质球,将材质球放入如下图地方

六、测试

1.将当前场景保存

2.File->BuildSettings,将保存场景拖入BuildSettings面板中,确定面板如下

保证框选区域如图(场景名不必一样),确定无误后,点击PlayeSettings,按照申请key时填入的信息填入下面

Package Name:填入申请key时的BundleID

Company Name:与申请Key时的公司或团队名相同,就是.com中间那个

Product Name:与申请key时填入的应用名相同,就是.com末尾那个

最后需要设置GraphicAPI,unity4.x跟unity5.x设置是不一样的

unity4.x:将Graphic设置为force Open GL ES 2.0,Graphics API设置为 Open GL ES 2.0(没有4.x没有截图)

unity5.x:如下图

最后build生成app,放到手机安装测试就可以了

EasyAR(一)——显示模型相关推荐

  1. Unity+EasyAR4.1.0.811包,实现手机扫描图片显示模型(安卓手机)

    文章目录 一.关于EasyAR 1.搞Key 2.下载EasyAR包 二.Unity项目发布成Android手机apk文件 1.由PC平台切换到Android平台 2.下载并安装AndroidSDK ...

  2. unity_AR(一) 安卓手机无法显示模型和无法播放动画问题

    这个星期学习了unity制作MMD动画打包成apk到手机上发现了发现了两个问题 一: 手机无法显示MMD插件渲染的贴图,导致安装到手机上后无法显示模型 解决方法: 把材质球的shader改成这样: t ...

  3. three.js 导入显示模型的时候自动计算模型缩放比例

    three.js 导入显示模型的时候自动计算模型缩放比例 导入模型(以.stl文件为例),项目是用vue 做的,如果是html就把_this去掉 var _this = this; var loade ...

  4. Zk中组建显示模型mold都有哪些

    Zk中组建显示模型mold都有哪些? zk大部份组建都有一个mold属性,此为显示模型,显示模型类似windows主题.网站主题等 例如组 tabbox组建,有default mold和手风琴acco ...

  5. unity结合MMD发布android不显示模型不播放动画问题解决方法

    今天在将MMD与unity结合,制作Easy AR的时候. 在PC端,模型可以正常显示,但是发布Android后,遇到了两个问题: MMD模型无法显示 MMD模型显示后,不能正常播放动作. 首先,我们 ...

  6. 【Unity3D-UGUI应用篇】(四)使用UGUI弹窗显示模型及弹窗模型交互

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...

  7. 关于EasyAR识别出模型后出现剧烈抖动,以及位置发生偏移

    关于EasyAR识别出模型后出现剧烈抖动,以及位置发生偏移 我看了网上的博客,作用并不是很大,但是对于AR项目,模型出现抖动,位置发生偏移,这些都是大忌,对于这个问题只需要调整 CameraDevic ...

  8. 【EasyAR学习】显示模型

    一.开发环境 到EasyAR官网(https://www.easyar.cn/view/download.html#download-nav1)下载EasyAR的SDK,目前官网上发布的最新版本是2. ...

  9. ROS2-rviz2显示模型

    rviz2显示机器人模型 URDF 不能单独使用,需要结合 Rviz 或 Gazebo,URDF 只是一个文件,需要在 Rviz 或 Gazebo 中渲染成图形化的机器人模型,当前,首先演示URDF与 ...

  10. css 标签显示模型 盒子模型 浮动 背景属性

    标签显示模式(display) 块级元素(block-level) 每个块元素通常都会独自占据一整行或多整行,可以对其设置宽度.高度.对齐等属性,常用于网页布局和网页结构的搭建. 常见的块元素有< ...

最新文章

  1. python视频抽帧 后 前端javascript如何显示_python通过ffmgep从视频中抽帧的方法
  2. REST service 化一个数据系统(REST Service 的最佳实践,第 2 部分)
  3. caxa电子图板2018中文版
  4. cfnet用于嵌入式_做嵌入式驱动的,你一定要挺住!
  5. Jquery中使用setInterval和setTimeout
  6. firewalld/iptables防火墙维护和状态查询命令(防火墙重载,区域操作命令,开启服务或端口,堵塞端口,iptables规则添加和删除)
  7. Deeplab 在Qt Creator下编译报错undefined reference to Mat_xxx
  8. dao层mysql复合语句_在业务中是使用多个Dao组合好,还是一个链接查询好?
  9. 瑞友天翼 v5.1.0.6 远程打印跳行、跳页、错位问题解决方法
  10. 计算机网络基础知识 - 物理层
  11. 英文视频字幕自动生成
  12. java继承和接口的区别_java中的接口与继承的区别
  13. git生成sshkey 并添加SSH key
  14. (转)iPhone +ipad尺寸规范(界面 图标)
  15. ios UIImageView 部分圆角(加上 borderWidth、borderColor 效果修复)
  16. Simon Phipps是开源计划总裁
  17. 马云谈加班、996看法
  18. scylladb 4.1 分布式安装部署
  19. 内网穿透,让自己的电脑当服务器
  20. Godot着色器语言

热门文章

  1. houdini大神自诉:为什么我要放弃maya I
  2. Struts2通配符接收参数
  3. 用FlashCache加速MySQL
  4. Smartdrv程序有什么作用
  5. Windows Phone上的相机景深计算器
  6. 金山文字 职称计算机,计算机职称考试金山文字2005考试大纲
  7. activesync同步问题
  8. 手机麦克风结构原理图_麦克风工作原理是什么
  9. 网络工程师考试视频教程
  10. Unity 游戏框架搭建 2018 (一) 架构、框架与 QFramework 简介【转自游戏蛮牛】