Unity 与EasyAR结合 新手入门教程
###前言:
暑假里刚刚接触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结合 新手入门教程相关推荐
- 【LaTeX】E喵的LaTeX新手入门教程(4)图表
这里说的不是用LaTeX画图,而是插入已经画好的图片..想看画图可以把滚动条拉到底.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基 ...
- 想学python都要下载什么软件-学编程闲余时间建议下载的软件_Python新手入门教程...
原标题:学编程闲余时间建议下载的软件_Python新手入门教程 Python新手入门教程_在手机上就能学习编程的软件 很多小伙伴会问:我在学编程,想利用坐地铁坐公交吃饭间隙学编程,在手机上能学编程的软 ...
- 编程入门python语言是多大孩子学的-不学点编程,将来怎么给孩子辅导作业―Python新手入门教程...
为了填满AI时代的人才缺口,编程语言教育都从娃娃抓起了!如果你还不懂Python是什么将来怎么给孩子辅导作业呢? Python新手入门教程 近期,浙江省信息技术课程改革方案出台,Python言语现已断 ...
- 【LaTeX】E喵的LaTeX新手入门教程(6)中文
假期玩得有点凶 ._.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版 [LaTeX]E喵的LaTeX新手入门教程(3)数学 ...
- 【LaTeX】E喵的LaTeX新手入门教程(5)参考文献、文档组织
这不是最后一篇,明天开始建模所以会从6号开始继续更新.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版 [LaTeX]E喵的 ...
- 【LaTeX】E喵的LaTeX新手入门教程(3)数学公式
昨天熄灯了真是坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版上一期测试答案1.大家一开始想到的肯定是\LaTeX{}e ...
- 【LaTeX】E喵的LaTeX新手入门教程(2)基础排版
换了块硬盘折腾了好久..联想的驱动真坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇文档框架嗯昨天我们已经编写了一个最基本的文档,其内容是这样的:\documentclass{ar ...
- Windows学习总结(6)——MindManager新手入门教程
2019独角兽企业重金招聘Python工程师标准>>> MindManager新手入门教程 MindManager是一款创造.管理和交流思想的思维导图软件,其直观清晰的可视化界面和强 ...
- ps如何修改图片大小尺寸_PS新手入门教程:学习如何修改画布的大小
PS新手入门教程:学习如何修改画布的大小.在photoshop中,可以把画布理解为一张白纸,而我们要处理的图像可以理解为这张白纸表面上的画.我们修改画布的大小时,图像并不会随着画布的大小而整体变大或缩 ...
- JavaScript新手入门教程大全~~~
JavaScript新手入门教程大全~~~ 一. js教程介绍:JavaScript是一种运行在浏览器中的解释型的编程语言. 那么问题来了,为什么我们要学JavaScript?因为你没有选择.在Web ...
最新文章
- 什么是接口幂等性?为什么会产生这个问题?如何保证接口幂等性?
- 【数字信号处理】相关系数 ( 相关系数概念解析 | 信号能量常数 | 共轭序列 | 序列在相同时刻的相关性 )
- vuex mysql_vuex + koa + mysql实现购物车功能(一)
- Visual Studio 2013 Xamarin for iOS 环境搭建
- 用于存储过程的ASP.NET Core Blazor和EF Core原始SQL查询
- Ajax Post请求实例
- 【排序算法】选择排序
- oracle异常:主动抛出自定义异常+捕获指定异常
- 小白能读懂的 《手把手教你学DSP(TMS320X281X)》第六章 CMD文件的编写
- 微机原理是微型计算机与接口技术吗,《微机原理与接口技术》课程教学大纲
- 百年通信史:落后西方半世纪的中国,用20年绝地反杀!
- 常微分方程和偏微分方程的区别
- 计算机系统的性能建模与设计 排队论实战,计算机系统的性能建模与设计:排队论实战(计算机科学丛书)...
- 更换SSD系统盘-PE重装系统
- 使用CvvImage类在MFC的static控件显示图片
- html 自动悬浮,HTML 悬浮float介绍
- Lontium 的 LT8619C 是一款基于 ClearEdge 技术的高性能 HDMI/双模 DP 接收器芯片
- python+django电子招标投标管理系统pycharm项目
- Java ~ 常用验证码实现大全。
- 【第十一课】UAV倾斜摄影测量三维模型修复教程——Meshmixer