Unity -- 使用easyAR的基础教程
“三人行,必有我师焉”,抱着共同学习进步的态度,和大家一起交流下EasyAR的用法。有不足的地方,欢迎指出!大家都知道,今年的QQ,支付宝,都用到了AR的技术,扫描一张图片,就会出现虚拟模型,及其想要的动作。
好的,我们直接进入正题,本节教你怎么使用EasyAR做出一个属于自己的AR。
1,进入EasyAR的官网,下载EasyAR的插件。当然,我这也有整理好的,想省事的朋友可以直接下载哈:http://pan.baidu.com/s/1dFGaHGH
<ignore_js_op>![]()
2,在EasyAR官网里申请一个EasyAR账号,登陆上以后,点击Develop。
<ignore_js_op>![]()
3,点击Add Application,添加一个应用。
第一行空格:填入一个应用名字,我以我写的Moneytree为例,名字:moneytree
第二行空格:这里要填入一个打包的地址,这里要注意,要求比较严格:com.easyar.moneytree,相信你已经发现规律了,一定要按照这样的格式填写哦。(即要和你取得应用名保持一致),完了,点击OK。
<ignore_js_op>![]()
4,现在已经添加好一个应用了,这时我们点击Show,显示出它的Key,把下面的Key先复制下来,一会要用到。![]()
<ignore_js_op>![]()
5,打开Unity,创建一个项目,把EasyARSDK拖进去。然后打开EasyAR文件夹,把Prefabs文件夹下的EasyAR_Startup预设体拖到面板,把面板里的MainCamara删掉。![]()
<ignore_js_op>![]()
6,同样,找到Primitives文件夹下的ImageTarget预设,把它也拖到面板,选中面板上的EasyAR_Startup,修改它的属性,把我们之前复制的key粘贴进去。![]()
<ignore_js_op>![]()
7,把ImageTarget上的ImageTargetBehaviour脚本删掉,找到你在我U盘下载的EasyARSDK,文件夹里有个HelloAR文件夹,在里面找到一个EasyImageTargetBehaviour的脚本,拖入Unity,拖到ImageTarget物体上。 ![]()
![]()
<ignore_js_op>![]()
8,找一张图片当做识别图,自己的照片也可以哦,推荐颜色不要单一的识别图,不然一种颜色识别不到就尴尬了。然后在Unity里创建一个名叫StreamingAssets的文件夹,把图片拖在这里。另外再拖一次放在Assets下。
![]()
<ignore_js_op>![]()
9,填写EasyImageTargetBehaviour的脚本的信息。
以我的为例,
path(图片的路径):timg.jpg
name(名字):timg
size(图片的大小):10,10
storage(储存地址): Assets(这个比较重要,不要选错)
接下来,创建一个材质球,命名为timg,选择它的shader为EasyAR/RealityPlane,把识别图片拖进去。然后把这个材质球拖给游戏面板的ImageTarget物体。![]()
<ignore_js_op>![]()
10,建一个Cube,颜色改为红色,Cube的位置在识别图上方,然后把它拖在ImageTarget下当它的子物体。
现在运行游戏,激活ImageTarget,Cube就显现出来了。一个简单的AR就做成了。(EasyAR就这点比较好,可以在Unity里面看效果)。
在以后的开发里也可以通过控制ImageTarget的激活和不激活让物体显现和消失,抑或怎么去显现。![]()
<ignore_js_op>![]()
11,打包成APK,File--buildsetings,场景拖进去,选择,点击Playerseting,设置一下参数:
Product: APK的名字
打开Other settings, Bundle Identifier: 把打包地址输进去(com.easyar.XX)。
<ignore_js_op>![]()
<ignore_js_op>![]()
<ignore_js_op>![]()
12,设置好以后,点击Build.
<ignore_js_op>![]()
OK,现在把打包好的APK安装在Android手机上,运行,扫面这张识别图,你的模型就出来了。
怎么样小伙伴们,你会了吗?呵呵,第一次发帖,献丑了,支持下哦,经验不足,有纰漏的地方还望指出,呵呵累啊,对AR感兴趣的朋友可以问我,必回!
Unity -- 使用easyAR的基础教程的更多相关文章
- 【Unity3D基础教程】给初学者看的Unity教程(四):通过制作Flappy Bird了解Native 2D中的RigidBody2D和Collider2D
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 在第一篇文章[Unity3D基础教程] ...
- Unity3d ngui基础教程
Unity3d ngui基础教程 NGUI教程:步骤1-Scene 1.创建一个新的场景(New Scene).2.选择并删除场景里的MainCamera.3.在NGUI菜单下选择Create a N ...
- [转载]Unity3D游戏引擎最详尽基础教程
原文地址:Unity3D游戏引擎最详尽基础教程作者:ShangShang 我一直向所有想做游戏的朋友推荐Unity3D,为什么呢?首先是因为专业,Unity3D非常强大,用它创建一个类似MiniGor ...
- matlab基础教程——根据Andrew Ng的machine learning整理
matlab基础教程--根据Andrew Ng的machine learning整理 基本运算 算数运算 逻辑运算 格式化输出 小数位全局修改 向量和矩阵运算 矩阵操作 申明一个矩阵或向量 快速建立一 ...
- <<Bootstrap基础教程>> 新书出手,有心栽花花不开,无心插柳柳成荫
并非闲的蛋疼,做技术也经常喜欢蛋疼,纠结于各种技术,各种需求变更,还有一个很苦恼的就是UI总是那么不尽人意.前不久自己开源了自己做了多年的仓储项目(开源地址:https://github.com/he ...
- Memcache教程 Memcache零基础教程
Memcache是什么 Memcache是danga.com的一个项目,来分担数据库的压力. 它可以应对任意多个连接,使用非阻塞的网络IO.由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash ...
- Selenium IDE 基础教程
Selenium IDE 基础教程 1.下载安装 a 在火狐浏览其中搜索附件组件,查找 Selenium IDE b 下载安装,然后重启firefox 2.界面讲解 在菜单- ...
- html快速入门(基础教程+资源推荐)
1.html究竟是什么? 从字面上理解,html是超文本标记语言hyper text mark-up language的首字母缩写,指的是一种通用web页面描述语言,是用来描述我们打开浏览器就能看到的 ...
- 转发-UI基础教程 – 原生App切图的那些事儿
UI基础教程 – 原生App切图的那些事儿 转发:http://www.shejidaren.com/app-ui-cut-and-slice.html 移动APP切图是UI设计必须学会的一项技能,切 ...
随机推荐
- CentOS6.5创建yum源
昨天给布置个新的需求,做一个Yum仓库,要求是HTTP式的,在某个服务器上搭建个Yum仓库,能让其它的机器有了这个机器的.repo仓库文件后就可以从本地下载安装软件,以前都是下载后直接yum inst ...
- linux环境搭建系列之maven
前提: jdk1.7 Linux centOS 64位 安装包从官网获取地址:http://maven.apache.org/download.cgi Jdk1.7对应apache-maven-3.3 ...
- Vue声明渲染以及axios实例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- Python3 HTMLTestRunner自动化测试报告美化
# FileName : MyHTMLTestRunner.py # Author : wangyinghao # DateTime : 2019/1/9 21:04 # SoftWare : PyC ...
- Python+Selenium基础篇之4-XPath的使用
开始写自动化脚本之前,我们先学习几个概念,在完全掌握了这几个概念之后,有助于我们快速上手,如何去编写自动化测试脚本. 元素,在这个教程系列,我们说的元素之网页元素(web element).在网页上面 ...
- 数据结构之c++感悟
#include<iostream.h> 头文件: #include<iostream.h> #define MAX 1024 typedef int Elemtype; ty ...
- mojoportal在IE10中点击ImageButton出错的处理方法
在ie10中,如果点击了mojoportal中的imagebutton,会出现错误,在ie10之前的浏览器,及ie10的兼容模式中及谷歌浏览器中都不会出现. 日志中 错误信息如下: 2013-09-2 ...
- ServletConfig和ServletContext 区别
ServletConfig和ServletContext 1.ServletContext在整个web应用程序生命周期内存在,用来保存全局对象,整个web应用都可以使用其获取context参数.当 ...
- BZOJ 4569 [Scoi2016]萌萌哒 ——ST表 并查集
好题. ST表又叫做稀疏表,这里利用了他的性质. 显然每一个条件可以分成n个条件,显然过不了. 然后发现有许多状态是重复的,首先考虑线段树,没什么卵用. 然后ST表,可以每一层表示对应的区间大小的两个 ...
- Python基础教程笔记 第二章
本章的名字虽然叫列表和元组,但是本章讲的最多的是列表,元祖指讲了很少的一部分.因为元组和列表很多方面都是一样的. 列表和元组的区别:列表可以被修改,元祖不可以被修改. python包含的6种内建序列: ...