Este tutorial mostrará una funcionalidad muy básica de los Materiales y un ejemplo de como aplicar diferenctes efectos a un sprite.
Lo primero es entender qué es un Material. Un Material es un asset que puede aplicarse a una malla para controlar el aspecto visual de la escena, o usando unos términos mas sencillos, es la «pintura» que es aplicada a un objeto. Puedes definir su color, como de brillante es, si quieres ver a través de él y muchas cosas mas.
Para crear un Material seleccionaremos nuestra cartepa de Materiales y eligiremos en el menu contextual la opcion Material
Haciendo doble click sobre el material abriremos el Editor de Materiales.
En la sección Material de la pestaña Details podemos elegir las propiedades del material, dependiendo de cuales escojamos activaremos o desactivaremos opciones en el Nodo Resultado.
En este ejemplo vamos a trabajar con sprites 2D sprites y sin efectos de iluminación por lo que escogeremos::
- Surface
- Translucent
- Unlit
Podemos añadir parametros de entrada, como se hacen en las funciones de programación, para controlar la funcionalidad del material de manera dinámica. Añadiremos dos scalar parameters para variar el nivel de transparencia y la luminosidad del sprite usando el click derecho y su menu contextual.
El canal alpha de la textura de muestra debe multiplicarse por nuestro parámetro alpha para reducirlo aplicando un porcentaje y lo conectaremos después a la salida de Opacity de nuestro material. La Texture de muestra puede ser añadida usando el menu contextual también.
Si queremos utilizar la opción de Sprite color en nuestro material tenemos que añadir un nodo de Vertex Color y multiplicar su canal de color con el de nuestra textura de muestra.
Nuestro último parámetro cambiará la luminosidad del sprite, lo conectaremos a la salida de emissive color por lo que lo tendremos que multiplicarlo también a nuestro nodo de sprite color.
Ahora podemos poner juntos todos los parámetros
Para poder usar nuestro material debemos seleccionarlo en el desplegable de la sección de Materiales en la pestaña de detalles del sprite.
Ahora para poder cambiar los parámetros del material dinamicamente tenemos que crear una instancia dinámica del material (Material Instance Dynamic) en nuestro Actor.
Antes de poder usarla, tenemos que inicializarla usando la función Create Dynamic Material Instance y asignando su salida a nuestra variable. No te olvides de seleccionar el material en el campo Source Material.
Ahora ya podemos cambiar los valores de nuestra instancia durante el juego usando la función Set Scalar Parameter Value, sólo estamos cambiando los valores escalares en este ejemplo, con el nombre que hemos asignado al parámetro durante la creación del material.
Podemos combinar los parámetros para conseguir diferentes efectos como un parpadeo rojo cuando el jugador recibe algún tipo de daño, o un parpadeo mientras su estado es invulnerable. Podemos replicar en nuestro juegos todos los efectos de la vieja escuela usando Materiales de una manera bastante sencilla.
Te puede interesar:
Ayudanos con este blog!
El último año he estado dedicando cada vez más tiempo a la creación de tutoriales, en su mayoria sobre desarrollo de videojuegos. Si crees que estos posts te han ayudado de alguna manera o incluso inspirado, por favor considera ayudarnos a mantener este blog con alguna de estas opciones. Gracias por hacerlo posible!