Disparo de plasma parte 1

Clase 15 de 27Curso de Efectos Visuales para Videojuegos con Unity

Resumen

Crear un proyectil que viaje por la escena y desaparezca al impactar contra un objeto sólido es una mecánica fundamental en cualquier videojuego. Con el sistema de partículas de Unity puedes lograrlo sin escribir una sola línea de código, controlando la dirección, velocidad, gravedad y colisión de tu disparo desde el inspector.

¿Cómo configurar el sistema de partículas para un proyectil?

El primer paso es crear una escena con dos cubos: uno simula la pared y otro el piso. Estos servirán como objetos de prueba para verificar que el proyectil colisiona correctamente. Después, crea un nuevo sistema de partículas y nómbralo algo descriptivo, como Magic Projectile [0:37].

Dentro del módulo Shape, selecciona el cono. La razón es simple: el cono define la dirección hacia la que apunta tu disparo. Reduce el ángulo y el radio a valores muy pequeños, como 0.1, para simular el cañón de un arma [1:07]. Esto convierte la forma en un tubo estrecho por el que salen las partículas.

¿Qué es el modo burst y por qué usarlo?

Pon la cantidad de emisión de partículas (Rate over Time) en cero [1:30]. Puede sonar contradictorio, pero la clave está en la sección Burst. A diferencia de la emisión continua, el burst genera una cantidad exacta de partículas en el instante en que el sistema arranca. Haz clic en el botón de más y cambia el valor por defecto de treinta a una sola partícula [2:15]. Así, cada vez que se active el sistema, se disparará un único proyectil.

Si seleccionas la herramienta de rotación y giras el sistema de partículas, notarás que la partícula sale en la dirección a la que apunta el emisor. Esto te permite calcular la trayectoria del disparo con precisión [2:40].

¿Cómo ajustar velocidad y gravedad del disparo?

El proyectil puede sentirse lento con la velocidad por defecto de cinco. Tienes dos caminos: aumentar la velocidad directamente o usar el parámetro Simulation Speed [3:10]. Este valor multiplica la velocidad de toda la simulación. Un valor de 1 es el estándar; reducirlo hace que todo vaya más lento, y aumentarlo acelera el comportamiento completo.

  • Ajusta Simulation Speed a un valor que se sienta natural para tu tipo de disparo.
  • Agrega gravedad con el parámetro Gravity Modifier para que el proyectil describa una curva realista [3:45].
  • Un valor de 0.15 produce una caída sutil y creíble.
  • Establece el tiempo de vida (Start Lifetime) en 3 segundos para que la partícula no desaparezca demasiado pronto.

Para darle forma visual, crea un nuevo material con un shader de tipo Unlit, selecciona una textura como flare, configúralo como transparente aditivo y asígnalo al sistema de partículas [4:15].

¿Cómo activar colisiones del proyectil con el mundo?

Dentro de los módulos del sistema de partículas existe una sección llamada Collision. Actívala y cambia el tipo de Planes a World [5:05]. Con este ajuste, la partícula puede colisionar con todos los objetos de la escena que tengan un collider. Al probarlo, verás que el proyectil rebota contra la pared como una pelota.

Pero rebotar no es explotar. Para que la partícula muera al impactar, necesitas el parámetro Max Kill Speed [5:55]. Su lógica funciona así:

  • Si la velocidad de la partícula al momento del impacto es mayor al valor que configures, la partícula se destruye.
  • Ponlo en 0 para que cualquier colisión elimine el proyectil inmediatamente.

Un dato útil: si pasas el cursor sobre cualquier parámetro en Unity, aparece un tooltip que explica su funcionamiento [5:45]. Es un recurso valioso cuando no recuerdas qué hace una variable.

¿Qué precauciones tomar con las colisiones?

Asegúrate de que el emisor no esté dentro de un objeto sólido, porque la partícula moriría al instante. Desactiva el looping para que solo se dispare un proyectil por activación [5:30]. Puedes verificar el comportamiento apuntando hacia la pared y confirmando que la partícula desaparece al chocar, o disparando al vacío y observando que sobrevive hasta que se agota su tiempo de vida.

  • Apuntar a la pared: la partícula muere al colisionar.
  • Apuntar al vacío: la partícula vive hasta que expira su lifetime.

Con estos ajustes tienes un proyectil funcional que responde a las colisiones del entorno. Experimenta con la velocidad, la gravedad y la dirección del emisor para adaptarlo al estilo de tu juego. ¿Qué tipo de proyectil vas a crear? Comparte tu resultado en los comentarios.