Vuforia在iOS上的再封装
2016-07-15 16:39
681 查看
之前用Vuforia做了一些Demo,主要是用Unity实现的。现在有需求要将Vuforia集成到已有的iOS客户端中。事实上Vuforia提供了iOS上的SDK,不过要让客户端同事去集成并实现需求的功能还是有些麻烦的,于是我在官方提供的iOS SDK上又封装了一次,加入了先前做的模型导入和交互的相关工作(可以参考Application3D),形成了更加简单的可配置的静态库。
支持Obj格式模型导入;
模型的简单交互(旋转,缩放,平移);
支持模型和识别datasets的配置;
配置依赖库
有两种方式:
去Vuforia官方下载iOS SDK,并解压缩到external-deps文件夹下;
运行ARDemo工程的createARLib target
在项目文件夹下会出现新文件夹
主要包含:
ARResources.bundle : 包含绘制用的glsl文件;
include : 包含头文件;
libAR.a : 新封装的静态库;
将以上三个资源添加到工程;
配置相关参数初始化
配置:
{
AR_CONFIG_INIT_FLAG : <Vuforia License Key>,
AR_CONFIG_DATA_SETS : [<数据集>...],
AR_CONFIG_MODEL : [<模型>...]
}
数据集:
{
AR_CONFIG_DATASET_NAME : <数据集名称>,
AR_CONFIG_DATASET_PATH : <数据集所在路径>
}
模型:
{
AR_CONFIG_TARGET_NAME : <识别体名称>,
AR_CONFIG_MODEL_PATH : <模型路径>
}
通过设置
在AppDelegate.m的
具体的配置可以参考TestARLib工程
增加退出protocol;
支持同时识别多张目标;
增加光照渲染模型;
主要功能
方便地实现基于Vuforia的ImageTarget识别;支持Obj格式模型导入;
模型的简单交互(旋转,缩放,平移);
支持模型和识别datasets的配置;
使用步骤
下载或克隆Vuforia-iOS-Lib;配置依赖库
有两种方式:
去Vuforia官方下载iOS SDK,并解压缩到external-deps文件夹下;
运行ARDemo工程的createARLib target
在项目文件夹下会出现新文件夹
output,里面包含新的静态库资源
主要包含:
ARResources.bundle : 包含绘制用的glsl文件;
include : 包含头文件;
libAR.a : 新封装的静态库;
将以上三个资源添加到工程;
配置相关参数初始化
ARViewController
配置:
{
AR_CONFIG_INIT_FLAG : <Vuforia License Key>,
AR_CONFIG_DATA_SETS : [<数据集>...],
AR_CONFIG_MODEL : [<模型>...]
}
数据集:
{
AR_CONFIG_DATASET_NAME : <数据集名称>,
AR_CONFIG_DATASET_PATH : <数据集所在路径>
}
模型:
{
AR_CONFIG_TARGET_NAME : <识别体名称>,
AR_CONFIG_MODEL_PATH : <模型路径>
}
通过设置
ARViewController.activeDataSetName可以激活载入的数据集。
在AppDelegate.m的
applicationDidEnterBackground中释放GL资源
- (void)applicationDidEnterBackground:(UIApplication *)application { if (self.glResourceHandler) { // Delete OpenGL resources (e.g. framebuffer) of the SampleApp AR View [self.glResourceHandler freeOpenGLESResources]; [self.glResourceHandler finishOpenGLESCommands]; } }
具体的配置可以参考TestARLib工程
更新
后台导入模型;增加退出protocol;
支持同时识别多张目标;
增加光照渲染模型;
效果图
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- ASP.NET MVC4入门教程(四):添加一个模型
- ASP.NET MVC4入门教程(五):从控制器访问数据模型
- JavaScript对象模型-执行模型
- C++中事件机制的简洁实现及需要放弃的特性
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用开发中AFNetworking库的常用HTTP操作方法小结
- iOS应用中UISearchDisplayController搜索效果的用法
- iOS App开发中的UISegmentedControl分段组件用法总结
- IOS开发环境windows化攻略
- iOS应用中UITableView左滑自定义选项及批量删除的实现