文章来源地址https://www.toymoban.com/news/detail-735201.html
let viewer = new Cesium.Viewer("cesiumContainer");
let scene = viewer.scene;
//旋转角度
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);
// 创建Geometry对象
var geometry = new Cesium.BoxGeometry.fromDimensions({
dimensions: new Cesium.Cartesian3(50000.0, 50000.0, 50000.0)
});
// 创建Appearance对象
var appearance = new Cesium.MaterialAppearance({
material: Cesium.Material.fromType('Color', {
color: Cesium.Color.RED
})
});
let instance = new Cesium.GeometryInstance({
geometry: geometry
})
// 创建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);
文章来源:https://www.toymoban.com/news/detail-735201.html
到了这里,关于Cesium 更新primitive矩阵,使primitive移动和旋转,不用每次删除再创建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!