Un ParticleEmitter è un oggetto che emette immagini 2D personalizzabili (particelle) nel mondo, utile per simulare effetti speciali come fuoco, fumo e scintille.
Creare emittenti di particelle
Puoi genitore un ParticleEmitter a un Attachment o a un oggetto della classe BasePart. Quando è genitorato a un BasePart, le particelle nascono casualmente all'interno della bounding box o della forma; quando è genitorato a un Attachment, le particelle nascono dalla posizione dell'attacco.
Inoltre, la proprietà EmissionDirection determina la faccia (Enum.NormalId) di emissione quando l'emettitore è genitorato a un BasePart. Quando modifichi questa proprietà, cambi anche la direzione di emissione delle particelle.
Per creare un emettitore di particelle su un parte o attacco:
Nella finestra Explorer, passa il mouse sopra la parte o l'attacco e clicca sul pulsante ⊕. Viene visualizzato un menu contestuale.
Dal menu, inserisci un ParticleEmitter. L'emittente di particelle emette immediatamente particelle all'interno dell'area della parte o dalla posizione dell'attacco.

Personalizzare le particelle
Sperimentando con le seguenti proprietà, puoi personalizzare l'aspetto visivo di una particella per creare elementi di gioco unici come vulcani esplosivi, polvere magica e particelle di polvere.
Texture
La proprietà Texture rende l'immagine che ogni particella visualizza. Di default, gli emittenti di particelle hanno particelle con una texture di brillantezza bianca, ma puoi cambiarlo con qualsiasi texture per ottenere effetti interessanti.
Se stai creando un'immagine da utilizzare come texture di particella, è meglio usare il formato .png con uno sfondo trasparente. Se la tua texture è in scala di grigi senza canale alpha, prova a impostare la proprietà LightEmission dell'emittente a 1 per nascondere le aree più scure.
Per inserire un'immagine in un emettitore di particelle:
Dal menu Finestra di Studio o dalla barra degli strumenti della scheda Home, apri il Toolbox.
Se desideri inserire un'immagine che hai importato in precedenza, fai clic sulla scheda Inventario. Se desideri inserire un'immagine da un altro creatore, fai clic sulla scheda Creatore Store.


Fai clic con il tasto destro sull'immagine che desideri inserire in un emettitore di particelle e seleziona Copia ID Asset.
Nella finestra Explorer, seleziona un ParticleEmitter.
Nella finestra Properties, incolla l'ID asset nel campo Texture.
Colore
La proprietà Color tinge la texture di ogni particella con un determinato colore, o con un gradiente ColorSequence lungo il suo periodo di vita.
Nella finestra Explorer, seleziona il ParticleEmitter.
Nella finestra Properties, seleziona la proprietà Color. Puoi:
- Cliccare sul quadrato del colore per aprire la finestra pop-up Colori e selezionare un colore.
- Immettere tre numeri nel campo del valore del colore RGB.


Emittenti di particelle simili con particelle di diversi colori
Dimensione
La proprietà Size imposta la dimensione di ogni particella a una dimensione costante, o a una NumberSequence lungo il suo periodo di vita.
- Nella finestra Explorer, seleziona il ParticleEmitter.
- Nella finestra Properties, seleziona la proprietà Size.
- Immettere la dimensione che desideri per ogni particella.
Trasparenza
La proprietà Transparency imposta l'opacità di ogni particella come un valore costante, o come una NumberSequence di opacità lungo il suo periodo di vita. L'opacità può variare da 0 (totalmente opaco) a 1 (completamente trasparente). Per i dettagli su come impostare le particelle a un'opacità specifica o a una sequenza di numeri, segui il processo in personalizzazione della Dimensione ma utilizza il campo Transparency dell'emettitore invece.
Tempo di vita
La proprietà Lifetime imposta la durata di vita di una particella in secondi. Puoi impostare questa proprietà o come valore costante, o fornire un intervallo Min e Max da cui verrà scelto un tempo di vita casuale per ogni particella.
Velocità
La proprietà Speed determina un intervallo casuale di velocità (minimo a massimo) a cui verranno emesse le nuove particelle, misurato in stud al secondo. La velocità di ogni particella viene scelta al momento dell'emissione e si applica nella EmissionDirection. Valori negativi fanno sì che le particelle viaggino all'indietro.
Nota che modificare Speed non influisce sulle particelle attive e esse mantengono comunque la velocità che già possiedono. Tuttavia, Acceleration, Drag, e VelocityInheritance possono essere utilizzati per influenzare la velocità delle particelle attive durante la loro vita.
Frequenza
La proprietà Rate imposta il numero di particelle che si emettono al secondo. Un singolo emettitore di particelle può creare fino a 400 particelle al secondo (100 al secondo sui dispositivi mobili). Per migliori prestazioni, mantieni il tasso delle particelle il più basso possibile e sperimenta con le dimensioni e altre proprietà per ottenere l'effetto visivo desiderato.
Orientamento
La proprietà Orientation determina quale modalità di orientamento utilizzare per la geometria delle particelle di un emettitore.
| Orientamento | Comportamento delle particelle |
|---|---|
| FacingCamera | Standard cartellone quad facing camera; comportamento predefinito. |
| FacingCameraWorldUp | Appuntato verso la fotocamera, ma ruotando solo sull'asse verticale verso l'alto del mondo Y. |
| VelocityParallel | Allineato parallelamente alla loro direzione di movimento. |
| VelocityPerpendicular | Allineato perpendicolarmente alla loro direzione di movimento. |
LightEmission
La proprietà LightEmission determina la fusione dei colori delle particelle Texture con i colori dietro di essi. Un valore di 0 utilizza la modalità di fusione normale mentre un valore di 1 utilizza la fusione additiva. Valori più alti possono far brillare le particelle anche in ambienti con scarsa illuminazione.
Angolo di diffusione
La proprietà SpreadAngle ha un valore X e un valore Y che determinano l'intervallo di angoli da cui una particella può emettere. L'intervallo è calcolato da entrambi i lati intorno agli assi; ad esempio, un valore di (45, 0) emette particelle in un intervallo da 0° a 45° lontano da EmissionDirection lungo l'asse X.
WindAffectsDrag
Se hai abilitato il vento globale in un gioco, le particelle seguiranno il vettore del vento globale fintanto che la proprietà WindAffectsDrag dell'emettitore è abilitata e la sua proprietà Drag è maggiore di 0.

