让模型旋转一定度数,可以生成一个旋转矩阵,再用你模型本身的矩阵乘以旋转矩阵,得到一个旋转过后的矩阵,重新赋值给你的模型就好了
var m = tileset.modelMatrix;//获取你模型本身的矩阵
var RotateX=30;//你的旋转角度
//RotateX为旋转角度,转为弧度再参与运算
var m1 = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(RotateX));
//矩阵计算,用原来的矩阵乘以旋转矩阵,得到新的矩阵
m =Cesium.Matrix4.multiplyByMatrix3(m,m1,m);
//赋值
tileset.modelMatrix = m;
这个模式可以使用于所有类型的模型,因为cesium底层描述模型位置和姿态,最终都是一个四维的矩阵来描述的
如果解决了,希望采纳一下,有什么问题可以私信我
MainPosition = Cesium.Cartesian3.fromDegrees(110.32274018105146, 31.15093028478119, -420)
modelMatrix = Cesium.Transforms.headingPitchRollToFixedFrame(MainPosition, new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(-174.9), 0, 0));
tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
url: Tileset_Url,
modelMatrix: modelMatrix,
}));
改变 toRadians 里面的值,你试下这个看看行不行