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:
Usar 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:
NodoDistancetoNearestSurface
Nodo ShadingPathSwitch
Nodo de división
Nodo Saturar
Nodo OneMinus
Nodo de tiempo
Nodo sinusoidal
Un nodo Add
Nodo VertexNormalWS
enmascarar nodo
Tres nodos Multiply
arrastra el nodo DistancetoNearestSurface y conéctalo a la entrada Default 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 Divide y conéctalo a la entrada Mobile de ShadingPathSwitch. Esto garantizará que la máscara de sombreado funcione correctamente en todas las plataformas.
Arrastra el conector del nodo ShadingPathSwitch al nodo Saturate. Esto satura el color en la malla.
Arrastra el nodo Saturate 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 Time y conéctalo a la entrada B del nodo Add.
Arrastra el nodo Añadir y conéctalo al nodo Seno.
Arrastra el nodo Seno y conéctalo a la entrada B del primer nodo Multiply.
Selecciona y expande el nodo Seno y cambia el valor de Period a 0.2.
Arrastra el nodo OneMinus y conéctalo a la entrada A del primer nodo Multiply.
Arrastra el primer nodo Multiply 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 primer nodo Multiplicar y el nodo raíz del material.
Arrastra el nodo VertextNormalWS y conéctalo al nodo Máscara.
Arrastra el nodo Enmascarar y conéctalo a la entrada A del segundo nodo Multiply.
Selecciona y expande el segundo nodo Multiply, cambia el valor de la entrada B a 50.0.
Arrastra el segundo nodo Multiply y conéctalo a la entrada B del tercer nodo Multiply.
Arrastra el nodo OneMinus de la primera configuración y conéctalo a la entrada A del tercer nodo Multiply.
Arrastra el tercer nodo Multiplicar y conéctalo a la entrada Desfase de posición en el mundo 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.