Unity实现简单的AR
,本篇是我在博客园上第一次写随笔,有什么不对或者问题可以在评论区留言告诉我哈!
关于AR(增强现实技术(Augmented Reality))简单的概念,在这里就不说了,有兴趣的同学可以上网详细了解,今天我的目的也是让自己复习一下关于AR的知识,还有就是让新接触Unity的小伙伴也可以体验一下,跟着我的步骤走,自己实现是没问题的,接下来正文.
第一步:打开网页,进入Vuforia官网:https://developer.vuforia.com/home-page,也可以直接百度,第一条就是,点击进入,
第二步:进入官网,点击图示中的Develop,进入后会提示登陆,有账号的小伙伴可以直接登陆,没有的自己注册一下(作为21世纪的少年,注册账号应该是必备技能了),然后登陆进入
第三步:进行许可管理注册,依次点击两个蓝色框框中的按钮,获取一个Key,
第四步:按下图输入App名称,同意条款,确定
第五步,选择项目名称,点击
第六步:生成许可密钥,在Unity工程中需要,即下图红色框框中的一连串,
第七步:创建Database
第八步:输入名称,类型选择第一个就可以,创建
第九步:点击创建好的
第十步:添加Target(Target为所识别的图片文件,格式为.jpg或者.png),选择一张对比度清晰、识别度高的图片。图片名称必须为英文
也可以将图片替换成3D物体或者其他,有兴趣的可以自己试试,这里我就用图片了
第十一步:添加成功,导出资源
选择下载,会下载一个unity的资源包
在网站上操作的部分就完成了 ,接下来是Unity部分,新建项目我就不详细说了,插件的话在刚刚的官网是可以下载的,接下来就是导入插件和刚下载的资源包,导入的话直接拖到Unity资源面板就可以了.
导入插件后会有这三个文件夹导入刚下载的资源包会增加两个文件夹
第十二步:找到下图中的两个预设物资源,加入到层级面板中,删除场景中的原相机
第十三步:配置AR相机,点击ARCamera,属性面板中点击下图红色框框中的按钮
第十四步:将刚刚网站上的产品密钥(第六步红色框中的)粘贴到下图所示位置,设置成激活状态
第十五步:设置ImageTarget(拖入层级面板中的第二个预设物),点击,在属性面板上操作入下图所示,设置Database和ImageTarget
接下来将你想要在AR中显示的东西拖成Image Target的子物体就可以了.
这里我创建了一个球体(蓝色),简单加了一个动画,让它绕Y轴旋转,加了一个方块(红色)让它显示出来旋转,然后运行.
我是在手机上显示图片,运行时将电脑摄像头对准手机上的图片拍摄,在Game窗口会显示摄像头看到的图片上有一个旋转的蓝色球体,这样就成功了.
你也可以将带有动画的很酷的模型导入Unity,放在Image Target下,还可以导出apk安卓文件,这样在手机上就可以显示了.
一上午的时间,终于完成了,虽然说很有可能没人看到,但还是有点小小的成就感的,也让我对博客园里的大佬越加钦佩了.
要走的路还有很远,加油!
这是我的第一篇随笔,有看不懂的小伙伴也别怪我,可以评论问我,我看到会回复的,好了,平复一下心情,吃午饭去喽.
Unity实现简单的AR的更多相关文章
- unity网络----简单基础
网络 TCP:与打电话类似,通知服务到位 UDP:与发短信类似,消息发出即可 IP和端口号是网络两大重要成员 端口号(Port)分为知名端口号[0-1024,不开放)和动态端口号[1024,10000 ...
- Unity IOC简单认知
看了不少IOC的文章.简单概念梳理下. 1.依赖,依赖倒置,控制反转(IOC),依赖注入 解释是仿照http://www.cnblogs.com/qqlin/archive/2012/10/09/27 ...
- unity 实现简单的分离
在网上随便搜一搜资料就可以找到很多关于Mvc ,MVVM,StrangeIoc等有关显示与数据分离的博客,很多大神也是讲的蛮有道理的,但是这些框架理解起来有一定的难度, 这时候肯定有人说有现成的框架为 ...
- Unity中简单使用Opengl
简介 由于项目特殊需求,需要在unity中使用一些OpenGL的东西来绘制图形(PS:其实就是有一个拖尾算法只有OpenGL版本~~~懒得改了,直接在unity中使用OpenGL算了).所以琢磨咯下如 ...
- C# Ioc容器Unity,简单实用
开头先吐槽一下博客园超级不好用,添加图片后就写不动字了,难道是bug 好进入正题,先来说下依赖注入,简单来说就是定义好接口,上层代码调用接口,具体实现通过配置文件方式去指定具体实现类. 首先我们需要通 ...
- unity制作简单血条
学习Unity已经10天了,也没发现有什么长进,真的急.昨天仿着官方Demo做了个射击游戏轮廓,其中需要给每个怪做一个血条. 搜了一些,挺复杂的,用NGUI或者UGUI,外加很长的代码...不过还是找 ...
- Unity项目 - 简单时钟 Clock
项目展示 Github项目地址:简单时钟 Clock 制作流程 表盘绘制: 采用Aseprite 像素绘图软件绘制表盘及指针.本例钟表素材大小 256x256,存储格式为png,但发现导入Unity后 ...
- Unity实现简单的对象池
一.简介 先说说为什么要使用对象池 在Unity游戏运行时,经常需要生成一些物体,例如子弹.敌人等.虽然Unity中有Instantiate()方法可以使用,但是在某些情况下并不高效.特别是对于那些需 ...
- Unity StreamingMipmaps 简单测试
StreamingMipmaps是Unity2018.2中加入的新功能,意指通过CPU控制,只加载部分Mipmap图片以节省更多的内存及显存空间. 我测试时遇到了问题,后来发现必须打包出来测才有效(注 ...
随机推荐
- PowerShell下载文件
$webRequest = [System.Net.HttpWebRequest]::Create("http://go.microsoft.com/fwlink/?LinkID=14915 ...
- cat > file << EOF 与 cat > file << -
当我们在使用kickstart 的时候,会遇到写网卡配置文件的情况,这时候我们使用cat > file << EOF 命令等,可以从标准输入中接受输入并保存到 file 文件中. c ...
- 修改win下ras/pppoe/l2tp等连接数限制
最近宽带重新拔号一直不换ip,拔了十几分钟IP仍然不变,想起几年前的pppoe多拔,多拔几个PPPOE占着老IP,再拔新的IP出来用 注册表路径,子项中查看MatchingDeviceId判断协议类型 ...
- phpstudy绑定项目(dist文件)域名--陈远波
该篇博客是针对已经打包好的dist文件用phpstudy工具进行域名绑定,dist文件生成在这笔者不进行描述,绑定步骤如下: 一:官网下载phpstudy软件进行安装:http://phpstudy. ...
- Java数组、集合的三种遍历方式(包懂)
1 for循环 for(int i = 0;i<arr.length;i++){ System.out.print(arr[i]+" "); } 2 foreach循环,这种 ...
- 如何修改word文档中每行字符的最大默认值和每页最大行数默认值
事情起因是这样的,小明在写论文的过程中,发现自己的文档的字与字的间距看起来比其他人的字符间距大,于是觉得奇怪,明明设置了一样的格式啊,设置每行38个字符,每页34行,为什么小明写的文档字符间距看着比较 ...
- 带有function的JSON对象的序列化与还原
JSON对象的序列化与反序列化相信大家都很熟悉了.基本的api是JSON.parse与JSON.stringify. var json={ uiModule:'http://www.a.com', ...
- Springboot集成Common模块中的的全局异常处理遇见的问题
由于项目公共代码需要提取一个common模块,例如对于项目的文件上传,异常处理等,本次集成common代码时候maven引入common的全局异常处理代码之后发现不生效,由于common包路径与自己的 ...
- leetcode-844 Backspace String Compare
Given two strings S and T, return if they are equal when both are typed into empty text editors. # m ...
- PAT B1017 A除以B (20 分)
本题要求计算 /,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数.你需要输出商数 Q 和余数 R,使得 A=B×Q+R成立. 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 ...