Un material interactivo reacciona en una malla cuando se cruza con otra malla o está muy cerca de ella. Este efecto se consigue utilizando un Campo de distancia.
A continuación, te indicamos tres formas de crear un material reactivo:
-
Utilizar la distancia para crear una máscara que cambie el color de una malla.
-
Utilizar una onda sinusoidal para provocar ondulaciones en la superficie de la malla donde se cruzan las dos mallas.
-
Utilizar una máscara vectorial para hacer que la superficie de la malla tire hacia otra malla cercana y se extienda sobre la malla que se cruza.
El nodo DistancetoNearestSurface solo funciona en plataformas que tengan activados los campos de distancia. Por lo tanto, es posible que el material no funcione como se espera en PC de bajo rendimiento y móviles, porque el cálculo del campo de distancia suele ser, o bien un cuello de botella en el funcionamiento, debido a los campos de alta resolución, o bien una tarea casi imposible debido a las degeneraciones de las mallas de entrada.
Por tanto, utiliza ShadingPathSwitch para forzar que los sombreadores de DistancetoNearestSurface funcionen según lo configurado con plataformas móviles y PC de bajo rendimiento.
Primero, empieza creando un material que cambie de color cuando se cruce con otra malla:
-
Crea un nuevo material en el explorador de contenido y haz doble clic en la miniatura del material para abrir el editor de materiales.
-
Crea los siguientes nodos:
-
Nodo DistancetoNearestSurface
-
Nodo ShadingPathSwitch
-
Nodo Dividir
-
Nodo Saturar
-
Nodo OneMinus
-
Nodo Tiempo
-
Nodo Seno
-
Nodo Sumar
-
Nodo VertexNormalWS
-
Nodo Máscara
-
Tres nodos Multiplicar
-
-
Arrastra el nodo DistancetoNearestSurface y conéctalo a la entrada Predeterminada del nodo ShadingPathSwitch.
-
Selecciona el nodo Dividir y cambia el valor de la entrada ConstB a 50,0. Esto establece la distancia entre los objetos para que se produzcan los efectos.
-
Arrastra el nodo Dividir y conéctalo a la entrada Móvil de ShadingPathSwitch. Esto garantizará que la máscara de sombreado funcione correctamente en todas las plataformas.
-
Arrastra el conector del nodo ShadingPathSwitch al nodo Saturar. Esto satura el color en la malla.
-
Arrastra el nodo Saturar y conéctalo al nodo OneMinus. Esto invierte los sombreadores en la malla.
-
Arrastra el nodo OneMinus y conéctalo a la entrada Color base del nodo raíz del material.
Esto crea la base para la configuración del campo de distancia con una representación matemática de la distancia entre objetos. Los sombreadores crean un efecto de enmascaramiento en la malla. Pruébalo en una malla intersectando esa malla en otra malla para ver cómo reacciona el material.

Observa cómo el material crea una línea alrededor de la forma del automóvil cuanto más se acerca.
Efecto ondulante
Ahora vamos a crear la segunda configuración del material reactivo:
-
Arrastra el nodo Tiempo y conéctalo a la entrada B del nodo Sumar.
-
Arrastra el nodo Sumar y conéctalo al nodo Seno.
-
Arrastra el nodo Seno y conéctalo a la entrada B del nodo Multiplicar.
-
Selecciona y amplía el nodo Seno y cambia el valor de Periodo a 0,2.
-
Arrastra el nodo OneMinus y conéctalo a la entrada A del nodo Multiplicar.
-
Arrastra el primer nodo Multiplicar y conéctalo a la entrada Color base del nodo raíz del material. Esto romperá el vínculo entre el nodo OneMinus y el nodo raíz del material.
Esta configuración aplica color a la malla que ahora es reactiva, utilizando la configuración anterior del campo de distancia. El material interactúa con el entorno y crea una malla a su alrededor. Cuando la malla se cruza con otra malla, el material provoca ondulaciones a lo largo de la superficie.

Esta configuración se utiliza habitualmente para crear agua.
Efecto envolvente
Ahora vamos a crear la tercera configuración del material reactivo:
-
Arrastra el nodo OneMinus y conéctalo a la entrada Color base del nodo raíz del material. Esto rompe el vínculo entre el nodo Multiplicar y el nodo raíz del material.
-
Arrastra el nodo VertextNormalWS y conéctalo al nodo Máscara.
-
Arrastra el nodo Máscara y conéctalo a la entrada A del segundo nodo Multiplicar.
-
Selecciona y amplía el segundo nodo Multiplicar, cambia el valor de la entrada B a 50,0.
-
Arrastra el segundo nodo Multiplicar y conéctalo a la entrada B del tercer nodo Multiplicar.
-
Arrastra el nodo OneMinus de la primera configuración y conéctalo a la entrada A del tercer nodo Multiplicar.
-
Arrastra el tercer nodo Multiplicar y conéctalo a la entrada WorldPositionOffset del nodo raíz del material.

Este es el aspecto de la segunda configuración.

Observa cómo el material de la ventana de previsualización cambia para parecer puntiagudo. Cuando se aplica a la malla, también cambia su forma. Al acercar la malla al automóvil, el material hace que la malla envuelva el vehículo.
