Mapbox 与 Babylon.js 可视化 给房子上贴图
我决定不从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