产品服务
解决方案
文档与支持
定价

绘制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)

绘制效果如图:

绘制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);

绘对应展示效果如下:

上一篇

位置短地址分享

下一篇

请求状态码说明

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