Condivisione della tecnologia

[Unity2D 2022: Particle System] Aggiungi effetti speciali delle particelle colpite

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Crea oggetti di gioco con effetti speciali particellari

2. Modificare le proprietà del sistema di particelle

1. Attributi di base

(1) Modificare la durata delle particelle emesse (Durata) su 1 s

(2) Deseleziona Ciclo

(3) Modificare il tempo di esistenza delle particelle (Start Lifetime) su un valore casuale compreso tra 0,1 e 0,2

(4) Modificare la velocità iniziale delle particelle (Start Speed) su 0

(5) Modificare la dimensione iniziale delle particelle (Start Size) su un valore casuale compreso tra 0,7 e 1

(6) Modificare l'angolo di rotazione iniziale della particella (Rotazione iniziale) su un valore casuale compreso tra 0 e 360

2. Emissione

(1) Impostare la velocità delle particelle emesse (Rate over Time) su 0 (ovvero non emettere particelle)

(2) Aggiungi burst (Burst), il tempo è 0, il conteggio è 5

3. Forma dell'emettitore (Forma)

(1) Imposta Forma su Cerchio

(2) Impostare l'angolo di rotazione (Rotazione) su 900 nella direzione dell'asse x

(3) Impostare il raggio su (Raggio) 0,12

(4) Impostare la modalità (Mode) su Burst Spread (diffusione dell'esplosione)

4. Colore delle particelle (colore nel corso della vita)

(1) Imposta la trasparenza su 255-0 (ovvero sempre più trasparente)

5. Dimensione delle particelle (dimensione nel corso della vita)

(1) Impostare la dimensione delle particelle su 0,6-1

6. Animazione della trama delle particelle (Animazione del foglio di trama)

(1) Aggiungi immagini di sprite di particelle

3. Crea prefabbricati con effetti speciali di successo

4. Gli effetti speciali vengono riprodotti quando il proiettile colpisce il nemico.

1. Modifica lo script del punto elenco:

(1) Crea prefabbricati con effetti speciali di successo

  1. public class Bullet : MonoBehaviour
  2. {
  3. // 创建命中特效预制体
  4. public GameObject hitEffectParticlePrefab;
  5. }

(2) Riscrivere l'interfaccia dell'iteratore ed eliminare gli effetti delle particelle colpite dopo un ritardo di 1 secondo.

  1. public class Bullet : MonoBehaviour
  2. {
  3. // 创建命中特效预制体
  4. public GameObject hitEffectParticlePrefab;
  5. // 在1s后删除粒子特效
  6. private async Task deleteEffectParticle(GameObject EffectParticle, float delay)
  7. {
  8. // 等待1s
  9. await Task.Delay(1000);
  10. // 删除粒子特效
  11. Destroy(EffectParticle);
  12. }
  13. }

(3) Quando colpisci un nemico, crea un effetto speciale della particella colpita nella posizione del proiettile, che verrà eliminato dopo 1 secondo.

  1. public class Bullet : MonoBehaviour
  2. {
  3. // 创建命中特效预制体
  4. public GameObject hitEffectParticlePrefab;
  5. // 击中敌人
  6. private void OnCollisionEnter2D(Collision2D collision)
  7. {
  8. Enemy enemy = collision.gameObject.GetComponent<Enemy>();
  9. if(enemy != null) {
  10. enemy.changeHealthPoint(-25);
  11. GameObject hitEffectParticle = Instantiate(hitEffectParticlePrefab, transform.position, Quaternion.identity);
  12. deleteHitEffectParticle(hitEffectParticle, 1);
  13. }
  14. Destroy(gameObject);
  15. }
  16. // 在1s后删除粒子特效
  17. public static async Task deleteEffectParticle(GameObject EffectParticle, float delay)
  18. {
  19. // 等待1s
  20. await Task.Delay(1000);
  21. // 删除粒子特效
  22. Destroy(EffectParticle);
  23. }
  24. }

2. Aggiungi effetti speciali delle particelle colpite al prefabbricato del proiettile

3. L'effetto finale è come mostrato di seguito:

Fine di questo capitolo. Grazie per aver letto!