###前言:

暑假里刚刚接触EasyAR,配合Unity使用后仿佛打开了新世界的大门,让我对AR这方面的技术有了一定基础的了解,特此回顾一下这个月的心得了解,开个小坑,第一次写文章,望看客海涵。


###(一)开发环境
1.Windows 10 操作系统
2.EasyAR SDK 2.2.0 Basic(Unity版)
3.Unity3d 2017.2.0f3

###(二)下载Unity3d 并安装

我们找到官网上的下载链接Unity3d,进入后如下图点击下载Unity 2017.2.0f3 ,(据说最新版的Unity有点不兼容EasyAR,部分功能会失效)下载完后自行安装即可。

###(三)下载EasyAR SDK 2.2.0 Basic
同样 我们来到EasyAR官网中,找到下载位置:EasyAR
进入后,如下图点击下载

###(四)开始创作
#####(1)新建一个Unity3d 项目
我们打开安装好后的Unity 进入后点击上方的"New" 创建自己的第一个项目,如下图所示。

#####(2)导入EasyAR SDK
我们进入Unity项目中如下图 ,在红色箭头所指处右键处导入EasyAR SDK

选择之前下载好的EasyAR SDK(自行解压哦),然后点击"打开"等待加载导入

加载完后如下图,我们点击"Import“即可

#####(3)开始工作
Import完后,我们会看到Project那边多出来几个文件夹,我们如下图所示找到“EasyAR_Startup


将其拖入至上方的Hierarchy视图中

同时我们删除场景中的“Main Camera”(为了不和AR相机起冲突)

最后保存场景,Ctrl+S 出现如下图,保存至Scenes文件夹下

#####(4)注册SDK许可证密钥
我们点击到我们的EasyAR_Startup中,发现面板上Key这块是空的,这里我们就需要去官网上申请密钥[图片上传中…(Key.png-7a4f56-1533045780472-0)]

我们进入到官网SDK许可证找到如下界面,点击添加SDK许可证密钥

然后就是一些名称填写,本文章以Android为例,PackageName (Android)格式最好就是 com.xxxx.xxx,记住这边设置的名字,我们之后会用到

我们设置好后 点进入刚刚创建好的应用名中,将SDK License Key中的一大串字母全选复制到我们最初场景EasyAR_Startup中的Key里面

#####(5)关键步骤
此时我们初步的步骤已经全部完成,接下来则是主要部分,我们要实现AR功能,首先得要有个所要识别的对象,这样才能在这个对象基础之上再添加我们想要的各种功能,我们这次主要以最简单例子示例(通过扫描身份证背面来出现一个白色球体)


首先 我们添加ImageTarget来作为我们要识别的对象
如下图所示,我们找到将ImageTarget拖至场景中

然后点击场景中的ImageTarget,将其身上的脚本文件移除,如下图

我们新建一个脚本,点击Add Component,添加一个C#脚本文件

然后对其进行编辑
将脚本里面所有内容换为如下代码:

using UnityEngine;
using EasyAR;namespace Sample
{public class SampleTargetBehaviour : ImageTargetBehaviour{protected override void Awake(){base.Awake();TargetFound += OnTargetFound;TargetLost += OnTargetLost;TargetLoad += OnTargetLoad;TargetUnload += OnTargetUnload;}void OnTargetFound(TargetAbstractBehaviour behaviour){Debug.Log("Found: " + Target.Id);}void OnTargetLost(TargetAbstractBehaviour behaviour){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);}}
}

返回到Project中,创建一个文件夹名为StreamingAssets( 就这个名字!别改!),并将身份证背面的图片导入进去(把图片拖进去即可)
(没有身份证照片的自己右键另存为一下,后缀名注意哦~)

我们继续回到ImageTarget中,将脚本文件中的信息补充完全(如下图设置即可)

最后我们再创建一个球体来作为识别后所要呈现的物体

修改一下球体的大小Scale
再将球体位置移到ImageTarget的上方

最后将Sphere球体拖至ImageTarget下面,作为其子物体

###(五)运行结果
我们运行一下看看效果如何~


这个最简单的小例子我们就大功告成了,当然实际开发的时候直接利用官网上的样包会更加方便 官网例子
有时间的话会对官网例子进行讲解的




这一期讲的比较详细,可能看的有点累哈~ 下一期我会对安装到安卓手机上的细节加以分析,有什么问题的话 可以互相交流学习 !!!今天就先到这了

