CESIUM-大量model加载(ModelInstanceCollection)

    上一篇介绍了加载大量点数据用primitives加载billboardcollection的方式,当遇到3d model时,若数据量很大,则需要用ModelInstanceCollection。

//instances是数组,循环创建instance并放到数组里
var modelMatrix = Cesium.Transforms.headingPitchRollToFixedFrame(
        position,
        new Cesium.HeadingPitchRoll(heading, pitch, roll)
      );
      Cesium.Matrix4.multiplyByUniformScale(
        modelMatrix,
        scale,
        modelMatrix
      );

      instances.push({
        modelMatrix: modelMatrix,
      }); 
//collection

var collection = scene.primitives.add(
    new Cesium.ModelInstanceCollection({
      url: url,
      instances: instances,
    })
  );

下面是测试结果,同时创建10000model,通过ModelInstanceCollection,fps为60,而普通创建则为30左右。(左为普通,右为ModelInstanceCollection)

 

 ModelInstanceCollection的相关属性可以查阅文档。

 

 备注:

默认这个文档是看不到的,需要打开源码ModelInstanceCollection.js,将@privite修改为@public,然后运行npm run generateDocumentation即可

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论
Cesium是一个用于开发三维地球应用程序的JavaScript库。如果要在Cesium加载和显示GIF文件,你可以通过使用Cesium的ImageMaterialProperty来实现。首先,你需要将GIF文件转换为使用DataURL格式表示的图像资源,然后将其作为纹理传递给ImageMaterialProperty。 使用ImageMaterialProperty加载GIF主要分为以下几个步骤: 1. 将GIF文件转换为DataURL格式的图像资源。你可以使用一个JavaScript库,例如gif.js或一个在线转换工具来完成这个过程。 2. 在Cesium中创建一个ImageMaterialProperty对象。使用ImageMaterialProperty构造函数,设置其url属性为转换后的DataURL。 3. 将ImageMaterialProperty应用于需要加载GIF的三维对象。你可以将它设置为Primitive或者Entity对象的material属性。 例如,使用ImageMaterialProperty来加载GIF镜面水面和GIF动态图: ```JavaScript var viewer = new Cesium.Viewer('cesiumContainer'); var mirrorMaterial = new Cesium.ImageMaterialProperty({ image: 'data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=', repeat: new Cesium.Cartesian2(4.0, 4.0) }); var position = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883, 1000.0); viewer.entities.add({ rectangle: { coordinates: Cesium.Rectangle.fromDegrees(-92.0, 20.0, -86.0, 27.0), height: 0.0, material: mirrorMaterial } }); var entity = viewer.entities.add({ position: position, billboard: { image: 'data:image/gif;base64,R0lGODlhDwAPAKECAAAAzMzM/////wAAACwAAAAADwAPAAACIISPeQHsrZ5ModrLlN48CXF8m2uG7v/EGCg4SFhoeI4BACH5BAEKAAQALAAAAAAPAA8AAAMuSLrc/jDKZ02WqsufQuGlTNL4Xi7EYlmgQBpXQBQA7', height: 50.0, width: 50.0 } }); viewer.zoomTo(viewer.entities); ``` 通过使用这些步骤,在Cesium加载和显示GIF文件就变得非常容易了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

s000rd

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值