Forma
La proprietà Shape imposta la forma dell'emettitore di particelle su Cubo, Sfera, Cilindro o Disco.




Dopo aver selezionato una forma per il tuo emettitore di particelle, puoi sperimentare con le proprietà ShapeStyle, ShapeInOut, e ShapePartial per personalizzare ulteriormente l'emissione delle particelle.
ShapeStyle
La ShapeStyle proprietà imposta il tipo di emissione a:
- Volume — Le particelle si emettono ovunque all'interno della forma.
- Superficie — Le particelle si emettono solo dall'esterno della forma.


ShapeInOut
La proprietà ShapeInOut imposta l'emissione come segue:
- Inward — Le particelle si emettono verso la forma.
- Outward — Le particelle si emettono lontano dalla forma.
- InAndOut — Le particelle si comportano casualmente come sia Inward che Outward.
ShapePartial
La proprietà ShapePartial è un fattore che puoi utilizzare per modificare ulteriormente le forme Cilindro, Disco, e Sfera.
Per i cilindri, ShapePartial moltiplica il raggio del cilindro sul lato della sua EmissionDirection.


Compressione
La proprietà Squash consente una scala non uniforme delle particelle, controllata in curva lungo il loro periodo di vita. Valori superiori a 0 fanno sì che le particelle si comprimano orizzontalmente e crescano verticalmente, mentre valori inferiori a 0 fanno sì che le particelle crescano orizzontalmente e si comprimano verticalmente. Per i dettagli su come impostare l'importo della compressione su un valore costante o a una NumberSequence, segui il processo in personalizzazione della Dimensione ma utilizza il campo Squash dell'emettitore.
Flipbook
Le texture flipbook delle particelle ti permettono di animare la texture di una particella durante il suo periodo di vita.
La texture flipbook può avere un layout a cornice di 2×2, 4×4, 8×8, o personalizzato. Ad esempio, la seguente immagine 1024×1024 ha un layout 8×8, quindi è adatta per un'animazione a 64 fotogrammi.

Una volta specificata una valida texture per la proprietà Texture dell'emettitore, la proprietà FlipbookLayout determina il layout della texture. Può essere qualsiasi valore dell'enumerazione Enum.ParticleFlipbookLayout:
- None — Disabilita le funzionalità del flipbook e usa la texture come una singola texture statica durante la vita della particella.
- Grid2x2 — 2×2 fotogrammi per un'animazione a 4 fotogrammi.
- Grid4x4 — 4×4 fotogrammi per un'animazione a 16 fotogrammi.
- Grid8x8 — 8×8 fotogrammi per un'animazione a 64 fotogrammi.
Per personalizzare ulteriormente il comportamento del flipbook, puoi regolare le seguenti proprietà:
La proprietà FlipbookFramerate determina quanto velocemente la texture flipbook si anima in fotogrammi al secondo. Come Lifetime, puoi impostare un intervallo minimo e massimo per randomizzare la frequenza del flipbook, con un massimo di 30 fotogrammi al secondo.
Altre proprietà
Per personalizzare ulteriormente le particelle, considera le seguenti proprietà dell'emettitore e clicca per accedere alla pagina di riferimento di ParticleEmitter per ulteriori dettagli.
Le seguenti proprietà di aspetto sono in aggiunta a colore, emissione di luce, orientamento, dimensione, texture, trasparenza, compressione, e flipbook.
| Proprietà | Descrizione |
|---|---|
| LightInfluence | Determina quanto la luce ambientale influisce sul colore delle singole particelle. |
| Brightness | Scala la luce emessa dall'emettitore quando LightInfluence è 0. |
| ZOffset | Determina la posizione di rendering avanti-addietro delle particelle, in stud, senza cambiare la loro dimensione sullo schermo. Questo consente di sovrapporre più emettitori o di rendere le particelle davanti a o dietro l'oggetto parent. |