septiembre 28, 2022

Nuevo editor de partículas

En esta nueva versión, Evergine ha mejorado su sistema de partículas: a partir de ahora, será un asset con su propio editor, facilitando y ayudando al desarrollo cuando se trata de múltiples instancias del mismo sistema de partículas.  Este nuevo editor de partículas contiene algunas herramientas interesantes para la creación de partículas, y también es la base de muchas nuevas características en el futuro. 

El nuevo workflow del sistema de partículas

La versión anterior de Evergine abordaba los sistemas de partículas como un conjunto de componentes. Teníamos los componentes ParticleSystem y ParticleSystemRenderer (Componentes relativos a fuerzas aparte). Aunque fue una gran mejora respecto a nuestro antiguo sistema de partículas de WaveEngine, nos dimos cuenta de que no queríamos depender tanto de los prefabs en escenas complejas donde había involucradas muchas instancias de un mismo sistema de partículas.

También nos dimos cuenta de que podíamos optimizarlo mejor cuando podíamos agrupar fácilmente todos los sistemas de partículas del mismo tipo, así que cambiamos el flujo de trabajo como en el siguiente diagrama. 

Ahora el desarrollador puede: 

  • Crear un asset de ParticleSystem.
  • Editarlo en el nuevo Editor de partículas.
  • Colocarlos en la escena creando una entidad que utilice los componentes ParticlesComponent y ParticlesRenderer.

Creación de un Sistema de partículas

La creación de un nuevo asset de Sistema de Partículas es similar a la creación de otros assets en Evergine Studio. Simplemente hay que hacer clic con el botón derecho en el panel Asset Details y seleccionar Create particle system.

Esto creará un nuevo asset en el proyecto Evergine que se puede abrir para editarlo. 

Edición del Sistema de partículas

Al hacer clic en el asset del Sistema de partículas, se abrirá el editor, mostrando las siguientes 4 áreas: 

Ventana de visualización de partículas

El área principal muestra la simulación del sistema de partículas según sus parámetros definidos y alguna configuración de la ventana de visualización. También muestra: 

  • Aspecto del emisor, mostrando desde dónde se está emitiendo las partículas.
  • Si el Sistema de partículas se emiten desde una entidad, se mostrará una tetera a modo de orientación.
  • Grid para orientación de escalas, que puede ser desactivado.

Propiedades de las partículas

Este es el área donde se configura el Sistema de partículas.  

Todas sus propiedades están agrupadas en diferentes secciones para facilitar su edición: 

  • Particle Material:establece las propiedades para el renderizado de las partículas (su textura, render layer y sampler).
  • General: agrupa todas las propiedades principales que controlan los aspectos más importantes, como el número máximo de partículas, el color inicial, la velocidad, etc.
  • Shape: tiene propiedades que controlan dónde se emiten las partículas y en qué dirección. Permite elegir entre un conjunto de formas diferentes:
    • Sphere
    • Box
    • Circle
    • Entity
    • Edge
  • Spawn: gestiona cuántas y cuándo se crean las partículas. Se puede elegir como:
    • Rate: Emisión estándar, definiendo cuántas partículas por segundo se emiten.
    • Burst emite todas sus partículas al mismo tiempo (explosiones!)
    • Distance emite las partículas proporcionalmente al movimiento del emisor.
  • Color over life: gestiona la animación del color de la partícula.
  • Size over life: hace un efecto similar, animando su tamaño.
  • Noise group: gestiona las propiedades de ruido y turbulencia en la partícula.
  • Forces: habilita las fuerzas en el sistema de partículas y su categoría.

Toolbar de edición

Esta barra de herramientas controla algunos aspectos de la visualización del editor de partículas. 

  • Visualización del grid on / off
  • Visualización del Gizmo de emisión on / off
  • Forzar partículas por CPU activa / desactiva las partículas por CPU, incluso cuando las partículas de la GPU están disponibles.  
  • Reset de la posición de la cámara.
  • Color de fondo de la ventana gráfica.

Controles de simulación

Esta barra controla algunos aspectos del ciclo de vida de la simulación del sistema de partículas. 

  • Reiniciar todas las partículas, volviendo a un estado inicial.
  • Play / Stop de la simulación de partículas.
  • Controlador del factor de tiempo que permite controlar el tiempo de las partículas

Usar el Sistema de partículas en tu escena

Al arrastrar el asset del sistema de partículas a nuestra escena se creará una entidad con ese sistema de partículas. 

Esa nueva entidad contiene 2 nuevos componentes (además del Transform3D).

ParticlesComponent

  • Propiedad ParticleSystem, donde establecemos el asset de origen.
  • ForceCPUParticles para usar explícitamente las partículas de la CPU y evitar las del compute shader.
  • Emit Automatically: comienza a emitir desde el principio. De lo contrario, tendríamos que iniciar manualmente su emisión.
  • Life Factor para envejecer las partículas más rápido o más lento.

The component takes the assets and generates all the graphics resources, meshes, and buffers necessary for the simulation. 

ParticlesRenderer

Este componente solo renderiza la malla definida por el ParticlesComponent y su material. 

Próximos pasos

La creación del editor de partículas es un gran paso en nuestro deseo de ofrecer la mejor simulación de partículas posible en Evergine. Uno de los próximos pasos en nuestro sistema de partículas será soportar múltiples emisores por sistema de partículas y establecer relaciones entre ellos.

¡Estad atentos!

Antonio avila
Author
Antonio Ávila
Plain Concepts Research

¿Ya te vas?

Suscríbete a nuestra newsletter para estar al día de las últimas noticias, casos de éxito y mucho más. 

No mandamos spam y puedes darte de baja en cualquier momento.