Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Proprietà del sistema di particelle 3D

Proprietà di un emettitore

../../../_images/particle_props_emitter.webp

La casella di spunta accanto alla proprietà Emitting attiva e disattiva il sistema di particelle. Le particelle saranno elaborate e renderizzate solo se la casella è spuntata. È possibile impostare questa proprietà in fase di esecuzione se si desidera attivare o disattivare i sistemi di particelle dinamicamente.

La proprietà Amount controlla il numero massimo di particelle visibili alla volta. Aumentando il valore, saranno generate più particelle a scapito delle prestazioni.

La proprietà Amount Ratio rappresenta il rapporto tra il numero di particelle e la quantità che sarà emessa. Se è inferiore a 1.0, la quantità di particelle emesse durante il tempo di vita sarà pari a Amount * Amount Ratio. Modificare questo valore durante l'emissione non influisce sulle particelle già create e non fa riavviare il sistema di particelle. È utile per creare effetti in cui il numero di particelle emesse varia nel tempo.

È possibile impostare un altro nodo di particelle come Sub Emitter, che sarà generato come figlio di ciascuna particella. Consultare la sezione Sotto-emettitori di questo manuale per una spiegazione dettagliata su come aggiungere un sotto-emettitore a un sistema di particelle.

Proprietà del tempo

../../../_images/particle_props_time.webp

La proprietà Lifetime controlla per quanto tempo ogni particella esiste prima di scomparire. È misurata in secondi. È possibile impostare molte proprietà delle particelle in modo da variare gradualmente nel corso della loro vita, passando gradualmente da un valore all'altro.

Lifetime e Amount sono correlate. Determinano la frequenza di emissione per il sistema di particelle. Ogni volta che si desidera sapere quante particelle sono generate al secondo, questa è la formula da utilizzare:

\[Particelle al secondo = \frac{Amount}{Lifetime}\]

Esempio: emettere 32 particelle con una durata di vita di 4 secondi ciascuna significherebbe che il sistema emette 8 particelle al secondo.

La proprietà Interp to End fa sì che tutte le particelle nel nodo interpolino verso la fine del loro tempo di vita.

Se la casella accanto alla proprietà One Shot è spuntata, il sistema di particelle emetterà la quantità definita in amount di particelle e poi si disattiverà. Sarà "eseguito" una sola volta. Questa proprietà non è spuntata normalmente, quindi il sistema continuerà a emettere particelle finché non sarà disattivato o distrutto manualmente. Le particelle a colpo singolo ("One Shot") sono adatte per effetti che reagiscono a un singolo evento, come la raccolta di oggetti o le schegge che esplodono quando una pallottola colpisce un muro.

La proprietà Preprocess permette di avanzare rapidamente fino a un punto intermedio del tempo di vita del sistema di particelle e di iniziare il rendering da lì. Il suo valore è espresso in secondi. Un valore di 1 significa che, all'avvio del sistema di particelle, sembrerà che sia già in esecuzione da un secondo.

Questo può essere utile se si desidera che il sistema di particelle sembri attivo da un po' di tempo, anche se è stato appena caricato nella scena. Si consideri l'esempio seguente. Entrambi i sistemi di particelle simulano la polvere che vola intorno l'area. Con un valore di pre-elaborazione pari a 0, non ci sarebbe polvere per i primi due secondi perché il sistema non ha ancora emesso abbastanza particelle affinché l'effetto diventi percettibile. Si può notare nel video a sinistra. Questo è in confronto con il video a destra, dove il sistema di particelle è pre-elaborato per 4 secondi. La polvere è completamente visibile sin dall'inizio perché abbiamo saltato i primi quattro secondi di "preparazione".

../../../_images/particle_preprocess.webp

Nessuna pre-elaborazione (a sinistra) vs. 4 secondi di pre-elaborazione (a destra)

È possibile rallentare o accelerare il sistema di particelle tramite la proprietà Speed Scale. Questa impostazione si applica sia all'elaborazione dei dati sia al rendering delle particelle. Impostandola su 0, il sistema di particelle sarà messo completamente in pausa, mentre impostandola su un valore tipo 2, si muoverà al doppio della velocità.

../../../_images/particle_speed_scale.webp

Diversi valori per la scala di velocità: 0,1 (sinistra), 0,5 (centro), 1,0 (destra)

La proprietà Explosiveness controlla se le particelle sono emesse in sequenza o simultaneamente. Un valore di 0 significa che le particelle sono emesse una dopo l'altra. Un valore di 1 significa che tutte le particelle specificate da amount sono emesse allo stesso tempo, dando all'effetto un aspetto più "esplosivo".

