找回密码
 立即注册
搜索
EasyAR 教程 Unity 查看内容

EasyAR 初学者入门指南(1)---显示模型

AlbertLee 2017-7-17 09:36

EasyAR最基础的入门系列教程

开发预览

源码 : https://pan.baidu.com/s/1sVFbGpySLz1Kmvpt07WdhA 密码:e0jy


模型资源:链接: https://pan.baidu.com/s/1bpImAwJ 密码: icwu


Step 1:开发环境

在本次的案例演示中,我使用的是unity5.5.1版本,EasyAR 为2.0.

关于unity+Android 或unity+ios 环境的搭建,在后期会专门出一篇文章。


Step 2:导入SDK

我们新建一个unity项目,命名为"HelloAR"


然后我们到EasyAR官网(http://www.easyar.cn/view/download.html上下载"EasyAR2.0 package(for unity)"



解压之后,我们将"EasyAR_SDK_2.0.0_Basic.unitypackage"导入到unity中

导入之后,效果如图:


Step 3:配置识别图

首先我们准备一张我们需要识别的图片(格式最好为jpg),在这里为了方便测试,我用一张身份证来识别,将这张图片命名为"idback",比如:


然后我们在unity里新建一个目录,命名为"StreamingAssets",然后将这张识别图拖入到unity的该目录下


在EasyAR 的开发配置中,直接将图片拖入到unity中是一种比较常见的手段,我们也可以用json的方法来配置我们的项目开发,我们在 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."
}
]
}
对于json配置图片,我们必要的两个字段是:

  • image ---- 导入到unity中的识别图名字+后缀格式
  • name ---- 识别图名字

ps,如果我们想配置多张图片信息,比如我们还在unity中导入了一张名为"argame00"的图片,那么我们就可以这样配置json,以此类推:

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

Step 4:获取key

准备好识别图之后,我们需要到官网(http://www.easyar.cn/view/open/app.html)来为我们的AR APP申请key。首先点击 “开发中心


点击 “添加 SDK license Key” 按钮,选择Basic 版本



接下来填写应用详情,填写你的应用名字与打包移动平台时必填的package name


比如这样:HelloAR 是我的应用名,mars 是我的公司或团队名,格式就是这样


确定好后,我们可以查看我们的Key

1.可以对应用名称进行修改
2.可以对Bundle ID 进行修改
3.若使用的是1.0的sdk,可以查看1.0的 Key

Step 5:导入模型资源

我们将我们准备好的模型资源导入到unity中


导入到unity后,可能会报错,我们只需删除"Standard Assets"就可以


到现在,我们就准备好了我们的模型资源


Step 6:开发

我们的准备工作基本已经完成了,接下来我们删除原有场景的"Main Camera",然后把我们的EasyAR Camera 拖到面板中


然后将我们从官网上申请的Key填入到"EasyAR_Startup" 中


然后我们把 ImageTarget 拖到面板中去


然后我们编辑挂在ImageTarget组件上的 "ImageTargetBehaviour" 脚本(这段脚本的功能主要是当捕捉到识别图时控制模型的显示与消失),脚本主要内容如下:


我们的EasyAR 官网上可以找到这段代码(http://www.easyar.cn/doc_sdk/cn/Getting-Started/Setting-up-EasyAR-Unity-SDK.html

接下来,我们填写如下信息


  • Path: 识别图的路径
  • Name:识别图的名字
  • Size:识别图的大小

对于Path 的配置,我们有两种方法:一种是可以直接填写识别图名+后缀,另一种是填写json,比如:



注意,我们一定要将Storage 的格式修改为Assets


关于Storage:


接着我们在 Imagetarget 组件下面创建我们是AR模型,我们将事先准备好的资源拖到其下面,如图:


我们 reset 这个模型的Transform


然后使它的大小缩放为0.3,y轴旋转270度,效果如图:


最后我们先删除没用的Rigidbody 这个组件


Step 7:测试

我们Build Setting,点击Player Settings



我们填写好信息,注意Compang Name 与我们申请key时的公司或团队名相同(比如我申请时填的是:mars),Product Name 也要和我们申请key时填的应用名相同(本次的项目演示为:HelloAR)


我们的Bundle Identifier 也要修改为


最后是最关键的一部分:我们的Graphics API 使用的是 OpenGLES2


Step 8:开发小技巧

在开发AR App中,我们为了高效地进行,没有必要这么基础的去配置EasyAR 开发环境,常常是下载好EasyAR 2.0 samples,直接使用里边的HelloAR 工程,这样可以很方便的快速的搭建AR开发环境,事半功倍。

鲜花
鲜花 (9)
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋 (1)

刚表态过的朋友 (10 人)

分享至 : QQ空间
收藏
  • esurance 2018-6-23 23:37
    auto insurance quotes comparison <a href="https://autoinsurancequotescomparison2018.us.com">car insurance quotes comparison</a> auto insurance quotes comparison <a href=https://autoinsurancequotescomparison2018.us.com>auto insurance quotes comparison</a>
  • Paydayloan 2018-4-29 02:34
    cash loan advance <a href="https://advancecash.us.org">cash advance</a> advance cash loan <a href=https://advancecash.us.org>advance cash</a>
  • giles-jiang 2017-11-24 15:26
    脚本代码,一直报错,有没有人知道怎么回事
  • huangfeijie 2017-11-20 17:52
    编辑挂在ImageTarget组件上的 "ImageTargetBehaviour" 脚本的时候为什么把下面的都复制了,一直出错,下面好多类没有定义
  • q852058673 2017-11-18 16:34
    导入模型资源包出错额。。。
    Prefab has multiple Transform components! Removing them automatically would not be safe.
    UnityEditorInternal.InternalEditorUtility:GetGameObjectInstanceIDFromComponent(Int32)
    UnityEditor.DockArea:OnGUI()
    有数个这样的错误,
    WIN10
    JDK1.8
    android-sdk_r24.4.1-windows
  • ranxb98 2017-11-12 01:37
    新手求助:请问我在那个demo的StreamingAssets文件夹里面添加了一张自己想要识别的图然后也同时添加了json数据,正常运行后对demo的图可以正常识别但是自己的图无法识别,请问什么原因呢?还需要其他的操作么?

查看全部评论>>