mapbox gl 3d模型贴图的贴图实现方式

本文介绍如何使用Mapbox API实现3D建筑渲染,包括设置图层样式、高度及颜色,以及添加纹理贴图的方法。特别注意贴图的大小和平铺效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

this.map.on(‘load’, function() {
that.map.addLayer({
‘id’: ‘3d-buildings’,
‘source’: ‘composite’,
‘source-layer’: ‘building’,
‘filter’: [’==’, ‘extrude’, ‘true’],
‘type’: ‘fill-extrusion’,
‘minzoom’: 5,
‘paint’: {
‘fill-extrusion-color’: ‘#0166b6’,
‘fill-extrusion-height’: [“interpolate”,[“linear”],[“zoom”],5, 0,5.05,[“get”, “height”]],
‘fill-extrusion-base’: [“interpolate”,[“linear”],[“zoom”],5, 0,5.05,[“get”, “min_height”]],
‘fill-extrusion-pattern’:“catcat”,
‘fill-extrusion-opacity’: 1
},
})
//楼顶
that.map.addLayer({
“id”: “buildingtop”,
‘type’: ‘fill-extrusion’,
“source”: “composite”,
“minzoom”: 5,
“source-layer”: “building”,
‘paint’: {
‘fill-extrusion-color’: “#32373b”,
‘fill-extrusion-height’: [“interpolate”,[“linear”],[“zoom”],5, 0,5.05,[“get”, “height”]],
‘fill-extrusion-base’: [“interpolate”,[“linear”],[“zoom”],5, 0,5.05,[“get”, “height”]],
‘fill-extrusion-opacity’: 1
}
})
that.map.loadImage(“http://127.0.0.1:8081/img/texture.png”, function (error, image) {
if (error) throw error;
that.map.addImage(“catcat”, image);
})
});
在这里插入图片描述
亲测可用:但是要注意的是,这个贴图会被平铺,所以你的图片要尽量做的小一点

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值