Cesium粒子系統:雨雪雲效果


 

參考: https://sandcastle.cesium.com/?src=Particle%20System%20Weather.html

官方教程:https://cesium.com/learn/cesiumjs-learn/cesiumjs-particle-systems/(Introduction to Particle Systems)

粒子系統是一種模擬復雜物理效果的圖形技術。粒子系統是小圖像的集合,當一起觀看時,這些圖像形成更復雜的“模糊”對象,如火、煙、天氣或焰火。通過使用初始位置、速度和壽命等特性指定單個粒子的行為,可以控制這些復雜的效果。

粒子系統效果在電影和視頻游戲中很常見。例如,為了表示飛機受損,技術藝術家可以使用粒子系統表示飛機發動機上的爆炸,然后渲染不同的粒子系統,表示飛機墜毀時的煙霧軌跡。

1. 粒子系統基礎

請查看基本粒子系統的代碼:

var particleSystem = viewer.scene.primitives.add(new Cesium.ParticleSystem({
    image : '../../SampleData/smoke.png',
    imageSize : new Cesium.Cartesian2(20, 20),
    startScale : 1.0,
    endScale : 4.0,
    particleLife : 1.0,
    speed : 5.0,
    emitter : new Cesium.CircleEmitter(0.5),
    emissionRate : 5.0,
    modelMatrix : entity.computeModelMatrix(viewer.clock.startTime, new Cesium.Matrix4()),
    lifetime : 16.0
}));

上面的代碼創建了ParticleSystem,這是一個參數化的對象,用於控制單個粒子對象隨時間變化的外觀和行為。粒子是由粒子發射器產生的,它有一個位置和類型,存在一定的時間,然后消亡。

其中一些屬性是動態的。請注意,不是使用可用的單色特性比例,而是使用startScale和endScale。通過這些選項,您可以指定在粒子的整個生命周期中,粒子大小在開始和結束比例之間的過渡。startColor和endColor的工作原理類似。

影響視覺輸出的其他方式包括最大和最小屬性。對於具有最大和最小輸入的每個變量,粒子上該變量的實際值將隨機指定為介於最大和最小輸入之間,並在粒子的整個生命周期內靜態保持該值。例如,使用minimumSpeed和maximumSpeed作為隨機選擇的每個粒子速度的邊界。允許這樣更改的屬性包括圖像大小、速度、壽命和粒子壽命。

2. 發射器

粒子出生時,其初始位置和速度矢量由粒子發射器控制。發射器每秒將產生一定數量的粒子,由emissionRate參數指定,並根據發射器類型以隨機速度初始化。

Cesium有各種各樣的粒子發射器,你可以開箱即用。

2.1 BoxEmitter箱體發射器

>>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM