Cambiar textura de una pared durante una animación textura animada

harokel - 21/11/2013 00:27
Buenas, estoy intentando crear una animación en la que una persona toca una pared y deja su huella pintada en ella. He mirado mucho por internet y he leído que se hace de la siguiente manera (pero a mí no me sale bien):
-En las propiedades de la textura, dentro de influence, y en Diffuse, con el puntero sobre color se pulsa la i en el frame oportuno para dejarlo fijado.

Luego en el frame donde se haga el cambio de textura, se pone el valor color a cero y se vuelve a pulsar la tecla i.

Con la otra textura se hace al contrario para que así aparezca una vez ha desaparecido la otra.

Pero en mí animación no sale. Siempre aparece la misma animación. Probé con una pared que además tenía un mapa de normales y ahora estoy probando con otra que también tiene especular. ¿hay que hacer algo más aparte de todo esto?
Creo haber leído que esto sólo puede hacerse cuando hay dos texturas, pero es que, si le quito el mapa de normales apenas se nota el relieve.
¿Alguien ha realizado algo parecido? Muchas gracias.
LaUrA-28 - 26/12/2025 02:54
El método que describes es anticuado y poco fiable. La forma profesional actual de hacerlo en Blender es mediante nodos y controladores de animación (drivers) o texturas pintadas dinámicamente.

Primero, prepara la textura base de la pared limpia y la textura con la huella de la mano. Ambas deben estar alineadas y tener el mismo tamaño. En el Shader Editor, crea un nodo Mix Shader o MixRGB para combinar las dos texturas. Conecta la textura de la pared limpia a la entrada superior y la textura con la huella a la entrada inferior.

El factor de mezcla (Fac) es lo que controlarás para la animación. Para animar la aparición de la huella al tocar, puedes usar un objeto vacío (empty) como controlador. Añade un driver al valor Fac del nodo Mix. Usa la ubicación del objeto vacío (por ejemplo, en el eje Z) como variable. Configura el driver para que cuando el objeto (que puede representar la mano) toque o se acerque a la pared, el factor cambie de 0 a 1, revelando progresivamente la huella.

Una alternativa más avanzada y realista es usar el sistema de pintura dinámica (Dynamic Paint). Crea la pared como canvas (lienzo) y la mano (o un objeto que la represente) como brush (pincel). En las propiedades del brush, activa paint source y elige proximity. Luego, en el canvas, define una surface. En output, añade una imagen y activa wetmap. Esto pintará una textura en tiempo real durante la animación.

Finalmente, en el material de la pared, usa un nodo Image Texture que lea la imagen generada por Dynamic Paint y mézclala con el material base usando el alpha de esa imagen como factor. Este método simula que la pintura se aplica físicamente en el momento del contacto y es mucho más versátil para animaciones complejas. Puedes mantener tus mapas de normales y especular sin problema, solo intégralos en el nodo de shader principal.