En este tutorial, aprenderás a crear un efecto visual (VFX) de fuego y a añadirlo a las trampas de tu nivel.
Antes de empezar
Asegúrate de que entiendes cómo crear un material, lo cual se explica en el módulo Creación de materiales e instancias de material de esta pista.
Trabajarás con los siguientes recursos:
Blueprint BP_FireTrap
Descripción general de Niagara
El sistema de efectos visuales Niagara es la herramienta principal para crear efectos visuales (VFX) dentro de Unreal Engine. El sistema viene con una variedad de efectos visuales prefabricados que se pueden personalizar y colocar directamente dentro de tu nivel. También puedes crear tus propios efectos visuales para una personalización completa.
Para obtener más información sobre Niagara, consulta Descripción general de Niagara en la documentación.
Crear un sistema de Niagara
Ahora crearás tu primer sistema Niagara que utiliza un emisor normal. Para crear un nuevo sistema Niagara, sigue estos pasos:
Ve al explorador de contenido y navega hasta la carpeta Content > AdventureGame > Artist. Haz clic derecho en la carpeta Artist y selecciona Nueva carpeta. Dale el nombre VFX.
En la nueva carpeta VFX, haz clic derecho en cualquier parte del área del recurso, ve a FX y selecciona Sistema Niagara.
Se abre la ventana Crear el sistema Niagara. Aquí puedes seleccionar un emisor o sistema como base para tu efecto visual.
Si seleccionas un sistema, se creará un sistema Niagara que usa uno o más emisores. Si seleccionas un emisor, se creará un sistema Niagara que usa un solo emisor.
Selecciona el emisor Partículas colgantes y haz clic en Crear.
Nombra este recurso NS_HangingParticles y ábrelo.
En la ventana NS_HangingParticles verás dos nodos: NS_HangingParticles y HangingParticulates.
El nodo NS_HangingParticles es el nodo del sistema, que enumera opciones como las propiedades para todo el sistema y dos etapas denominadas Generación del sistema y Actualización del sistema, donde puedes añadir módulos que se ejecutan cuando Unreal Engine genera el sistema (Spawn) y mientras el sistema está activo (Update).
El nodo HangingParticulates es el emisor. Este es el nodo que define cómo se generan y renderizan las partículas.
Si haces clic derecho en cualquier lugar del grafo de descripción del sistema, donde se encuentran los nodos, podrás añadir nuevos emisores a este sistema. También puedes usar la tecla E como atajo de teclado para añadir un nuevo emisor.
Al añadir un nuevo emisor, se abre la ventana Añadir emisor al sistema. Es similar a la ventana anterior en la que creaste tu sistema, pero solo muestra los emisores base disponibles (puesto que ya has creado el sistema). Para este ejemplo, cierra la ventana sin añadir otro emisor.
El emisor HangingParticulates viene con módulos predefinidos que generan el efecto visual de las partículas, similares a pequeñas partículas de polvo. En la esquina superior izquierda de la ventana, puedes ver tu efecto en el panel de previsualización.
Ahora aumentarás la frecuencia de generación de este emisor para incrementar el número de partículas que se generan. Sigue estos pasos:
Selecciona el nodo HangingParticulates.
Desde el panel Detalles, ve a la categoría Frecuencia de generación.
Cambia el campo SpawnRate a 250.
También puedes seleccionar el módulo Frecuencia de generación en el emisor para ver solo las opciones relacionadas con ese módulo en el panel Detalles.
Ahora verás muchas más partículas renderizadas en el panel de previsualización.
En la parte inferior de la ventana, puedes ver un cronograma que se usa para animar el sistema. Puedes pulsar el botón de pausa o el de reproducción para controlar la previsualización.
Ahora añadirás este sistema a tu nivel para verlo en contexto. Sigue estos pasos:
Ve al explorador de contenido y dirígete a la carpeta Adventure Game > Artist > VFX, donde creaste el recurso NS_HangingParticles.
Arrastra el recurso NS_HangingParticles al mundo. Ahora verás tu efecto visual simulado en el nivel.
Cómo crear un efecto de fuego
En esta sección, crearás un efecto de fuego para tus trampas.
Cómo crear el material
Para crear un efecto de fuego animado, debes usar una textura que contenga una serie de imágenes fijas que, cuando se muestran en una secuencia, parecen animar una llama. Este tipo de textura se denomina textura SubUV y puede animarse a través del material o del emisor de Niagara.
Primero, crearás un material usando la textura de fuego proporcionada. Sigue estos pasos:
Ve al explorador de contenido y navega hasta la carpeta AdventureGame > Artist > Materials.
Haz clic derecho en cualquier lugar y crea un material.
Nombra este recurso M_Fire_SubUV_Simple y ábrelo.
Para configurar el material, sigue estos pasos:
En el panel Detalles, en la categoría Material:
Cambia Modo de mezcla a Traslúcido.
Cambia Modelo de sombreado a Sin iluminar.
Haz clic derecho en el editor de materiales y crea un nodo ParticleSubUV.
Selecciona el nodo Particle SubUV y, en el panel Detalles, cambia la textura al archivo T_Fire_SubUV.
Desde el nodo Particle SubUV, arrastra el pin RGB y añade un nodo Multiply (en la categoría Math).
Desde el nodo Multiply, arrastra el pin de salida y conéctalo a la entrada Emissive Color del nodo M_Fire_SubUV_Simple.
Haz clic derecho en una zona vacía debajo del nodo Particle SubUV y añade un nodo Particle Color (en la categoría Particles).
Arrastra su pin de salida RGB y conéctalo al pin de entrada B del nodo Multiply.
En el nodo Particle SubUV, arrastra el pin de salida de R y añade un nuevo nodo Multiply.
Desde el nodo Particle Color, arrastra el pin de salida A y conéctalo al pin de entrada B del nuevo nodo Multiply.
Desde el nuevo nodo Multiply, arrastra el pin de salida y añade un nodo Clamp.
Desde el nodo Clamp, arrastra el pin de salida y añade un nodo Depth Fade.
En el nodo Depth Fade, cambia el campo Fade Distance a 60.
En el nodo Depth Fade, conecta el pin de salida al pin de entrada Opacity del nodo M_Fire_SubUV_Test.
La vista previa del material ahora debería parecerse a esto:
Este material establece que su color emisivo sea la forma de la textura ParticleSubUV teñida (coloreada) por el color de partícula, que proviene del sistema Niagara. La opacidad se establece mediante el valor alfa (transparencia) del color de partícula y se normaliza entre 0 y 1. Finalmente, usamos un nodo DepthFade para ocultar cualquier partícula que se esté solapando (recortando) con la geometría cercana en el nivel.
Cómo crear un sistema Niagara
A continuación, crearás el sistema Niagara que genera el efecto visual de fuego. Para el efecto de fuego, usarás un emisor ligero (sin estado). Estos emisores están optimizados para mejorar el rendimiento en comparación con los emisores tradicionales (con estado), pero están limitados a un conjunto específico de módulos.
Para obtener más información sobre los emisores ligeros, consulta Descripción general de los emisores ligeros de Niagara en la documentación.
Sigue estos pasos para crear un nuevo sistema Niagara:
Ve al explorador de contenido y navega hasta la carpeta AdventureGame > Artist > VFX.
Haz clic derecho en cualquier lugar, ve a FX y selecciona Sistema Niagara.
En la lista, selecciona Peso mínimo y haz clic en Crear. Ten en cuenta que también puedes usar el campo de búsqueda en la parte superior de la ventana para buscar el sistema.
Dale a este recurso el nombre NS_LW_Fire y ábrelo.
A continuación, configurarás los módulos del emisor. Sigue estos pasos:
Selecciona el nodo emisor Minimal.
En el panel Detalles, en la categoría Estado de emisor, cambia duración del bucle a 5.0 s.
En la categoría Generar ráfaga instantánea:
Junto al título Generar ráfaga instantánea, haz clic en el desplegable Tipo y cámbialo por Tasa. Esto cambiará el módulo Generar ráfaga instantánea a un módulo Tasa de generación.
Cambia el tipo de campo Tasa de generación a Vinculación.
Ve al panel Parámetros de usuario en la esquina inferior izquierda de la ventana. Haz clic en el botón del signo más que está junto a la categoría Parámetros de usuario para añadir un nuevo parámetro.
Selecciona Crear nuevo > Común > Float.
Dale a este parámetro el nombre FireSpawnRate.
Cambia el valor del parámetro FireSpawnRate a 20.
Selecciona el emisor Minimal y, en el panel Detalles, cambia el valor del campo Tasa de generación a FireSpawnRate usando el desplegable.
Con el emisor aún seleccionado, en el panel Detalles, ve a la categoría Inicializar partícula y cambia el campo Duración a 5.0 s.
En el emisor, pulsa el botón del signo más que hay junto a Simular y añade un módulo Ubicación de la forma.
Cuando añades un nuevo módulo, este se selecciona por defecto y el panel Detalles muestra las propiedades relacionadas únicamente con ese módulo. Siempre puedes seleccionar el emisor para que muestre las propiedades de todos los módulos o seleccionar un solo módulo para que muestre solo sus propiedades.
Selecciona el nuevo módulo y, en el panel Detalles, establece Primitiva de forma en Plano. Distribuye las partículas de fuego por una superficie plana. Si quieres, puedes reducir el tamaño del plano, pero en este tutorial puedes mantenerlo en 100 por 100.
En el emisor, en la etapa Simular , añade un módulo Añadir velocidad.
Selecciona el módulo. En el panel Detalles:
Establece Velocidad en Intervalo no uniforme.
Establece el valor Mín. Z del campo Velocidad en 5 y el valor Máx. Z en 10. Esto moverá las partículas hacia arriba lentamente.
En el emisor, en Simular, añade un módulo Color de escala.
Selecciona el módulo y, en el panel Detalles, establece el tipo de escala como Rango de colores.
Haz clic en el campo de color Mín. y cambia el sRGB hexadecimal a FFA91300.
Haz clic en el campo de color Máx. y cambia sRGB hexadecimal a FF4747FF.
Esto ajustará el color de cada partícula en consecuencia.
En el emisor, en Simular, añade un módulo Escalar tamaño de sprite y fija el intervalo en 5 y 8. Esto redimensionará las partículas para que sean mucho más grandes.
En el emisor, en Simular, añade un módulo Animación de UV secundaria.
En el emisor, en la categoría Renderizado, selecciona el módulo Renderizador de sprite.
En el panel Detalles, actualiza los siguientes campos:
Cambia el material al material M_Fire_SubUV_Simple que creaste.
Cambia la alineación a Velocidad alineada.
Cambia el modo de orientación a Cámara de la cara.
En la categoría UV secundario, cambia el Tamaño de imagen secundaria a 6 y 6.
El motivo por el que has introducido un tamaño de imagen secundaria de 6 × 6 es que la textura T_Fire_SubUV tiene 6 filas y 6 columnas.
¡Ya puedes ver la vista previa de tu nuevo efecto de fuego!
Cómo añadir el efecto de fuego a las trampas de fuego
Por último, tendrás que añadir el efecto de fuego al plano de la trampa para que el efecto de fuego se reproduzca en todas las trampas mientras estén activas. Sigue estos pasos:
Ve al explorador de contenido y navega hasta la carpeta AdventureGame > Designer > Traps.
Abre el blueprint BP_TrapFire.
En el panel Componentes, selecciona el componente Base, haz clic en Añadir y añade un componente del sistema de partículas Niagara.
Si seleccionas primero el componente base, añadirás el componente de Niagara como hijo del componente base. Este es un paso importante para hacer que el efecto de fuego se adapte al de tamaño del componente base.
Selecciona el componente Niagara y, en la sección Niagara del panel Detalles, cambia el recurso del sistema Niagara al NS_LW_Fire que has creado.
En el editor de blueprints, abre la pestaña EventGraph. Así es como se ve ahora:
Antes del nodo Stop de la fila superior, añadirás dos nuevos nodos para desactivar el efecto de fuego.
Elimina la conexión entre los nodos Stop y Set material manteniendo pulsada la tecla Alt y haciendo clic izquierdo en la conexión que hay entre ellos.
Haz algo de espacio entre los nodos.
Haz clic con el botón derecho en el centro y añade un nodo Deactivate Niagara. Ten en cuenta que este nodo lleva el nombre del componente de Niagara que has añadido antes; por ejemplo, Deactivate [componente], por lo que el nombre puede diferir del que se muestra aquí.
Conecta el nodo Set Material al nodo Deactivate Niagara.
Conecta el nodo Deactivate Niagara al nodo Stop Audio.
Ahora, repetirás estos pasos para la fila que hay debajo de esta, donde están Set Material y Play Audio.
Sigue los mismos pasos que antes y añade un nodo Activate Niagara en su lugar.
Compila y guarda tu blueprint.
Tu grafo de eventos debería tener este aspecto:
A continuación, añadirás la capacidad de modificar el parámetro de usuario de Niagara FireSpawnRate que creaste antes a partir del blueprint de trampa. En este ejemplo, estás modificando la tasa de generación de fuego, pero esta técnica puede usarse para modificar cualquier número de parámetros de usuario en tu sistema Niagara.
Para modificar el parámetro de usuario, sigue estos pasos:
En el editor de blueprints, ve a la pestaña Secuencia de comandos de construcción.
Crea una variable float nueva y nómbrala FireSpawnRate.
Selecciona la nueva variable y haz lo siguiente:
Cambia la categoría a Configuración. Esto categorizará FireSpawnRate con las otras variables de la categoría Configuración.
Cambia el valor predeterminado a 10. Esto garantiza que cada nueva instancia de la trampa de fuego en el nivel comience con partículas visibles.
Habilita Editable de instancia para hacer pública esta variable.
En el grafo, arrastra desde el pin de ejecución del nodo Parent: Construction Script y añade un nodo Set Niagara Variable (Float). En este nodo:
Introduce 'FireSpawnRate' en el campo de texto In Variable Name. Hace referencia al parámetro que has creado en el sistema Niagara. Asegúrate de escribir el nombre tal y como aparece en tu sistema Niagara.
Arrastra el pin In Value y añade un nodo Get FireSpawnRate. Esto se refiere a la variable que creaste en este blueprint.
Arrastra el pin Target y añade un nodo Get Niagara, que hace referencia al componente de Niagara que añadiste al blueprint.
Guarda y compila el blueprint. Tu grafo de la secuencia de comandos de construcción debería tener este aspecto:
¡Es hora de probar tu juego y ver el efecto de fuego! Como has añadido el efecto de fuego al recurso de blueprint de trampa, no tienes que añadir el efecto visual a tu nivel ni cambiar ninguna de las trampas manualmente. Las trampas obtienen automáticamente los efectos de fuego.
Cómo ocultar la malla base de la trampa de fuego
Para ocultar la malla cuadrada de la trampa de fuego y que solo se vea el efecto de fuego en el juego, sigue estos pasos:
Vuelve al blueprint
BP_TrapFire.En el panel Componentes, selecciona TrapBase.
En el panel Detalles, ve a la categoría Renderizado y habilita Oculto en el juego.
Compila y guarda el blueprint.
Ahora, cuando juegues, solo verás el efecto de fuego en la superficie.
Cómo modificar la tasa de generación de fuego
Puedes usar la variable FireSpawnRate que creaste antes para cambiar el número de partículas de fuego que produce cada trampa individual.
Para modificar la tasa de generación de fuego, sigue estos pasos:
En el panel del esquematizador, usa el campo de búsqueda para buscar BP_FireTrap. También puedes abrir la carpeta Room2 para ver todas las trampas de fuego de la sala 2.
Selecciona todos los actores BP_FireTrap.
En el panel Detalles, dentro de la categoría Configuración , cambia el campo Tasa de generación de fuego a 20.
Verás que el número de partículas de fuego generadas cambia en función de la cifra que introduzcas. ¡Puedes seguir probando diferentes valores hasta que encuentres la cantidad adecuada para tu juego!
¡Sigue experimentando con tu efecto y verás lo que puedes crear! Para obtener más información, consulta Creating Visual Effects.
Proyecto de ejemplo
A continuación tienes un enlace para descargar el proyecto de muestra final que puedes construir usando esta serie de tutoriales. Puedes usar este proyecto de muestra para ver cómo quedaría tu proyecto final o como referencia para ver cómo compilamos y diseñamos el proyecto.
Siguiente
¡Enhorabuena por completar la serie de tutoriales de proceso artístico! Has aprendido a trabajar con materiales, efectos de posprocesamiento, iluminación, audio y efectos visuales de Niagara para crear un pase de artístico en tu nivel.
Si te interesa empaquetar tu proyecto como programa independiente para probar y compartir, consulta la siguiente documentación: