5分钟使用Unity制作AR应用,结合EasyAR制作AR(转)
开发预览
源码:链接: https://pan.baidu.com/s/1kUQ4Mrl 密码: upmp
模型资源:链接: 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
点击创建应用,填写你的应用名字与打包移动平台时必填的package name
比如这样:HelloAR 是我的应用名,mars 是我的公司或团队名,格式就是这样
确定好后,我们可以查看我们的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开发环境,事半功倍。
经测试,新手要注意一下几点:
easyar申请KEY时,应用名就是你发布安卓后的保存的APK名称,不一致出错;
ID就是你发布安卓时的域名,要一致,然后域名中间的名字就是company name名字,product name就是应用名
ImageTarget组件上的 "ImageTargetBehaviour" 脚本什么都不要写
ImageTarget 的Size要设置,1或者2
5分钟使用Unity制作AR应用,结合EasyAR制作AR(转)相关推荐
- 5分钟使用Unity制作AR应用,结合Vuforia SDK制作AR
今天这篇课程将为大家介绍使用Unity结合Vuforia SDK制作AR应用的过程,非常简单且容易上手,适合Unity初学者.最后效果是制作出向上跳跃的Unity酱. 注意:本文教程使用Unity 5 ...
- 【码蚁君】AR实战-圣诞礼物EasyAR+Unity
文章目录 AR实战-圣诞礼物[EasyAR+Unity] 一.准备工作 1.1 开发环境 1.2 打包工具 1.3 EasyAR注册 1.4 一个对象 二.Unity开发 2.1 新建工程 2.2 搭 ...
- Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机
Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机 Unity中制作一个望远镜 本节制作的望远镜,在鼠标左键按下时,看到的视图会变大:当不再按下的时候,会慢慢缩小成原来的视图.游戏中时常出现 ...
- unity3D AR涂涂乐制作浅谈
unity3D AR涂涂乐制作浅谈 AR为现在是虚拟现实较为火爆的一个技术,其中有个比较炫酷的就是AR涂涂乐的玩法,这个技术可以把扫描到的图片上的纹理 粘贴到模型上实现为模型上色的功能,但是我们需要怎 ...
- 体感ar数字互动教学制作实现学生共享优质教育
AR体感互动教学是一种多技术融合的教学方式,只要根据各个学段的学生的心理特征,结合各个学段的学习任务进行定制开发课程内容,是适合在学前.小学.中学.职业院校等各个学段使用的 AR体感互动教学是以具身认 ...
- Unity进阶 - 动画系统 - 给人物角色制作动画
Unity进阶 - 动画系统 - 给人物角色制作动画(点击免费试学本节) 上一篇文章,我们对Unity进阶 - 动画系统 - Mecanim动画系统有了一定的认识,本节课我们给人员角色制作一些简单的动 ...
- unity 彩带粒子_Unity3D_(Shuriken粒子系统)制作简单的烟花爆炸效果
Unity中的粒子系统可以用于制作特效,如开枪火花效果,简单爆炸效果等.(毕竟程序员不是设计师,简单的特效都没有问题,要制作一些非常美观的特效还是需要多了解跟美术有关的知识.) 粒子系统实现一个简单的 ...
- Unity学习笔记—二次元日系游戏制作(实践篇-游戏初始化场景制作)
原教程:siki:二次元日系游戏制作工具 - live2dSDK入门教程 http://www.sikiedu.com/my/course/282 (上)Unity学习笔记-二次元日系游戏制作(理论篇 ...
- 用 Unity easyAR 开发 AR 发布 Android ios遇到的问题(包括easyAR recording 录屏 用法和问题)(图文详情)
用 Unity easyAR 开发 AR 发布 Android ios遇到的问题(包括easyAR recording 录屏 用法和问题)(图文详情) 前言 软件环境 发布Android 配置 发布i ...
- [Unity学习笔记:FPS游戏制作(3)]子弹拖尾,碰撞与枪口火焰效果
往期博客[Unity学习笔记:FPS游戏制作(2)] 发射子弹----(2021.6.20学习笔记) 文章目录 一,实现思路 二,粒子效果的实现 (1)子弹拖尾特效的实现 (2)枪口火焰特效的实现 ( ...
最新文章
- 轻松掌控全链路服务监控:方案概述与对比 | 真的很干!
- ubuntu报错解决:The following packages have unmet dependencies:
- 超融合刚刚好——蓝色光标成功应用联想超融合解决方案
- linux 7个运行级别 runlevel 简介
- 持续集成工具jenkins的部署--Windows篇
- java-StringBuffer构造方法
- $动态规划系列(2)——找零钱问题
- 城市路(信息学奥赛一本通-T1381)
- 圆章能随便刻吗_当归、人参、虫草熬成的养生汤,能随便销售吗?
- 物以稀为贵-网管狂妄的原因
- C语言char的大小写转换
- java 协同编辑的多指针_多人协作项目如何保持代码风格统一
- NLP文本情感——SNOWNLP简易版
- 怎么样域名绑定服务器显示成功,域名备案成功后怎么绑定服务器
- mysql lang_dlang操作mysql
- 优秀的选择 从年货节“走马灯”看天猫的H5创意
- 微信小程序全选,微信小程序checkbox,微信小程序购物车
- uniapp团购商城源码在哪里下载?
- CPU乱序执行基础 —— Tomasulo算法及执行过程
- 安装archlinux+cinnamon笔记
热门文章
- 计算机8421法转换,8421bcd码转换二进制
- 互联网思维之迭代思维
- 视频会议系统管理规章制度
- uniapp上传图片至服务器,获得在线图片链接预览(实战)
- 神州计算机u盘启动,神州电脑如何使用U盘装系统
- python统计人物出现次数_python实例:利用jieba库,分析统计金庸名著《倚天屠龙记》中人物名出现次数并排序...
- Premiere cs6导出MP4格式视频
- 12306的(再次破解)从查票到购票
- 28. 移动端touch触摸事件
- Android WebView 选择图片并上传(调用相机拍照/相册/选择文件)