marvr_ios
论坛版主
论坛版主
  • UID3513
  • 粉丝10
  • 关注1
  • 发帖数144
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:725回复:0

NVisionXR_iOS教程二 —— 创建控制器和Vuforia对象

楼主#
更多 发布于:2018-03-30 23:02
我们接着上一篇的教程:
1、实例话一个NVisionXR控制器
在项目中创建一个Controller,继承NV3DViewController

图片:WechatIMG154.jpg



NVisionController.h 中添加头文件#import"NV3DViewController.h" ,如下图

图片:WechatIMG155.jpg



接下来,实例话该场景,大家根据自己的项目需求找地方实例话场景,该例子就直接设置成主场景。

图片:WechatIMG156.jpg



2、实例话NVAppDirector
NVAppDirector是导演类,是一个单例,它贯穿整个AR场景,需要优先调用,设置代码如下图

图片:WechatIMG157.jpg



3、实例话Vuforia句柄
添加代码下图,因为开启了AR功能,所以需要实例话Vuforia句柄,Vuforakey和识别图需要到Vufora后台申请操作,Vufora
申请地址:https://developer.vuforia.com/

图片:WechatIMG158.jpg



图片:WechatIMG159.jpg


图中代码:
    // 导演类,贯穿整个AR场景,必须最先调用
    [[NVAppDirector sharedNVAppDirector] init:self.context_node];
    // 设置需要开启的插件类型,本例开启了ar插件,插件名字可以随意取,但是要唯一。
    [[NVAppDirector sharedNVAppDirector] addPlugin:AR_INPUT pluginName:@"AR_Plugin"];
    // 注册vuforai
    _vuforiaWrapper = [[NV3DVuforiaWrapper alloc] initWithLicenceKey:@"ATLYsJz/////AAAAGTj+TZjZ8Ulgu0mjMsQS+iJfhw
BojjIc/xu2j9sFOb3O7UGUQr81lGCUXFXkjhzxzOh/oS+AAHaS2sIFAXq7m8+zWFHN8vHsDWK1xDiqVhzEU0regkqV+CBQkf04dITx2QJPCitXlIt
xUAvRlvS+9ZqQlohvsKk8VwJE54YAKCQ7d+9NZXoUt5E6/6QUu8m/1TQ+mzLqa6QJCVGjgUL2fxLMs2cDlO3d1pDF/6HC8bqQ7eZDjbx6Yt+HdgUF
YdMeVyD+lv7i9ncoYpBAXQq75k9DbLnOySOBBq/NpNoDIUH3bs5dLQ1EGHp7dYTOBuT4exyvtj4NABgfCQP6JQKfxknQwgQRF8SoQpPAF6tQhdfE
"];
    // 添加需要识别的对象路径,可以有多个识别对象,对象建议放在UserRes.bundle里,便于引擎管理资源。
    [ _vuforiaWrapper addDataSet:@"UserRes.bundle/StonesAndChips.xml"];
    // 激活当前需要识别的对象路径
    [ _vuforiaWrapper setActiveDataSet:@"UserRes.bundle/StonesAndChips.xml"];

4、运行项目
运行项目后发现闪退,查看了闪退日志,发现是没在info.plist设置。

图片:WechatIMG160.jpg



在项目修改下info.plist如下图

图片:WechatIMG161.jpg



再次运行项目,可以看到vuforia的摄像机开起来了。

图片:WechatIMG162.jpg



到这里,就已经完成了场景的基本配置,本章节的内容已经结束,下一章节就可以教大家如何在ar场景中渲染一个立方体。

欢迎联系:

图片:WechatIMG153.png

开发者

欢迎分享

游客

返回顶部