viewer.scene.globe.depthTestAgainstTerrain = true
var tilesetModel = new Cesium.Cesium3DTileset({
url: url,
minimumPixelSize: 640,
})
tilesetModel.readyPromise.then(function (argument) {
var params = {
tx: 120.72558333333333 - .00419,
ty: 31.043325 + .00159,
tz: -80, //修改高度
rx: 30,
ry: 0,
rz: -65 //修改旋转
}
update3dtilesMaxtrix(tilesetModel)
function update3dtilesMaxtrix(tileset) {
//旋转
var mx = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(params.rx))
var my = Cesium.Matrix3.fromRotationY(Cesium.Math.toRadians(params.ry))
var mz = Cesium.Matrix3.fromRotationZ(Cesium.Math.toRadians(params.rz))
var rotationX = Cesium.Matrix4.fromRotationTranslation(mx)
var rotationY = Cesium.Matrix4.fromRotationTranslation(my)
var rotationZ = Cesium.Matrix4.fromRotationTranslation(mz)
//平移 修改经纬度
var position = Cesium.Cartesian3.fromDegrees(params.tx , params.ty, params.tz)
var m = Cesium.Transforms.eastNorthUpToFixedFrame(position)
//旋转、平移矩阵相乘
Cesium.Matrix4.multiply(m, rotationX, m)
Cesium.Matrix4.multiply(m, rotationY, m)
Cesium.Matrix4.multiply(m, rotationZ, m)
//缩放 修改缩放比例
var scale = Cesium.Matrix4.fromUniformScale(0.95)
Cesium.Matrix4.multiply(m, scale, m)
//赋值给tileset
tilesetModel._root.transform = m
}
viewer.scene.primitives.add(tilesetModel)
viewer.zoomTo(tilesetModel)
}).otherwise(function (error) {
new Error(error)
})