Cesium加载大量模型(Model)卡顿问题

本文介绍了在Cesium中处理大量模型时,由Entity加载方式转向更高效的Primitive加载方法,以解决性能问题,如卡顿和资源占用。作者展示了如何使用ModelInstanceCollection来添加和管理模型实例矩阵。
摘要由CSDN通过智能技术生成

1、cesium官方提供了两种加载Model方式(EntityPrimitive

        在使用Entity加载少量Model时并没有什么大问题,但是数量达到成千上万,这个时候Entity的劣势就显现出来了,页面会非常卡顿,占用很高,然后就在网上查找资料,官方还提供了一种加载方式Primitive,方法如下:

let instances = []
let position = new Cesium.Cartesian3.fromDegrees(lng, lat, alt)
let modelMatrix = Cesium.Transforms.headingPitchRollToFixedFrame(
    position,
    new Cesium.HeadingPitchRoll(0, 0, 0)
)
modelMatrix = Cesium.Matrix4.multiplyByUniformScale(
    modelMatrix,
    1,
    modelMatrix
)
instances.push({ modelMatrix })
let primitive = viewer.scene.primitives.add(
    new Cesium.ModelInstanceCollection({
       url: '',//文件路径
       instances,
       destroyPrimitives: false
    })
)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值