天天看点

Cesium加载GLB和GLTF模型文件踩坑实录

遇到问题各种搜索引擎走了一波都只简单的说了相同的加载方法,可以想象有多少人看了后心里暗骂一句这XX不都是相同的文章吗,有意思吗?

最终在大佬的帮助下解决了加载模型的问题

要想加载在cesium中加载本地的glb和gltf格式等相关的模型文件需要将模型文件放在Public下

Cesium加载GLB和GLTF模型文件踩坑实录

代码贴上:

// 加载放在阿里云上的kml文件
      var kml = Cesium.KmlDataSource.load(
//      你自己的文件URL
        'http://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.kml',
        {
          camera: viewer.scene.camera,
          canvas: viewer.scene.canvas,
          clampToGround: true // 开启贴地
        }
      )
      viewer.dataSources.add(kml).then(function (dataSource) {
        var entities = dataSource.entities.values
        for (var i = 0; i < entities.length; i++) {
          var entity = entities[i] // 设置每个entity的样式
          entity.billboard.disableDepthTestDistance = Number.POSITIVE_INFINITY // 去掉地形遮挡
          entity.billboard.color = Cesium.Color.WHITE
          entity.billboard.image =
          //贴图URL
            'http://xxxxxxxxxxxxxxxxxxxxxxxx.svg'
        }
      })
      
    
      加载gltf格式数据到cesium
      var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(
        Cesium.Cartesian3.fromDegrees(103.59730016, 28.303110843, 0)
      )

      // gltf数据加载位置
      scene.primitives.add(
        Cesium.Model.fromGltf({
          url: 'XJ27.glb', // 本地文件
          modelMatrix: modelMatrix,
          scale: 1 // 放大倍数
        })
      )
           

原创不易,转载请声明出处

继续阅读