• Non ci sono risultati.

Particle systems

N/A
N/A
Protected

Academic year: 2021

Condividi "Particle systems"

Copied!
4
0
0

Testo completo

(1)

Particle Systems - Texture Assets 22/11/2014

Master GameDEv - Marco Tarini - 2014 1

Master Game Dev 2014/2015 Game Engines

Particle systems

Marco Tarini

Particle systems:

un tipo di Modelli 3D

Rapresentazioni digitali di oggetti 3D…

non facilmente descrivibili attraverso la loro superficie

molto dinamici (topologia variabile)

…come:

nuvole, fumate, nuvole di polvere fiamme, esplosioni

spruzzi d’acqua, cascate, getti

pioggia, neve, vento (che porta pulviscoli) sbuffi di vapore, polvere sollevata da passi effetti visuali astratti (di incantesimi, etc) etc…

(aka particle effects)

(2)

Particle Systems - Texture Assets 22/11/2014

Master GameDEv - Marco Tarini - 2014 2

Sistemi di particelle:

strutture dati

Insieme di particelle

1 particella rappresenta

una goccia d’acqua, una scintilla di fiamma, una goccia di pioggia, uno sbuffetto di fumo…

stato

di una particella

include: pos, vel, durata rimanente di vita, … e/o anche: size, temperatura, etc

altre cose riferibili all’aspetto (colore).

vengono emesse dinamicamente

da «emitters»

vengono distrutte dinamicamente variano dinamicamente stato

secondo criteri prestabiliti

Sistemi di particelle:

computo dell’evoluzione

Task del Physic Engine

Aggiornamento dello stato di ogni particella Molto paralelizzabile

(ogni particella “progredisce” per conto prorpio) spesso: fatto in GPU

complessità del sistema di particelle:

anche elevato (10^3 – 10^5 particelle)

Particelle possono interagire con

(oppure no)

altre particelle ambiente

(solo props statici, o anche modelli 3D dinamici, etc.)

“one way”, o “two ways”

(3)

Particle Systems - Texture Assets 22/11/2014

Master GameDEv - Marco Tarini - 2014 3

Sistemi di particelle:

rendering

Resa con:

un point splat / o un segmento un piccolo modello 3D

pochi (o un!) poligoni, texturati etc

un impostor , cioè

un piccolo quad

orientato verso l’osservatore (oppure no) texturato con alpha maps e RGB maps )

una sorta di “blob” temporaneo

da fondere insieme ad altri blob in spazio schermo (in una seconda passata)

alternativa di extra lusso per liquidi

Specificare

sistemi di particelle

Task del curatore di effetti fx specialist Specificare i criteri e le modalità di

creazione, evoluzione, distruzione di particelle attraverso:

programmazione di script, oppure specifica di grande insieme di parametri

Specificare l’aspetto delle particelle

tessiture per quad, piccoli modelli 3D, parametri dello splat, etc

Non esiste un modo standadizzato

ogni game engine,

ha il suo sistema, il suo formato di files, etc

(4)

Particle Systems - Texture Assets 22/11/2014

Master GameDEv - Marco Tarini - 2014 4

Esempio

semplificato in C

class Particle{

vec3 pos;

vec3 vel;

float life; // how much longer to live ...

}

class ParticleSystem{

std::vector< Particle > particles;

void evolve( float dt );

void render();

void init( vec3 p );

}

Riferimenti

Documenti correlati

A simple rendering method is presented to avoid vertex seams in cylindrical and toroidal uv-mappings used for texture mapping (a vertex seam is a vertex dupli- cation of a

The convection–diffusion equation can be derived in a straightforward way from the continuity equation, which states that the rate of change dn/dt for a scalar quantity in

Materiale plastico (plexiglass) opportunamente sagomato in modo da adattare la superficie di uscita dello scintillatore con quella d ’ ingresso del PMT → solo una frazione r

Then, use relations between orbit angle θ scattering angle Θ, &amp; auxillary angle Ψ in the scattering. problem, to get Θ = Θ(b) &amp; thus the scattering

 e.g.: rocket engine blaze: in Z dir of emitter space.. Evolution of

volumetric data, polygonal meshes, NURBS, splines, subdivision surfaces, LODs, multiresolution structures…. • 3D acquisition (catturare modelli 3D

much cheaper than sampled sound to store, but requires instrument liberary at runtime not much used anymore (in games) still most convenient for procedural music. Specialized

3D data models textures materials shaders animations collision objects scenes etc audio. music sound fxs ambient sounds voice