更新时间:2023-04-10
Android 7.4.0 起地图SDK支持3D模型绘制,用于在地图上展示3D模型,目前支持obj+mtl文件格式模型加载。(注意:模型中的图片必须支持透明Alpha通道)
绘制3D模型
通过BM3DModelOptions类来设置3D模型的属性。
示例代码如下:
BM3DModelOptions bm3DModelOptions = new BM3DModelOptions(); // 设置模型文件路径(必填) bm3DModelOptions.setModelPath(parentPath + "/model3D"); // 设置模型文件名(必填) bm3DModelOptions.setModelName("among_us"); bm3DModelOptions.setScale(50.0f); // 设置经纬度(必填) bm3DModelOptions.setPosition(new LatLng(39.915119,116.403963)); mBM3DModel = (BM3DModel) mBaiduMap.addOverlay(bm3DModelOptions);
绘制效果如图:
GLTF动画
自v7.5.7版本,Android地图sdk支持gltf的模型播放动画。
其对应的配置参数如下:
/** * 播放模型骨骼动画 gltf 默认为false:添加后不执行动画 * @return */ public BM3DModelOptions setSkeletonAnimationEnable(boolean isAnimation) /** * 模型动画播放次数 默认0:动画将一直执行动画 * @param animationRepeatCount * @return */ public BM3DModelOptions animationRepeatCount(int animationRepeatCount) /** * 模型动画播放速度 * @param animationSpeed * @return */ public BM3DModelOptions animationSpeed(float animationSpeed) /** * 设置模型动画索引值 (播放哪种动画)默认:1.0, * @return */ public BM3DModelOptions animationIndex(int animationIndex)
绘对应展示效果如下:
https://mapopen-pub-androidsdk.cdn.bcebos.com/map/7_5_7/3dModel_1.mp4