cesium创建弹跳点

startBounce() {
      const image = require('./logo.png');
      const height = 44;
      const e = {
        lng: 116.4,
        lat: 39.14,
        opts: {
          image,
          bounceHeight: 100,
          increment: 5
        }
      };
      let t = 0;
      let s = 0;
      // 跳动可上升的最大值
      var addHei = 100;
      // 步长
      var inc = 0.05;
      const i = height + addHei; // i = 1100
      earth.czm.viewer.entities.add({
        position: new Cesium.CallbackProperty(() => {
          s = s + inc;
          t = t + s;
          // 当点位的高度到达峰值时开始下降
          if (t > addHei) {
            t = addHei;
            s *= -1;
            // 高度值减半
            s *= 0.55;
          }
          return Cesium.Cartesian3.fromDegrees(116.39100974877458, 39.91160818097693, i - t);
        }, false),
        billboard: { image }
      });
    },
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cesium中,可以通过创建自定义的Geometry形状并制定贴图规则,将图片作为材质贴到自己的geometry上,从而实现流体效果。具体步骤如下: 1. 首先,需要创建一个自定义的Geometry形状。可以使用Cesium提供的几何形状构造函数,如Cesium.PolygonGeometry、Cesium.RectangleGeometry等,或者使用Cesium的Primitive类型来创建自定义的几何形状。 2. 在创建自定义的Geometry形状时,可以通过指定贴图规则来将图片作为材质贴到几何形状上。可以使用Cesium.Material类型的子类,如Cesium.ImageMaterialProperty、Cesium.TextureMaterialProperty等来指定贴图规则。 3. 通过Cesium.Primitive类型的实例来加载自定义的几何形状。可以使用Cesium.Primitive类型的构造函数来创建一个Primitive实例,并将自定义的几何形状作为参数传入。 4. 最后,可以通过更换Primitive的appearance属性来实现动态切换图片。可以使用Cesium.MaterialAppearance类型的实例来创建一个新的appearance,并将其赋值给Primitive的appearance属性。 下面是一个示例代码,演示了如何在Cesium创建流体效果: ```javascript // 创建自定义的Geometry形状 var geometry = new Cesium.RectangleGeometry({ rectangle: Cesium.Rectangle.fromDegrees(-180, -90, 180, 90), vertexFormat: Cesium.VertexFormat.POSITION_ONLY }); // 指定贴图规则,将图片作为材质贴到几何形状上 var material = new Cesium.ImageMaterialProperty({ image: 'path/to/your/image.png', repeat: new Cesium.Cartesian2(1.0, 1.0) }); // 加载自定义的几何形状 var primitive = new Cesium.Primitive({ geometryInstances: new Cesium.GeometryInstance({ geometry: geometry, attributes: { color: Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.WHITE) } }), appearance: new Cesium.MaterialAppearance({ material: material }) }); // 将primitive添加到场景中 viewer.scene.primitives.add(primitive); ``` 请注意,上述代码中的路径需要根据你的项目实际情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值