Partikelsystem

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 27 juni 2017; kontroller kräver 8 redigeringar .

Ett partikelsystem  är en metod som används inom datorgrafik för att representera objekt som inte har tydliga geometriska gränser (olika moln, nebulosor, explosioner, ångstrålar, raketplymer, rök, snö, regn, etc.). Partikelsystem kan implementeras i både 2D- och 3D-grafik .

Princip

Ett partikelsystem består av ett visst (fast eller godtyckligt) antal partiklar. Matematiskt representeras varje partikel som en materialpunkt med ytterligare attribut, såsom utseende, hastighet, orientering i rymden, vinkelhastighet, etc. Under programmet ändrar varje partikel sitt tillstånd enligt en viss lag som är gemensam för alla partiklar i systemet . Till exempel kan en partikel påverkas av gravitation, ändra storlek, färg, hastighet och så vidare, och efter alla beräkningar renderas partikeln. En partikel kan renderas som en punkt, triangel, sprite eller till och med en fullständig 3D-modell. Vid modellering av vätskors fysik används ofta metasfärer som "smälter ihop" med varandra.

För närvarande (mars 2009) finns det ingen allmänt accepterad implementering av partikelsystem. I olika spel och 3D-modelleringsprogram kan partiklarnas egenskaper, beteende och utseende vara fundamentalt olika.

I de flesta implementeringar emitteras nya partiklar av en så kallad "emitter". Emittern kan vara en punkt, då kommer nya partiklar att dyka upp på ett ställe. På så sätt kan du simulera till exempel en explosion: dess centrum kommer att vara sändaren. Strålaren kan vara ett rakt linjesegment eller ett plan: till exempel bör regn- eller snöpartiklar förekomma på ett högt horisontellt plan. Emittern kan också vara ett godtyckligt geometriskt objekt: i detta fall kommer nya partiklar att dyka upp på hela dess yta.

Under sin livstid förblir en partikel sällan i vila. Partiklar kan röra sig, rotera, ändra sin färg och/eller genomskinlighet och kollidera med 3D-objekt. Partiklar har ofta en maximal livslängd, varefter partikeln försvinner.

I 3D-applikationer i realtid (som datorspel) antar man generellt att partiklar inte kastar skuggor på varandra, liksom på den omgivande geometrin, och att de inte absorberar, utan avger ljus. Utan dessa förenklingar kommer beräkningen av partikelsystemet att kräva mer resurser: i fallet med ljusabsorption kommer det att vara nödvändigt att sortera partiklarna efter avstånd från kameran, och i fallet med skuggor måste varje partikel ritas flera gånger .

Utöka funktionaliteten

Rumsliga deformationer kan appliceras på partiklar: kraftfält som kan ändra rörelsevektorn, hastigheter och andra parametrar för partiklarna. Exempel på sådana deformationer är vind , gravitation , stötvåg , även om de alla är illusioner. Rumsliga deformationer har en visuell representation endast i programmet för deras redigering, men de ändrar parametrarna för de partiklar som kontrolleras av dem.

Applikation

Enkla partikelsystem används i nästan alla moderna datorspel och 3D-modelleringspaket. Systemet kan vara mycket komplext och kan användas inte bara i grafik, utan också i vetenskapliga beräkningar: till exempel genom att använda fysikens lagar i ett partikelsystem kan du simulera beteendet hos gasmolekyler.

Länkar