本身的汽车尾气粒子效果:在汽车模型的中间发射的↓↓↓↓↓↓↓↓↓↓↓
Mars3d实例中是使用transY偏移值实现汽车尾气粒子效果从汽车屁股开始发射效果:
// 动态运行车辆的尾气粒子效果
function addDemoGraphic4(graphicLayer) {
const fixedRoute = new mars3d.graphic.FixedRoute({
speed: 120,
positions: [
[117.226585, 31.818437, 32.41],
[117.226838, 31.811681, 28.23]
],
clockLoop: true, // 是否循环播放
model: {
url: "//data.mars3d.cn/gltf/mars/qiche.gltf",
scale: 0.2
}
})
graphicLayer.addGraphic(fixedRoute)
fixedRoute.start() // 启动漫游
const particleSystem = new mars3d.graphic.ParticleSystem({
position: fixedRoute.property,
style: {
image: "./img/particle/smoke.png",
particleSize: 12, // 粒子大小(单位:像素)
emissionRate: 20.0, // 发射速率 (单位:次/秒)
pitch: 40, // 俯仰角
// gravity: -1, // 重力因子,会修改速度矢量以改变方向或速度(基于物理的效果)
transY: 8.0, // 偏移值Y,尾气在车辆后面一些
maxHeight: 1000, // 超出该高度后不显示粒子效果
startColor: Cesium.Color.GREY.withAlpha(0.7), // 开始颜色
endColor: Cesium.Color.WHITE.withAlpha(0.0), // 结束颜色
startScale: 1.0, // 开始比例(单位:相对于imageSize大小的倍数)
endScale: 5.0, // 结束比例(单位:相对于imageSize大小的倍数)
minimumSpeed: 1.0, // 最小速度(米/秒)
maximumSpeed: 4.0 // 最大速度(米/秒)
},
attr: { remark: "车辆尾气" }
})
graphicLayer.addGraphic(particleSystem)
}
示例链接:功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技
相关效果:
粒子本身的参数emitterModelMatrix也可以实现从车屁股开始发射效果:
// 动态运行车辆的尾气粒子效果
function addDemoGraphic4(graphicLayer) {
const fixedRoute = new mars3d.graphic.FixedRoute({
speed: 120,
positions: [
[117.226585, 31.818437, 32.41],
[117.226838, 31.811681, 28.23]
],
clockLoop: true, // 是否循环播放
model: {
url: "//data.mars3d.cn/gltf/mars/qiche.gltf",
scale: 0.2
},
attr: { remark: "车辆尾气emitterModelMatrix实现" }
})
graphicLayer.addGraphic(fixedRoute)
fixedRoute.start() // 启动漫游
const particleSystem = new mars3d.graphic.ParticleSystem({
position: fixedRoute.property,
emitterModelMatrix: Cesium.Matrix4.fromTranslation( new Cesium.Cartesian3(0, 15, 0)),
style: {
image: "./img/particle/smoke.png",
particleSize: 12, // 粒子大小(单位:像素)
emissionRate: 20.0, // 发射速率 (单位:次/秒)
pitch: 40,
maxHeight: 1000, // 超出该高度后不显示粒子效果
startColor: Cesium.Color.GREY.withAlpha(0.7), // 开始颜色
endColor: Cesium.Color.WHITE.withAlpha(0.0), // 结束颜色
startScale: 1.0, // 开始比例(单位:相对于imageSize大小的倍数)
endScale: 5.0, // 结束比例(单位:相对于imageSize大小的倍数)
minimumSpeed: 1.0, // 最小速度(米/秒)
maximumSpeed: 4.0 // 最大速度(米/秒)
},
attr: { remark: "车辆尾气" }
})
graphicLayer.addGraphic(particleSystem)
}