在已知实体的航向俯仰角滚动角时设置实体的方向可使用方法
Cesium.Transforms.headingPitchRollQuaternion(origin, headingPitchRoll, ellipsoid, fixedFrameTransform, result)
其中,
origin: 中心点
headingPitchRoll: 航向,俯仰和滚转
ellipsoid: (可选)三维场景的椭球体
fixedFrameTransform: (可选)从参考帧到提供的椭球的固定参考帧的4x4变换矩阵
result: (可选)要存储结果的对象
下面是官网的示例
var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
var heading = -Cesium.Math.PI_OVER_TWO;
var pitch = Cesium.Math.PI_OVER_FOUR;
var roll = 0.0;
var hpr = new HeadingPitchRoll(heading, pitch, roll);
var quaternion = Cesium.Transforms.headingPitchRollQuaternion(center, hpr);
具体到实体设置,下面以添加模型实体为例设置实体的方向
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(10),
Cesium.Math.toRadians(0),
Cesium.Math.toRadians(0)
)
),
model: {
uri : '/static/model/leida.gltf',
scale: 1000
}
})