Un material interactivo reacciona en una malla cuando se cruza o está muy cerca de otra malla. Este efecto se logra usando un campo de distancia.
A continuación se muestran tres formas de crear un material reactivo:
-
Usar la distancia para crear una máscara que cambia el color de una malla.
-
Usar una onda sinusoidal para causar ondas en la superficie de la malla donde las dos mallas se cruzan.
-
Usar una máscara vectorial para hacer que la superficie de la malla se acerque a otra malla cercana y envuelva la malla que se cruza.
El nodo DistancetoNearestSurface solo funciona en plataformas que tienen campos de distancia habilitados. Por lo tanto, es posible que el material no funcione como se esperaba en PC y dispositivos móviles de bajo rendimiento porque el cálculo del campo de distancia suele ser un cuello de botella en el rendimiento debido a los campos de alta resolución, o una tarea casi imposible debido a las degeneraciones en las mallas de entrada.
Por lo tanto, usa ShadingPathSwitch para forzar a los sombreadores en DistancetoNearestSurface para que funcionen según lo configurado con plataformas móviles y PC de bajo rendimiento.
Primero, empieza por hacer un material que cambie de color cuando se cruce con otra malla:
-
Crea 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 Divide
-
Nodo Saturate
-
Nodo OneMinus
-
Nodo Time
-
Nodo Sine
-
Nodo Add
-
Nodo VertexNormalWS
-
Nodo Mask
-
3 nodos Multiply
-
-
Arrastra el nodo DistancetoNearestSurface y conéctalo a la entrada Predeterminada en el nodo ShadingPathSwitch.
-
Selecciona el nodo Divide y cambia el valor de entrada de ConstB a 50.0. Esto determina la distancia entre los objetos para que se produzcan los efectos.
-
Arrastra el nodo Divide 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 nodo ShadingPathSwitch y conéctalo al nodo Saturate. Esto satura el color de la malla.
-
Arrastra el nodo Saturate y conéctalo al nodo OneMinus. Esto invierte los sombreadores de la malla.
-
Arrastra el nodo OneMinus y conéctalo a la entrada Color de base en el 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 máscara en la malla. Prueba esto en una malla cruzando esa malla con otra para ver cómo reacciona el material.

Observa cómo el material crea una línea en torno a la forma del automóvil a medida que se acerca.
Efecto ondulante
Ahora crea la segunda configuración del material reactivo:
-
Arrastra el primer nodo Time y conéctalo a la entrada B del nodo Add.
-
Arrastra el nodo Add y conéctalo al nodo Sine.
-
Arrastra el nodo Sine y conéctalo a la entrada B del primer nodo Multiply.
-
Selecciona y expande el nodo Sine y cambia el valor de Período 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 de base en el 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, usando 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 ondas por toda la superficie.

Esta configuración se usa comúnmente para crear agua.
Efecto envolvente
Ahora crea la tercera configuración del material reactivo:
-
Arrastra el nodo OneMinus y conéctalo a la entrada Color de base en el nodo raíz del material. Esto rompe el vínculo entre el primer nodo Multiply y el nodo raíz del material.
-
Arrastra el nodo VertextNormalWS y conéctalo al nodo Mask.
-
Arrastra el nodo Mask y conéctalo a la entrada A del segundo nodo Multiply.
-
Selecciona y expande el segundo nodo Multiply; cambia el valor de 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 Multiply y conéctalo a la entrada Compensación de posición de entorno en el nodo raíz del material.

Así es como debería verse la segunda configuración.

En la ventana de vista previa, observa cómo el material cambia a una apariencia puntiaguda. Cuando se aplica a la malla, la forma de la malla también cambia. A medida que la malla se acerca al automóvil, el material hace que la malla se envuelva alrededor del vehículo.
