Mapbox 与 Babylon.js 可视化 联合两个mesh

我决定不从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("");
  • const boxMat = new BABYLON.StandardMaterial("boxMat");
  • boxMat.diffuseTexture = new BABYLON.Texture("")
  • 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
  • faceUV[2] = new BABYLON.Vector4(0.25, 0, 0.5, 1.0); //right side
  • faceUV[3] = new BABYLON.Vector4(0.75, 0, 1.0, 1.0); //left side
  • const box = BABYLON.MeshBuilder.CreateBox("box", {
  • faceUV: faceUV, wrap: true, sideOrientation:1,
  • size: 100

Mapbox 与 Babylon.js 可视化 联合两个mesh - 小专栏

posted @ 2022-11-23 16:42  haibalai  阅读(19)  评论(0编辑  收藏  举报