Compartir tecnología

[Unity2D 2022: Sistema de partículas] Agregue efectos especiales de partículas de impacto

2024-07-12

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

1. Crea objetos de juego con efectos especiales de partículas.

2. Modificar las propiedades del sistema de partículas.

1. Atributos básicos

(1) Modificar la duración de las partículas emitidas (Duración) a 1 s

(2) Desmarque Bucle

(3) Modificar el tiempo de existencia de las partículas (Start Lifetime) a un valor aleatorio entre 0,1 y 0,2

(4) Modifique la velocidad inicial de la partícula (Velocidad inicial) a 0

(5) Modifique el tamaño inicial de la partícula (Start Size) a un valor aleatorio entre 0,7 y 1

(6) Modifique el ángulo de rotación inicial de la partícula (Iniciar rotación) a un valor aleatorio entre 0 y 360

2. Emisión

(1) Establezca la velocidad de las partículas emitidas (tasa en el tiempo) en 0 (es decir, no emita partículas)

(2) Agregar ráfaga, el tiempo es 0, el conteo es 5

3. Forma del emisor (Forma)

(1) Establecer forma en círculo

(2) Establezca el ángulo de rotación (Rotación) en 900 en la dirección del eje x

(3) Establezca el radio en (Radio) 0,12

(4) Establezca el modo (Modo) en Burst Spread (explosión de explosión)

4. Color de las partículas (color durante toda la vida)

(1) Establezca la transparencia en 255-0 (es decir, cada vez más transparente)

5. Tamaño de partícula (tamaño a lo largo de la vida)

(1) Establezca el tamaño de partícula en 0,6-1

6. Animación de textura de partículas (Animación de hoja de textura)

(1) Agregar imágenes de sprites de partículas

3. Crea una casa prefabricada de efectos especiales exitosa

4. Se reproducen efectos especiales cuando la bala alcanza al enemigo.

1. Edite el guión de viñetas:

(1) Crear una casa prefabricada de efectos especiales exitosa

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

(2) Reescriba la interfaz del iterador y elimine los efectos de las partículas de impacto después de un retraso de 1 segundo.

  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) Al golpear a un enemigo, crea un efecto especial de partícula de impacto en la posición de la bala y elimínalo después de 1 segundo.

  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. Agregue efectos especiales de partículas de impacto a la casa prefabricada de bala.

3. El efecto final es el que se muestra a continuación:

Fin de este capítulo. ¡Gracias por leer!