Unity+高通Vuforia SDK——AR
一、AR概念:
增强现实(Augmented Reality,简称AR),是在虚拟现实的基础上发展起来的新技术,也被称之为混合现实。是通过计算机系统提供的信息增加用户对现实世界感知的技术,将虚拟的信息应用到真实世界,并将计算机生成的虚拟物体、场景或系统提示信息叠加到真实场景中,从而实现对现实的增强。
二、工具:
在这里我们主要是用高通的Vuforia SDK来演示如何在Unity下制作一个简单的AR的demo,Vuforia SDK是一套很完整的可以直接调用的AR API,而假如想深入了解SDK内部的关于AR中图片识别以及跟踪的算法,我们需要从Open CV入手。
1.Unity——我使用的是Unity5.3.1f版本
2.Vuforia SDK插件——从官网(https://developer.vuforia.com/downloads/sdk)下载最新的5.5的Unity专用版本

三、实战:
1.在Unity中新建一个3D项目,取名为TestAR
2.导入下载好的Vuforia SDK插件包:vuforia-unity-5-5-9.unitypackage


3.导入成功后,再Assets目录下回多出一个Vuforia文件目录和一些其他的辅助文件
4.将默认场景中的Main Camera删掉,并将Vuforia/Prefabs目录下的ARCamera相机拖至场景中
5.本文中我们要示范的是图片的识别,所以我们需要将Vuforia/Prefabs目录下的ImageTarget也拖至场景中,调整相机位置,知道浏览页出现如下视图:
由于还没有选择要进行识别的图片,所以当前面板还是空白的,添加完所要识别的图片后,应用会通过检测摄像头拍摄的现实世界画面,与此图进行对比。
6.由于高通的图片识别都需要先将待识别的图片上传到其内部的图片库中,所以这里我们需要先到开发者后台完成一些准备工作。
a.打开链接:开发者后台,创建一个新的Database


b.在新建的Database中添加Target:


7.选中ImageTarget,设置Image Target Behaviour组件的Data Set属性,会自动在网页中跳转到我们刚刚添加Database和Target的页面,我们选中其中一张,点击Download Database按钮,就会弹出导出资源的选项框,选择Unity Editor,再点击Create我们就可以得到一个跟对应Database同名的资源包:Test.unitypackage


8.我们回到Unity工程,将刚刚生成的Test.unitypackage导入到工程中,可以看到除了一些配置文件之外,资源中还包含了我们上传到高通网站上的图片,它被转换为材质:

9.导入完资源之后,回到ImageTarget组件上的Image Target Behaviour组件,选中指定的Database中指定的Target图片之后,我们可以看到ImageTarget显示我们选中的图片:


10.设置ARCamera,对Database Load Behaviour中的Load Test Database和Activate都勾选上:

11.拖入一个模型,这个模型就是我们在手机等移动设备上使用相机对准识别图片时才会出现的AR模型,当然这个模型最好作为ImageTarget的子物体,并设置好此模型的位置:

11.将当前工程打包成Apk安装到手机上,PC上打开用于识别的背景图片,真机运行直接拿手机对着图片,查看结果如何。加入真机启动时提示"Vuforia App is missing...",这是因为打包的时候没有把给ARCamera添加App License Key填写完整导致的,下面我们来介绍如何获取这个参数:
a.打开开发者后台,选择License Manager页签,这里就是证书管理的后台,我们需要为我们的App添加一个证书:

b.生成证书:

c.查看生成证书,并获得App key:

d.将App key填写到Unity中ARCamera组件的App License Key中:

12.重新打包Apk,并查看结果:

Unity+高通Vuforia SDK——AR的更多相关文章
- GJM : Unity3D 高通Vuforia SDK AR 开发
一.AR概念: 增强现实(Augmented Reality,简称AR),是在虚拟现实的基础上发展起来的新技术,也被称之为混合现实.是通过计算机系统提供的信息增加用户对现实世界感知的技术,将虚拟的信息 ...
- 高通vuforia+Unity3D 制作ar app
很简单就可以用Unity3D做出增强现实的一个小例子 新人第一次写博客,若出现错误望指正^_^ 需要下载de东西: unity3d 5.0 http://unity3d.com/get-unity ...
- 这几天用高通VUFORIA的体会
VUFORIA 主要用来做图像识别,先把图片上至网站,然后网站分析生成数据包 在UNITY中导入VUFORIA SDK和数据包后,就可以正常使用了 对了,数据包需要勾选Load Active那个选项, ...
- 高通Vuforia(Unity3D)云识别初级使用教程
高通Vuforia(Unity3D)云识别初级使用教程 最近因项目开发需要,接触了高通的AR引擎Vuforia云识别,个人感觉稳定性还是很不错的,唯一不爽的地方就是免费的云识别库每个月只能识别10 ...
- [AR]高通Vuforia Getting Started
Vuforia Getting Started 简介 Vuforia创建增强现实应用程序是一个软件平台.开发人员可以轻松地将先进的计算机视觉功能添加到任何应用程序中,允许它识别图像和对象,或在现实 ...
- [AR]高通Vuforia之Frame Markers
软件环境 SDK:FrameMarkers-6-0-112.unitypackage(从官网 -> Download -> Samples -> Core Features 下载 ) ...
- 高通Vuforia
这里使用高通的Vuroria来做一个AR歌姬. 工具: Vuforia,MMD4Mecanim 模型: 初音未来pmd模型文件,极乐净土vmd动作文件. 逻辑: 当发现识别卡时:开启音乐,模型速度为1 ...
- UNITY使用高通Vuforia导出XCode包编译出错
1.referenced from: in libVuforia.a 此处重新导入引用库并按http://game.ceeger.com/forum/read.php?tid=20447(三楼处理方式 ...
- Unity3d使用高通Vuforia发布IOS工程不支持64位的一些解决办法
1.将Unit升级至4.6.x或5.0.x,将Vuforia差距升级到最新版本(vuforia-unity-mobile-android-ios-4-0-105 ) 2.平台Other Setting ...
随机推荐
- 一些常见的关于Linux系统的问题
1 如何看当前Linux系统有几颗物理CPU和每颗CPU的核数? 答:[root@centos6 ~ 10:55 #35]# cat /proc/cpuinfo|grep -c 'physical i ...
- C#集合概述
C#集合概述 2016-11-29 集合 顺序排列 连顺存储 直接访问方式 访问时间 操作时间 备注 Dictionary 是 Key Key:O(1) O(1) 访问性能最快,不支持排序 Sorte ...
- LeetCode: Search for a Range 解题报告
Search for a RangeGiven a sorted array of integers, find the starting and ending position of a given ...
- Django 用ModelForm批量保存form表单(非常实用的方法) mfor_verity项目
1.先看一下 Model 非常多 from django.db import models from users.models import UserProfile # Create your mod ...
- 【Java】线程池的作用
在程序启动的时候就创建若干线程来响应处理,它们被称为线程池,里面的线程叫工作线程 第一:降低资源消耗.通过重复利用已创建的线程降低线程创建和销毁造成的消耗. 第二:提高响应速度.当任务到达时,任务 ...
- 一款纯css3实现的环形导航菜单
之前为大家介绍了好几款导航菜单,今天要给大家带来一款纯css3实现的环形导航菜单.该导航比较新鲜,列表图标位于中间,单击列表图标的时候,各项分布于列表图表的四周.形成一个环形.效果图如下: 在线预览 ...
- 适配器模式和外观模式(head first设计模式——6)
为什么要把适配器模式和外观模式放在同一篇文章中,主要是其相对前面的几个模式来讲会简单些并且具有相似之处.下面就分别通过例子来看理解一下两种模式,然后再进行对其进行比较. 一.适配器模式 1.1适配器模 ...
- 阿里云收集服务器性能指标的python脚本
#!/usr/bin/python ######################################### # Function: sample linux performance ind ...
- sizeof数据对齐问题
#include <iostream> using namespace std; struct A1 { int a; static int b; }; struct A2 { int a ...
- jQuery插件 -- 表单验证插件jquery.validate.js
最常使用JavaScript的场合就是表单的验证,而jQuery作为一个优秀的JavaScript库,也提供了一个优秀的表单验证插件----Validation.Validation是历史最悠久的jQ ...