Cesium 与 Babylon.js 可视化 复制一个模型

我决定不从Babylonjs 基础来讲了 直接整合cesium与babylonjs可视化来讲

我整合一个类库 后续不断更新中

  • npm i @haibalai/cesium-babylonjs

 

初始化cesium-babylonjs 类库, viewer 是 Cesium 的 viewer对象

  • import { BabylonMapManager } from "@haibalai/cesium-babylonjs";
  • BabylonMapManager.init(viewer);

 

添加正方体

  • import { BabylonMapManager } from "@haibalai/cesium-babylonjs";
  • let scene = BabylonMapManager.getScene(viewer);
  • 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:2,
  • size: 100
  • }, scene);
  • box.material = boxMat;
  • box.position.y = 40;
  • // BabylonMapManager.addToMap(box,[113.87629508972168, 22.544824222364753, 100]);
  • const roof = BABYLON.MeshBuilder.CreateCylinder("roof", {
  • sideOrientation:2,
  • diameter: 130, height: 120, tessellation: 3
  • },
  • scene);
  • roof.material = roofMat;

Cesium 与 Babylon.js 可视化 复制一个模型 - 小专栏

posted @   haibalai  阅读(53)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示