Unity 与EasyAR结合 新手入门教程相关推荐

  1. 【LaTeX】E喵的LaTeX新手入门教程(4)图表

    这里说的不是用LaTeX画图,而是插入已经画好的图片..想看画图可以把滚动条拉到底.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇  [LaTeX]E喵的LaTeX新手入门教程(2)基 ...

  2. 想学python都要下载什么软件-学编程闲余时间建议下载的软件_Python新手入门教程...

    原标题:学编程闲余时间建议下载的软件_Python新手入门教程 Python新手入门教程_在手机上就能学习编程的软件 很多小伙伴会问:我在学编程,想利用坐地铁坐公交吃饭间隙学编程,在手机上能学编程的软 ...

  3. 编程入门python语言是多大孩子学的-不学点编程,将来怎么给孩子辅导作业―Python新手入门教程...

    为了填满AI时代的人才缺口,编程语言教育都从娃娃抓起了!如果你还不懂Python是什么将来怎么给孩子辅导作业呢? Python新手入门教程 近期,浙江省信息技术课程改革方案出台,Python言语现已断 ...

  4. 【LaTeX】E喵的LaTeX新手入门教程(6)中文

    假期玩得有点凶 ._.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇  [LaTeX]E喵的LaTeX新手入门教程(2)基础排版  [LaTeX]E喵的LaTeX新手入门教程(3)数学 ...

  5. 【LaTeX】E喵的LaTeX新手入门教程(5)参考文献、文档组织

    这不是最后一篇,明天开始建模所以会从6号开始继续更新.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇  [LaTeX]E喵的LaTeX新手入门教程(2)基础排版  [LaTeX]E喵的 ...

  6. 【LaTeX】E喵的LaTeX新手入门教程(3)数学公式

    昨天熄灯了真是坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇  [LaTeX]E喵的LaTeX新手入门教程(2)基础排版上一期测试答案1.大家一开始想到的肯定是\LaTeX{}e ...

  7. 【LaTeX】E喵的LaTeX新手入门教程(2)基础排版

    换了块硬盘折腾了好久..联想的驱动真坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇文档框架嗯昨天我们已经编写了一个最基本的文档,其内容是这样的:\documentclass{ar ...

  8. Windows学习总结(6)——MindManager新手入门教程

    2019独角兽企业重金招聘Python工程师标准>>> MindManager新手入门教程 MindManager是一款创造.管理和交流思想的思维导图软件,其直观清晰的可视化界面和强 ...

  9. ps如何修改图片大小尺寸_PS新手入门教程:学习如何修改画布的大小

    PS新手入门教程:学习如何修改画布的大小.在photoshop中,可以把画布理解为一张白纸,而我们要处理的图像可以理解为这张白纸表面上的画.我们修改画布的大小时,图像并不会随着画布的大小而整体变大或缩 ...

  10. JavaScript新手入门教程大全~~~

    JavaScript新手入门教程大全~~~ 一. js教程介绍:JavaScript是一种运行在浏览器中的解释型的编程语言. 那么问题来了,为什么我们要学JavaScript?因为你没有选择.在Web ...

最新文章

  1. 什么是接口幂等性?为什么会产生这个问题?如何保证接口幂等性?
  2. 【数字信号处理】相关系数 ( 相关系数概念解析 | 信号能量常数 | 共轭序列 | 序列在相同时刻的相关性 )
  3. vuex mysql_vuex + koa + mysql实现购物车功能(一)
  4. Visual Studio 2013 Xamarin for iOS 环境搭建
  5. 用于存储过程的ASP.NET Core Blazor和EF Core原始SQL查询
  6. Ajax Post请求实例
  7. 【排序算法】选择排序
  8. oracle异常:主动抛出自定义异常+捕获指定异常
  9. 小白能读懂的 《手把手教你学DSP(TMS320X281X)》第六章 CMD文件的编写
  10. 微机原理是微型计算机与接口技术吗,《微机原理与接口技术》课程教学大纲
  11. 百年通信史:落后西方半世纪的中国,用20年绝地反杀!
  12. 常微分方程和偏微分方程的区别
  13. 计算机系统的性能建模与设计 排队论实战,计算机系统的性能建模与设计:排队论实战(计算机科学丛书)...
  14. 更换SSD系统盘-PE重装系统
  15. 使用CvvImage类在MFC的static控件显示图片
  16. html 自动悬浮,HTML 悬浮float介绍
  17. Lontium 的 LT8619C 是一款基于 ClearEdge 技术的高性能 HDMI/双模 DP 接收器芯片
  18. python+django电子招标投标管理系统pycharm项目
  19. Java ~ 常用验证码实现大全。
  20. 【第十一课】UAV倾斜摄影测量三维模型修复教程——Meshmixer

热门文章

  1. 计算机网络(第五版)读书笔记
  2. 闲聊企业数字化转型(1)-供应链数字化
  3. 杭州/北京内推 | 阿里达摩院招聘视觉生成方向学术实习生(人才计划)
  4. Huffman-哈夫曼编码算法详解
  5. ModifyStyle ModifyStyleEx修改自定义控件的问题
  6. 网络安全与黑客工具TOP100
  7. 光圈和景深对摄影的影响
  8. JS+CSS实现幻灯片
  9. 《动手学深度学习》Task06-3:词嵌入进阶
  10. 中交一公局二公司全面推进章管家 印章智慧管理转型在即