我决定不从Babylonjs 基础来讲了 直接整合mapbox与babylonjs可视化来讲
我整合一个类库 后续不断更新中
npm i @haibalai/mapbox-babylonjs
初始化mapbox-babylonjs 类库, map 是mapbox.gl 的map 对象
import { BabylonMapManager } from “@haibalai/mapbox-babylonjs”;
BabylonMapManager.init(map);
构建房子
let map = MapManager.getMap(this.mapId);
let scene = BabylonMapManager.getScene(map);
const material = new BABYLON.StandardMaterial(“material”, scene);
material.diffuseColor = new BABYLON.Color3(0, 1, 0);
material.backFaceCulling = false;
//texture
const roofMat = new BABYLON.StandardMaterial(“roofMat”, scene);
roofMat.diffuseTexture = new BABYLON.Texture(“https://assets.babylonjs.com/environments/roof.jpg”);
const boxMat = new BABYLON.StandardMaterial(“boxMat”);
boxMat.diffuseTexture = new BABYLON.Texture(“https://assets.babylonjs.com/environments/cubehouse.png”)
const faceUV = [];
faceUV[0] = new BABYLON.Vector4(0.5, 0.0, 0.75, 1.0); //rear face
faceUV[1] = new BABYLON.Vector4(0.0, 0.0, 0.25, 1.0); //front face
Mapbox 与 Babylon.js 可视化 给房子上贴图 - 小专栏