Cesium支援加載單個三維模型,常用的模型格式為:gltf,glb,這些模型都可以從3dmax、obj等三維模型的格式轉換過來,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
}
});
模型的加載效果,代碼使用時,去掉注釋資訊: