绘制3D模型
地图SDK支持3D模型绘制,用于在地图上展示3D模型,目前支持obj+mtl文件格式模型加载。(注意:模型中的图片必须支持透明Alpha通道)
通过I3DModelOption来设置3D模型的属性。
| 参数名 | 类型 | 说明 |
|---|---|---|
modelPath | string | 模型文件沙盒路径(必填)。用于指定模型文件在资源中的位置。 |
modelName | string | 模型文件名(必填),用于在地图中唯一标识该模型。 |
position | LatLng | 模型地理坐标(必填),指定模型放置的经纬度位置。 |
bm3DModelType | BM3DModelType | 模型文件类型(默认:BM3DModelType.BM3DModelTypeObj)。支持:.obj(0)、.gltf(1)。 |
alwaysShow | boolean | 模型是否不被楼栋遮挡。true:始终显示在楼栋上层;false:被楼栋遮挡。 |
scale | number | 模型缩放比例(默认:1.0)。值越大模型越大,0 时不可见。 |
zoomFixed | boolean | 缩放比例是否不随地图缩放变化(默认:false)。true表示固定大小。 |
rotateX | number | 模型绕 X 轴旋转角度(默认:0.0)。取值范围 [0, 360]。 |
rotateY | number | 模型绕 Y 轴旋转角度(默认:0.0)。取值范围 [0, 360]。 |
rotateZ | number | 模型绕 Z 轴旋转角度(默认:0.0)。取值范围 [0, 360]。 |
offsetX | number | X 轴偏移像素(默认:0.0)。正值向右,负值向左。 |
offsetY | number | Y 轴偏移像素(默认:0.0)。正值向下,负值向上。 |
offsetZ | number | Z 轴偏移像素(默认:0.0)。影响模型在 3D 空间的前后层级。 |
animationIsEnable | boolean | 模型骨骼动画是否启用(默认:false)。仅 GLTF 模型支持。 |
animationRepeatCount | number | 动画重复执行次数(默认:0 表示无限循环)。 |
animationSpeed | number | 模型动画播放倍速(默认:1.0)。 |
animationIndex | number | 当前播放的动画索引(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)
绘制效果如图:

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);
绘对应展示效果如下:
上一篇
下一篇
本篇文章对您是否有帮助?