产品服务
解决方案
文档与支持
定价
绘制3D模型
下载开发文档

地图SDK支持3D模型绘制,用于在地图上展示3D模型,目前支持obj+mtl文件格式模型加载。(注意:模型中的图片必须支持透明Alpha通道)

通过I3DModelOption来设置3D模型的属性。

参数名类型说明
modelPathstring模型文件沙盒路径(必填)。用于指定模型文件在资源中的位置。
modelNamestring模型文件名(必填),用于在地图中唯一标识该模型。
positionLatLng模型地理坐标(必填),指定模型放置的经纬度位置。
bm3DModelTypeBM3DModelType模型文件类型(默认:BM3DModelType.BM3DModelTypeObj)。支持:.obj(0)、.gltf(1)。
alwaysShowboolean模型是否不被楼栋遮挡。true:始终显示在楼栋上层;false:被楼栋遮挡。
scalenumber模型缩放比例(默认:1.0)。值越大模型越大,0 时不可见。
zoomFixedboolean缩放比例是否不随地图缩放变化(默认:false)。true表示固定大小。
rotateXnumber模型绕 X 轴旋转角度(默认:0.0)。取值范围 [0, 360]。
rotateYnumber模型绕 Y 轴旋转角度(默认:0.0)。取值范围 [0, 360]。
rotateZnumber模型绕 Z 轴旋转角度(默认:0.0)。取值范围 [0, 360]。
offsetXnumberX 轴偏移像素(默认:0.0)。正值向右,负值向左。
offsetYnumberY 轴偏移像素(默认:0.0)。正值向下,负值向上。
offsetZnumberZ 轴偏移像素(默认:0.0)。影响模型在 3D 空间的前后层级。
animationIsEnableboolean模型骨骼动画是否启用(默认:false)。仅 GLTF 模型支持。
animationRepeatCountnumber动画重复执行次数(默认:0 表示无限循环)。
animationSpeednumber模型动画播放倍速(默认:1.0)。
animationIndexnumber当前播放的动画索引(GLTF 模型可包含多帧动画)。
示例代码

示例代码如下:

const model = new Bd_3DModel({
position: new LatLng(39.94923, 116.397428),
modelPath: filePath,
modelName: 'among_us',
bm3DModelType: SysEnum.BM3DModelType.BM3DModelTypeObj,
animationIsEnable: true,
scale: 5
});
this.mapController?.addOverlay(model)

绘制效果如图:

绘制3D模型示例
GLTF动画

其对应的配置参数如下:

const model = new Bd_3DModel({
position: new LatLng(39.94923, 116.397428),
modelPath: filePath,
modelName: 'scenes',
bm3DModelType: SysEnum.BM3DModelType.BM3DModelTypeglTF, //动画类型
animationIsEnable: true,
scale: 10
});
this.mapController?.addOverlay(model);

绘对应展示效果如下:

上一篇

建筑物

下一篇

地图控件

本篇文章对您是否有帮助?