6.Cesium粒子發射器火災效果
阿新 • • 發佈:2021-01-23
技術標籤:Cesium
程式碼
var staticPosition = Cesium.Cartesian3.fromDegrees( -75.59742934002912,40.03824624260394,8);
var entity44 = this.viewer.entities.add({
position : staticPosition
});
function computeModelMatrix(entity, time) {
var position = Cesium.Property. getValueOrUndefined(entity.position,time);
let modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(position);
return modelMatrix;
}
function computeEmitterModelMatrix() {
let hpr = Cesium.HeadingPitchRoll.fromDegrees(0, 0, 0);
let trs = new Cesium.TranslationRotationScale();
trs.translation = Cesium.Cartesian3.fromElements(2.5,4, 1);
trs.rotation = Cesium.Quaternion.fromHeadingPitchRoll(hpr);
let result=Cesium.Matrix4.fromTranslationRotationScale(trs);
return result
}
this. viewer.scene.primitives.add(new Cesium.ParticleSystem({
image : require('../../assets/img/fire.png'),
startColor : Cesium.Color.RED.withAlpha(0.7),
endColor : Cesium.Color.YELLOW.withAlpha(0.3),
startScale : 0,
endScale : 10,
minimumParticleLife : 1,
maximumParticleLife : 6,
minimumSpeed :1,
maximumSpeed : 4,
imageSize : new Cesium.Cartesian2(5, 5),
emissionRate : 4,//每秒要發射的粒子數
lifetime : 160.0,//粒子系統發射粒子的時間(以秒為單位)
emitter : new Cesium.CircleEmitter(5.0),
modelMatrix : computeModelMatrix(entity44, Cesium.JulianDate.now()),
emitterModelMatrix : computeEmitterModelMatrix()
}));
fire.png圖片放這裡
參考 :https://blog.csdn.net/a873054267/article/details/86251663