AR模型可视化(其它模型)
不能转为GLTF模型的数据,可以通过SuperMap iDesktop将数据添加到场景中,然后在切成s3mb或webp缓存,该缓存可以在AR场景中展示。需要注意的是,目前只支持平面场景数据的展示,不支持球面场景。其展示效果,如下图:
图:AR模型可视化(其它模型) |
必备类库
进行模型切缓存数据AR可视化必需的类库为com.supermap.realspace.jar、com.supermap.data.jar,必需的so库为libimb_v1012.so。开发环境要求AndroidStudio 3.6.0以上,gradle 5.6.4以上。
关键代码
//根据实际情况,创建场景模型摆放位置
Pose mPose = Pose.makeTranslation(0, 0, 0);
Anchor mAnchor = m_session.createAnchor(mPose);
//将坐标传递给场景控制
m_sceneControl.addAnchor(mAnchor);
//实例化工作空间
if (workspace == null) {
workspace = new Workspace();
workspaceConnectionInfon = new WorkspaceConnectionInfo();
}
//设置数据路径
workspaceConnectionInfon.setServer(path);
workspaceConnectionInfon.setType(WorkspaceType.SXWU);
//将工作空间与场景关联
m_sceneControl.getScene().setWorkspace(workspace);
//打开工作空间
if (workspace.open(workspaceConnectionInfon)) {
m_sceneControl.getScene().open(workspace.getScenes().get(0));
layerCount = m_sceneControl.getScene().getLayers().getCount();
layer3Ds = m_sceneControl.getScene().getLayers();
}
//根据需要,调整整个场景的旋转、高低,比例
arControl.setSceneTransLation(0, 0, m_planeHeight);
arControl.setSceneRotation(0, 0, 180);
arControl.setSceneScale(1,1,1);