天天看點

Cesium系列:加載單個模型

Cesium支援加載單個三維模型,常用的模型格式為:gltf,glb,這些模型都可以從3dmax、obj等三維模型的格式轉換過來,Cesium的官方網站也列舉了加載單個三維模型的方式,根據詳細的代碼列舉一下。

Cesium系列:加載單個模型

詳細的代碼在Cesium示例:3D Models.html頁面中

樣例的模型檔案在:SampleData的檔案夾中

以下是加載模型的詳細代碼:

//位置資訊,x、y、高度資訊

      var position = Cesium.Cartesian3.fromDegrees(-123.0744619, 44.0503706, height);

     //模型的三個方向轉角,在三維立體空間中的三個轉角方向,可以參見上圖

//的小飛機示意圖(其中direction對應heading ,tilt對應pitch)

    var heading = Cesium.Math.toRadians(135);

    var pitch = 0;

    var roll = 0;

    var hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);

 //要根據位置和設定的轉角資訊做一個轉換

    var orientation = Cesium.Transforms.headingPitchRollQuaternion(position, hpr);

//單個對象一般都放在實體中,添加一個實體對象

    var entity = viewer.entities.add({

 //設定位置和轉向資訊

        name : url,

        position : position,

        orientation : orientation,

        model : {

          //模型的路徑

            uri : url,

          //模型的比例

           scale:1.0,

         //最小的像素尺寸

            minimumPixelSize : 128,

         //最大顯示比例

            maximumScale : 20000

        }

    });

模型的加載效果,代碼使用時,去掉注釋資訊: