Vuforia在iOS上的再封装

之前用Vuforia做了一些Demo,主要是用Unity实现的。现在有需求要将Vuforia集成到已有的iOS客户端中。事实上Vuforia提供了iOS上的SDK,不过要让客户端同事去集成并实现需求的功能还是有些麻烦的,于是我在官方提供的iOS SDK上又封装了一次,加入了先前做的模型导入和交互的相关工作(可以参考Application3D),形成了更加简单的可配置的静态库。

主要功能

  1. 方便地实现基于Vuforia的ImageTarget识别;
  2. 支持Obj格式模型导入;
  3. 模型的简单交互(旋转,缩放,平移);
  4. 支持模型和识别datasets的配置;

使用步骤

  1. 下载或克隆Vuforia-iOS-Lib
  2. 配置依赖库
    有两种方式:
    • 去Vuforia官方下载iOS SDK,并解压缩到external-deps文件夹下;
  3. 运行ARDemo工程的createARLib target
    在项目文件夹下会出现新文件夹output,里面包含新的静态库资源 主要包含:
    • ARResources.bundle : 包含绘制用的glsl文件;
    • include : 包含头文件;
    • libAR.a : 新封装的静态库;

生成的资源

  1. 将以上三个资源添加到工程;
  2. 配置相关参数初始化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可以激活载入的数据集。

  1. AppDelegate.mapplicationDidEnterBackground中释放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工程

更新

  1. 后台导入模型;
  2. 增加退出protocol;
  3. 支持同时识别多张目标;
  4. 增加光照渲染模型;

效果图

效果图

转载于:https://my.oschina.net/chicboi/blog/712515

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity 是一款广泛用于游戏开发的跨平台引擎,它支持多种操作系统和设备,包括 iOS(苹果的移动操作系统)。而 com.ptc.vuforia.engine 则是 Unity 中用来支持增强现实(AR)功能的一个插件。 在 Unity 中打包 iOS 平台,我们首先需要确保已经安装了适用于 iOS 的开发环境及相关证书。然后,在 Unity 中进行以下步骤来进行打包: 1. 首先,选择菜单栏中的 File(文件)--> Build Settings(构建设置)打开构建设置窗口。 2. 在构建设置窗口中,选择 iOS 平台,并点击 Switch Platform(切换平台)按钮。Unity 将会重新编译项目以适应 iOS 平台。 3. 然后,点击 Player Settings(播放器设置)按钮,打开 Player Settings 窗口。 4. 在 Player Settings 窗口中,我们需要设置一些 iOS 相关的选项,包括应用程序的图标、权限、名称等。 5. 在设置完成后,点击 Build(构建)按钮,选择一个目录来保存生成的 Xcode 项目。 6. Unity 将会自动导出 Xcode 项目文件,我们可以使用 Xcode 来进一步修改和打包应用程序。 7. 打开导出的 Xcode 项目,在 Xcode 中选择合适的开发证书和设备,然后进行编译和打包。 8. 最终,我们将得到一个用来在 iOS 设备上安装和运行的应用程序。 需要注意的是,如果项目中使用了 com.ptc.vuforia.engine 这个插件来支持 AR 功能,我们需要确保该插件已经正确导入到 Unity 项目中,并且在打包 iOS 时也包含了相关的资源文件和设置。 总而言之,Unity 提供了便捷的打包方式来将游戏或应用程序导出到 iOS 平台,并且通过 com.ptc.vuforia.engine 这个插件,我们可以进一步增强应用程序的功能,实现更出色的游戏体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值