DuMixARDemo发开及调试流程(百度云AR)IOS

 
 
 
 
 
 
 
接入百度云sdk 首先下载sdk 运行sdk附带demo。
demo中需要的一些配置数据需要去百度云的开放平台创建应用之后才有。
第1步:创建AR应用
创建正式版AR应用:
前往 百度云控制台创建您的正式版AR应用:
创建试用版AR应用:
前往 DuMix AR官网的“开放平台”页面创建您的试用版AR应用
第2步:引入编译需要的Framewrok
DuMix AR需要引入的系统库有 libz.tbd、libstdc++.tbd
DuMix AR需要引入第三方库有 AFNetworking 、ZipArchive
AFNetworking [版本为3.1.0](https://github.com/AFNetworking/AFNetworking) ZipArchive [版本为 1.2](https://code.google.com/archive/p/ziparchive/downloads) BDTTS // 可选项,百度语音融合SDK,请参考 https://ai.baidu.com 中【百度语音】 BDVoice // 可选项,百度语音识别SDK,请参考 https://ai.baidu.com 中【百度语音】
DuMix AR需要引入DuMix AR的静态库 DuMixAR.a
注:DuMix AR功能只能在真机环境下运行,若想要在模拟器下能编译通过则需:
方案1:自行合并DuMixAR.a和DumixAR-Simulator.a 如:lipo -create DuMixAR.a DumixAR-Simulator.a -output xxxx.a
方案2:代码区分真机或者模拟器,只在真机环境下调用,如:
#if TARGET_IPHONE_SIMULATOR //模拟器下代码 #elif TARGET_OS_IPHONE //DuMix AR code #endif
第3步:引入DuMixAR的头文件、自定义UI文件、资源文件和证书
DuMix AR 头文件在文件夹include下。
自定义UI 文件在文件夹OpenUI下。
资源文件分为两部分:
  • BaiduAR.bundle 存放配置文件、文字、还有音频文件
  • BaiduAR.xcassets 存放图片资源
SDK目录如下:
-ARSDK |-AR-TTS // 百度TTS相关的部分,若您不使用语音功能,该模块不需要添加 |-AR-Voice // 百度语音相关的部分 |-BaiduAR.bundle // 配置文件 |-BaiduAR.xcassets // 图片资源 |-DumixAR-Simulator.a // 为了保证模拟器能正常编译所使用的静态库 |-DumixAR.a // DuMixARSDK |-include // 头文件 |-OpenUI // 自定义UI文件
第4步:工程设置
1、请设置工程的 Bundle Identifer ,内容为您创建应用时的iOS包名
2、在工程设置中选择Build Settings,搜索 Other Linker Flags 并设置 -ObjC
3、证书设置:
如果您使用的是正式版:
创建完AR应用后,在“应用详情”页面下载license文件,并将license文件放到您应用的工程目录中(license文件名称必须为:aip.license )
如果您使用的是试用版:
不要添加 aip.license 文件,并确保工程中无此文件
第5步: 设置资源路径和初始化SDK
请参考Demo工程中的AppDelegate.m文件
#define APP_ID @"" // 您创建应用的 AppID #define API_KEY @"" // 您创建应用的 API_KEY #define SECRET_KEY @"" // 您创建应用的 SECRET_KEY [BaiduARSDK setBundlePath:@"BaiduAR.bundle"]; // BaiduAR.bundle 为资源文件名 [BaiduARSDK setAppID: APP_ID APIKey: API_KEY andSecretKey: SECRET_KEY]; 注:如果您使用的是试用版,可以不填写SECRET_KEY
第6步:设置DuMix AR回调
  • BARViewClickEventBlock: 在使用者调起DuMix AR之前需要实现该回调,当DuMix AR内部需要打开一个scheme的时候会调用该block。
[arVC setClickEventBlock:^(NSString* url) { // your code }];
  • BARViewCloseEventBlock: 在使用者调起DuMix AR之前需要实现该回调,当ar内部需要关闭自身的时候会调用该block。
[arVC setCloseEventBlock:^(void){ // your code }];
  • BAROpenSDKShareBlock: 在使用者调起DuMix AR之前需要实现该回调,当ar内部需要分享一个H5页面的时候会调用该block。
[tVC setOpenSDKShareBlock:^(NSString* title, NSString*description, UIImage* thumbImg, NSString* h5Url, NSInteger shareType, NSString *videoOrImageUrl){ NSLog(@"%@", title);// H5页面的title NSLog(@"%@", description);// H5页面的描述 NSLog(@"%@",thumbImg);// 分享的缩略图信息 NSLog(@"%@", h5Url);// H5页面的url NSLog(@"%ld", shareType);// 分享的类型。0:代表分享的是图片 1:代表分享的是视频 NSLog(@"%@", videoOrImageUrl);// 分享的图片或者视频在远端的url }];
  • DumixARRefuseEventBlock: 在使用者调起DuMix AR之前需要实现该回调,当您的设备不支持当前case的时会调用该block。
[tVC setDumixARRefuseEventBlock:^(NSString *url) { NSLog(@"%@", url);// url为对应的帮助页面 }];
注:调起DuMix AR请参考Demo工程中的ARDemoDetailViewController.m文件
第7步:获取AR Key和AR Type
完成以上6步,您已经完成DuMix AR SDK的集成。但想要预览AR内容,您还需要在 AR内容平台 创建您自己的AR内容(DuMix AR提供了5个sample case)。AR项目创建完成后,平台会分配相应的AR Key和AR Type,您可以在“项目详情”页面查看。
注1:只有审核通过并上线的AR项目才能通过SDK预览;平台为每位正式版和试用版用户开通了审核和上线的权限,可自行审核并上线。
注2:在内容平台创建AR项目时请注意选择您需要发布该AR项目的渠道。
注3:如果您用本地识图(AR Type为6)和云端识图(AR Type为7)功能,AR Key可以传空。
值得注意的是:
在创建完试用或者正式项目后,获取到AppID 和API_KEY 后,需要点击创建AR内容制作。可以理解为上传资源包
这里我们选择SLAM模块
因为为试用项目 类别 ,项目名字 ,说明随便填写 ,渠道选择我们创建的项目
编辑完成后点击下一步会出现
这个编辑AR内容,此处为上传资源包,如果用官方demo中带的示例资源包 可在下载的sdk文件中的sample文件家中找到,格式为zip 由于我们选择的是SLAM模板所以我们就上传slam.zip资源包(其他模板对号入座)点击完成后发布上线
确保项目状态为已经上线。然后点击查看详情,即可获取项目中需要用到的AR Key以及AR Type
(使用请参考第7步)
 
第8步:运行您的App
请将第7步获取的AR Key和AR Type 填入到您的代码中,如下所示:
NSString *arValue = @"{\"ar_type\":\"your_type\",\"ar_key\":\"your_key\"}"; BARViewController *arVC = [BaiduARSDK viewController: arValue arInfo:nil]; 说明: arValue为JSON字符串,内容为:{"ar_type":ar种类,"ar_key":"case的arkey"} ar_type :AR类型,目前0代表2D跟踪类型,5代表SLAM类型,6为本地识图,7为云端识图 8为IMU。 ar_key:AR内容平台里申请的每个case的key 当ar_type为6或者7时,ar_key请传空字符串,即: 本地识图:{"ar_type":"6","ar_key":""} 云端识图:{"ar_type":"7","ar_key":""} 注:调起DuMix AR请参考Demo工程中的ARDemoDetailViewController.m文件
如何使用DuMixARDemo
iOS SDK提供了一个可快速运行的demo工程,该工程已经集成了SDK,您只需直接打开DuMixARDemo的工程文件并修改相应的参数即可运行。步骤如下:
1、工程设置,参考"SDK集成步骤"中的【第4步】;
2、获取AR Key和AR Type ,参考"SDK集成步骤"中的【第7步】;
3、将您获取的AR Key和AR Type填入到 ViewController.m 中,如下所示:
@{ @"demotype":@"ar", @"ar_key":请输入你上传的slam的包对应的arkey, @"ar_type":@"5", @"title":@"单目SLAM (Monocular SLAM)", @"describe":@"即时定位与跟踪的AR效果,将AR内容自然地呈现在现实空间中, 可广泛应用于3D人物角色、3D商品模型展示等场景,例如AR车展、AR宠物小精灵等。" }, 注 : 只需根据您的功能替换 AR Key 和 AR Type ,未用到的功能,注释即可
4、运行DuMixARDemo,即可预览AR内容。

转载于:https://www.cnblogs.com/lishilin1/p/7903798.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值