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.

Creazione di un sistema di particelle 3D

../../../_images/particle_node_new.webp

Proprietà richieste dei nodi di particelle

Per iniziare a lavorare con le particelle, la prima cosa che dobbiamo fare è aggiungere un nodo GPUParticles3D alla scena. Prima di poter effettivamente vedere le particelle, dobbiamo impostare due parametri sul nodo: Process Material e almeno un Draw Pass.

Il materiale di processo

Per aggiungere un materiale di processo al nodo di particelle, vai su Process Material nel pannello di ispezione. clicca sulla casella accanto a Process Material e dal menu a discesa seleziona Nuovo ParticleProcessMaterial.

../../../_images/particle_new_process_material.webp

Creare un materiale di processo

ParticleProcessMaterial è un tipo speciale di materiale. Non lo usiamo per disegnare oggetti, bensì per aggiornare i dati e il comportamento delle particelle sulla GPU anziché sulla CPU, ottenendo così un notevole aumento delle prestazioni. Un clic sul materiale appena aggiunto visualizza un lungo elenco di proprietà che è possibile impostare per controllare il comportamento di ciascuna particella.

Passaggi di disegno

../../../_images/particle_first_draw_pass.webp

È richiesto almeno un passaggio di disegno

Per poter renderizzare le particelle, è necessario definire almeno un passaggio di disegno. Per farlo, vai su Draw Passes nel pannello Ispettore. Clicca sulla casella accanto a Pass 1 e seleziona New QuadMesh dal menu a tendina. Dopodiché, clicca sulla mesh e imposta la sua Size a 0.1 per entrambi x e y. Ridurre le dimensioni della mesh rende più facile distinguere le singole mesh delle particelle in questa fase.

È possibile utilizzare fino a 4 passaggi di disegno ("draw pass") per ogni sistema di particelle. Ogni passaggio può renderizzare una mesh diversa con il proprio materiale unico. Tutti i passaggi utilizzano i dati calcolati dal materiale di processo, che è un metodo efficiente per comporre effetti complessi: il comportamento delle particelle è calcolato una sola volta e poi inviato a più passaggi di rendering.

../../../_images/particle_two_draw_passes.webp

Utilizzo di più passaggi di disegno: rettangoli gialli (passaggio 1) e sfere blu (passaggio 2)

Se hai seguito i passaggi precedenti, il tuo sistema di particelle dovrebbe ora emettere particelle a cascata, facendole muovere verso il basso e scomparire dopo pochi secondi. Questa è la base di tutti gli effetti particellari. Dai un'occhiata alla documentazione delle proprietà particle e particle material per imparare a rendere gli effetti particellari più interessanti.

../../../_images/particle_basic_system.webp

Conversione di particelle

../../../_images/particle_convert_cpu.webp

Convertire le particelle GPU in CPU

È possibile convertire le particelle GPU in particelle CPU in qualsiasi momento attraverso la voce nel menu nella viewport. Facendolo, tieni presente che non tutte le funzionalità delle particelle GPU sono disponibili per le particelle CPU, quindi il sistema di particelle risultante avrà un aspetto e un comportamento diversi dall'originale.

È anche possibile convertire le particelle CPU in particelle GPU se non c'è più bisogno di utilizzare le particelle CPU. Anche ciò si può fare dal menu nella viewport.

Alcune delle funzionalità più importanti che vanno perse durante la conversione includono:

  • molteplici passaggi di disegno

  • turbolenza

  • sotto-emettitori

  • scie

  • attrattori

  • collisioni

Si perdono anche le seguenti proprietà:

  • Rapporto di quantità

  • Interpola fino alla fine

  • Smorzamento come frizione

  • Scostamento di forma d'emissione

  • Scala forma d'emissione

  • Rapporto di velocità ereditata

  • Fulcro della velocità

  • Velocità direzionale

  • Velocità radiale

  • Limite velocità

  • Scala relativa alla velocità

La conversione delle particelle GPU in particelle CPU può rivelarsi necessaria quando si desidera rilasciare un gioco su dispositivi più vecchi che non supportano le API grafiche moderne.