使用说明
本文档主要介绍天工计划SDK(Android版)使用方法,利用SDK可以快速加载显示3D模型,展示交互式模型,加载AR场景 本文属于入门级文档,旨在帮助开发者快速学习Android SDK的使用并应用到自身开发工作。
获取应用授权码
请到登录http://ar.jd.com/newhome/home.do (京东天工AR开放平台), 在技术开放平台中进行登记,选择移动应用进行设置后,将该应用提交审核,只有审核通过的应用才能进行开发。
下载Android SDK
进入“技术开放平台”下载Android SDK,压缩包中包括Demo+SDK+模型资源+开发文档。其中的Demo使用SDK的各功能API;SDK包括.so和.aar文件。
部署模型资源包到设备
展示3D模型前,需要先把模型文件部署到SD卡上,可以使用以下命令完成
adb push aropen /sdcard/
Demo介绍
为了更好的理解天工计划SDK的使用,下面将通过一个简单的实例来讲解一下SDK各个关键API接口的使用。
1.开发工具
Android开发工具有很多,开发者可以根据自身的喜好来选择。在讲解本示例的时候,我们将使用Android Studio来一步步得分析。
2.工程配置
首先新建一个示例工程,按以下步骤进行配置。
i. 引入.aar文件:
如下图,在app\libs\目录下拷贝huawei_ar_v1.0.0.aar,jd_aropen_v1.0.0.aar文件。
3.AndroidManifest.xml设置
i. 添加必要的权限支持:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
4.3D模型加载显示Demo
关于界面的构建此处不进行介绍,下面着重介绍3D模型加载显示SDK各API的使用:
i. 初始化
ArOpenLib.initArOpenLib(getApplicationContext(), appKey, secretKey, new ArOpenLib.InitialCallback() {
@Override
public void onInitialized() {
初始化成功
}
@Override
public void onFailure(ArOpenLib.ErrorCode var1) {
初始化失败
}
});
注:此处的appKey ,secretKey就是在官网上申请的应用授权码。
ii. 3D模型加载显示
mAndroid3DView.loadBackgroundModel(bgfile, null);
mAndroid3DView.loadModel(modelfile, "", null);
注:bgfile是模型背景资源文件路径,modelfile 是3D模型资源文件路径 3D模型加载完成通过Android3DView.LoadModelCallBack Interface的onLoadModelComplete接口回调获取。
iii. 隐藏3D模型显示
mAndroid3DView.clearModels ();
此接口隐藏3D模型显示。
iv. 实现3D交互式模型加载显示
在ii中加载完成3D模型,在回调函数中创建交互式对象
creatInteractionEventResponse
v. Demo截图
编译运行,下图是3D模型加载界面:
5.AR场景3D模型加载显示Demo
下面着重介绍AR场景3D模型加载显示SDK各API的使用:
i. 加载AR显示资源
mAndroidARCoreView.setBaseDataFiles(planeFileName, positionFileName, arrowFileName, topFileName, downFileName, password);
设置AR平面,位置,箭头等资源位置
ii. 模型加载显示
模型加载请参考3D模型加载部分
6.Matrix场景3D模型加载显示Demo
下面着重介绍Matrix场景3D模型加载显示SDK各API的使用:
i. 模型加载显示
setMarkerAndModel(int modelType, String modelPath, String videoPath, String soundPath, String markerPath);
注:modelType是模型类型,1:模型 2:视频 modelPath 是3D模型资源文件路径 videoPath 是Video资源文件路径 soundPath 是声音文件路径 markerPath marker文件路径
识别完成后通过CameraView.MarkerListener 的onRecognized和onLost接口回调获取。
注:请使用matrix功能扫描aropen中的jiangxiaobai.jpg图片