La proprietà Randomness aggiunge un elemento di casualità alla tempistica di emissione delle particelle. Se impostata su 0, non c'è alcuna casualità e l'intervallo tra l'emissione di una particella e la successiva è sempre lo stesso: le particelle sono emesse a intervalli regolari. Un valore di Randomness pari a 1 rende l'intervallo completamente casuale. È possibile utilizzare questa proprietà per rompere l'uniformità degli effetti. Quando Explosiveness è impostata su 1, questa proprietà non ha alcun effetto.

Particelle in esecuzione a FPS bassi

Interpolazione disabilitata (a sinistra) vs. abilitata (a destra)

La proprietà Fixed FPS limita la frequenza di elaborazione del sistema di particelle. Questo include gli aggiornamenti delle proprietà, le collisioni e gli attrattori. Ciò può migliorare notevolmente le prestazioni, soprattutto in scene che fanno molto uso delle collisioni tra particelle. Si noti che questa impostazione non modifica la velocità con cui le particelle si muovono o ruotano. Per tale scopo sarebbe necessario utilizzare la proprietà Speed Scale.

Quando si imposta Fixed FPS su valori molto bassi, si noterà che l'animazione delle particelle inizia ad apparire scattosa. Questo può talvolta essere desiderabile se si adatta alla direzione artistica, ma molto più spesso si desidera che i sistemi di particelle siano animati fluidamente. Questo è ciò che fa la proprietà Interpolate. Essa fonde le proprietà delle particelle tra un aggiornamento e l'altro in modo che anche un sistema di particelle che funziona a 10 FPS appaia fluido come se funzionasse a 60 FPS.

Nota

Quando si utilizza la collisione di particelle, può verificarsi un effetto tunnel se le particelle si muovono velocemente e i collisori sono sottili. Sì può rimediare aumentando Fixed FPS (a scapito delle prestazioni).

Proprietà di collisione

Vedi anche

Per configurare la collisione di particelle è necessario seguire ulteriori passaggi descritti in Collisioni di particelle 3D.

La proprietà Base Size definisce la dimensione di collisione predefinita di ciascuna particella, utilizzata per verificare se una particella sta entrando in collisione con l'ambiente. In genere, si desidera che questo valore sia più o meno uguale alle dimensioni della particella. Può essere opportuno aumentarlo per le particelle molto piccole e che si muovono molto velocemente, per evitare che attraversino la geometria di collisione.

Proprietà di disegno

Proprietà di disegno di particelle

The Visibility AABB property defines a box around the particle system's origin. As long as any part of this box is in the camera's field of view, the particle system is visible. As soon as it leaves the camera's field of view, the particle system stops being rendered at all. You can use this property to boost performance by keeping the box as small as possible.

One thing to keep in mind when you set a size for the Visibility AABB is that particles that are outside of its bounds disappear instantly when it leaves the camera's field of view. Particle collision will also not occur outside the Visibility AABB. While not technically a bug, this can have a negative effect on the visual experience.

When the Local Coords property is checked, all particle calculations use the local coordinate system to determine things like up and down, gravity, and movement direction. Up and down, for example, would follow the particle system's or its parent node's rotation. When the property is unchecked, the global world space is used for these calculations: Down will always be -Y in world space, regardless of the particle system's rotation.

../../../_images/particle_coords.webp

Local space coordinates (left) vs. world space coordinates (right)

The Draw Order property controls the order in which individual particles are drawn. Index means that they are drawn in the order of emission: particles that are spawned later are drawn on top of earlier ones. Lifetime means that they are drawn in the order of their remaining lifetime. Reverse Lifetime reverses the Lifetime draw order. View Depth means particles are drawn according to their distance from the camera: The ones closer to the camera on top of those farther away.

The Transform Align property controls the particle's default rotation. Disabled means they don't align in any particular way. Instead, their rotation is determined by the values set in the process material. Z-Billboard means that the particles will always face the camera. This is similar to the Billboard property in the Standard Material. Y to Velocity means that each particle's Y-axis aligns with its movement direction. This can be useful for things like bullets or arrows, where you want particles to always point "forward". Z-Billboard + Y to Velocity combines the previous two modes. Each particle's Z-axis will point towards the camera while its Y-axis will align with their velocity.

Proprietà di scie

Scie di particelle

Proprietà di scie di particelle

The Enabled property controls whether particles are rendered as trails. The box needs to be checked if you want to make use of particle trails.

The Length Secs property controls for how long a trail should be emitted. The longer this duration is, the longer the trail will be.

See the Particle trails section in this manual for a detailed explanation of how particle trails work and how to set them up.