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(map);
  • const fountainProfile = [
  • new BABYLON.Vector3(0, 0, 0),
  • new BABYLON.Vector3(10, 0, 0),
  • new BABYLON.Vector3(10, 4, 0),
  • new BABYLON.Vector3(8, 4, 0),
  • new BABYLON.Vector3(8, 1, 0),
  • new BABYLON.Vector3(1, 2, 0),
  • new BABYLON.Vector3(1, 15, 0),
  • new BABYLON.Vector3(3, 17, 0)
  • ];
  • //Create lathe
  • const fountain = BABYLON.MeshBuilder.CreateLathe("fountain", {shape: fountainProfile, sideOrientation: 1}, scene);
  • BabylonMapManager.addToMap(fountain,[113.87629508972168, 22.544824222364753,0]);
  • // Create a particle system
  • var particleSystem = new BABYLON.ParticleSystem("particles", 5000, scene);
  • //Texture of each particle
  • particleSystem.particleTexture = new BABYLON.Texture("", scene);
  • // Where the particles come from
  • particleSystem.emitter = BabylonMapManager.getPointVector([113.87629508972168, 22.544824222364753,0])
  • particleSystem.minEmitBox = new BABYLON.Vector3(-1, 0, 0); // Starting all from
  • particleSystem.maxEmitBox = new BABYLON.Vector3(1, 0, 0); // To...
  • // Colors of all particles
  • particleSystem.color1 = new BABYLON.Color4(0.7, 0.8, 1.0, 1.0);
  • particleSystem.color2 = new BABYLON.Color4(0.2, 0.5, 1.0, 1.0);
  • particleSystem.colorDead = new BABYLON.Color4(0, 0, 0.2, 0.0);
  • // Size of each particle (random between...
  • particleSystem.minSize = 0.1;
  • particleSystem.maxSize = 0.8;

Cesium 与 Babylon.js 可视化 添加喷泉粒子 - 小专栏

posted @ 2023-03-15 09:44  haibalai  阅读(92)  评论(0编辑  收藏  举报