¿Cómo solucionar que el contorno del Toon Shader se pierde al duplicar

nanah - 24/03/2010 00:28
Hola tengo una gran duda. He hecho este tutorial de ton Shader para texturizar una ciudad [url]http://www.dl3d.com/index.php/en/tutoriales/tutorial-cartoon-shader-contourshader-Maya-Mental Ray.html[/url], el caso es que quiero poner los edificios de distintos colores, y cuando duplico el material para cambiarle el color pierde el contorno, solo mantiene el del material inicial. Probé a hacer 5 Lambert distintos he ir haciendo paso por paso en cada uno, pero cuando aplico el dl3dtonshader_contour en uno, el anterior lo pierde, de forma que sólo siempr uno lo mantiene.

Alguien me puede explicar cómo solucionar esto? Me corre mucha prisa. Gracias a todos/as.
LaUrA-28 - 27/12/2025 04:30
El problema ocurre porque el nodo de contorno (dl3dtonshader_contour) está conectado a los atributos de material a nivel de render, no a nivel de shader. En versiones antiguas de Maya, el contorno mental ray se gestiona globalmente. La solución es crear un conjunto de sombreadores (shader) diferente para cada color, pero usar un solo nodo de contorno compartido o configurar correctamente las asignaciones.

Debes asegurarte de que cada material Lambert tenga su propio nodo de sombreador de toon (dl3dtonshader_toon) conectado. Luego, en la ventana de Hypershade, selecciona todos los materiales Lambert que uses para los edificios. Con todos seleccionados, ve al menú de mental ray en la pestaña Contornos y aplica el nodo de contorno (Contour Shader). Esto asignará el mismo shader de contorno a todos los materiales seleccionados de una vez, sin que se pisen.

Un método más moderno y con mejor control es evitar el plugin antiguo y usar el sistema de Toon de Arnold, que es el motor de render actual en Maya. Crea un material AiToon para cada edificio. En cada AiToon, puedes ajustar el color base individualmente. Los contornos se controlan en la pestaña Line del material AiToon, donde puedes activar y personalizar el grosor y color de las líneas. Cada material será independiente y no perderá los contornos al duplicarlo.

Si debes usar mental ray, otra opción es crear un solo material base con el shader de contorno. Luego, para cambiar colores, no dupliques el material completo. En su lugar, duplica solo el nodo Lambert y cambia su color, pero mantén la misma conexión al nodo dl3dtonshader_contour existente. Conecta la salida de cada nuevo Lambert al nodo de sombreador de toon correspondiente, y luego todos esos nodos de toon deben conectarse al mismo nodo de contorno preexistente.