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內容。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM