文章來源地址http://www.zghlxwxcb.cn/news/detail-735201.html
let viewer = new Cesium.Viewer("cesiumContainer");
let scene = viewer.scene;
//旋轉(zhuǎn)角度
let hpr = new Cesium.HeadingPitchRoll(0, 0, 0);
//位置點
let point = new Cesium.Cartesian3(110.0744619,30.0503706,100);
let origin = Cesium.Cartesian3.fromDegrees(point.x,point.y,point.z);
//初始的矩陣
const modelMatrix = Cesium.Transforms.headingPitchRollToFixedFrame(origin,hpr);
// 創(chuàng)建Geometry對象
var geometry = new Cesium.BoxGeometry.fromDimensions({
dimensions: new Cesium.Cartesian3(50000.0, 50000.0, 50000.0)
});
// 創(chuàng)建Appearance對象
var appearance = new Cesium.MaterialAppearance({
material: Cesium.Material.fromType('Color', {
color: Cesium.Color.RED
})
});
let instance = new Cesium.GeometryInstance({
geometry: geometry
})
// 創(chuàng)建Primitive對象
var primitive = new Cesium.Primitive({
geometryInstances: instance,
appearance: appearance,
modelMatrix: modelMatrix
});
// 添加Primitive對象到場景中
primitive = scene.primitives.add(primitive);
let rotateZ = 0;
setInterval(function(){
rotateZ += 0.01;
point.x += 0.01;
origin = Cesium.Cartesian3.fromDegrees(point.x,point.y,point.z);
hpr = new Cesium.HeadingPitchRoll(rotateZ, 0, 0);
let temp = Cesium.Transforms.headingPitchRollToFixedFrame(origin,hpr);
primitive.modelMatrix = temp;
},10);
文章來源:http://www.zghlxwxcb.cn/news/detail-735201.html
到了這里,關于Cesium 更新primitive矩陣,使primitive移動和旋轉(zhuǎn),不用每次刪除再創(chuàng)建的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!