1. 程式人生 > 其它 >Cesium 設定實體(模型、圖片)的朝向

Cesium 設定實體(模型、圖片)的朝向

一、需求來源

在專案中,需要繪製汽車並且設定其朝向,原始方式是使用模型繪製,便可以很容易的通過設定orientation屬性控制朝向,但是後期由於數量過大,要換成圖片,於是探究了一下圖片如何設定實體朝向。

本文將會把兩種實體朝向的設定方法都進行介紹。

二、先看效果

三、程式碼實現

model:

var position = Cesium.Cartesian3.fromDegrees(116.39, 39.9, 0)
viewer.entities.add({
    show: true,
    position: position,
    orientation: Cesium.Transforms.headingPitchRollQuaternion(
        position,
        new Cesium.HeadingPitchRoll(
            Cesium.Math.toRadians(45),    // 設定這個屬性即可(順時針旋轉的角度值)
            Cesium.Math.toRadians(0),
            Cesium.Math.toRadians(0)
        )
    ),
    model: {
        uri : '../../source/model/CesiumMilkTruck/CesiumMilkTruck.glb',
        scale: 50000
    }

image:

var position = Cesium.Cartesian3.fromDegrees(119.39, 39.9, 0)
viewer.entities.add({
    show: true,
    position: position,
    ellipse : {
        semiMinorAxis : 80000.0,
        semiMajorAxis : 80000.0,
        material: new Cesium.ImageMaterialProperty({
            image:'../../source/image/LaunchSite.png',    // 圖片以材質的方式填充
            color: Cesium.Color.RED,
            repeat : new Cesium.Cartesian2(1, 1)
        }),
       
        // rotation: 45,
        // 利用下面這個屬性設定素材填充時的選裝角度(順時針方向)
        stRotation : 45,
      },

});