EasyAR(一)——显示模型
来源:互联网 发布:wap源码网站封装成app 编辑:程序博客网 时间:2024/05/23 11:53
一、开发环境: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(一)——显示模型
- EasyAR 初学者入门指南(1)---显示模型
- Unity3d+EasyAr制作简单应用(一)—替换背景识图
- EasyAR + 第三方插件开发系列(1)--模型控制
- Unity系列之EasyAR——ImageTarget
- AR移动应用开发(一) Unity与EasyAR
- 基于EasyAR的Android端AR应用开发(一)
- EasyAR+Unity开发(一)HelloAR Demo配置
- EasyAR
- EasyAR
- 基于EasyAR的Android端AR应用开发(三)---模型的旋转、缩放、平移
- unity3D EasyAR 识别模型抖动解决方案
- EasyAR开发技巧---模型交互操作
- Android EasyAR(AR技术)
- 从零开始搭建安卓EasyAr环境(一) 运行SDK实例
- WinSocket模型的探讨——Overlapped模型(一)
- WinSocket模型的探讨——Overlapped模型(一)
- WinSocket模型的探讨——Overlapped模型(一)
- eclipse 修改生成jsp文件的默认编码方式
- java操作excel常用的两种方式
- unity遇到的问题
- python文本分类之路
- Android之解析JSON格式数据
- EasyAR(一)——显示模型
- 【nyoj546】Divideing Jewels
- js基础-运算符
- Redis的持久化之AOF
- jQuery ready方法原理
- POJ 2301 Beat the Spread <水题>
- CMFCToolBar静态工具栏和动态工具栏,加载自定义图片(真彩透明)
- 通达OA精灵2015登录时提示“库没有注册”的处理办法
- linux的nohup命令的用法