Más dificil todavia para half vector
Hola half Vector, ahora que he descubierto el max script veo que puede ser una herramienta increíble para optimizar trabajo.
No sé si has visto los mensaje he he puesto en videojugos, pero tengo un problema con los canales de mapeado:
Cuando monto la escena todos los objetos están mapeados por mi en el canal 1 y quiero hacer render to texture de todos los objetos usando el Unwrap automático que mete el mapeado en el canal 3 (o cualquier otro canal distinto del 1) mi problema es que para cada objeto de la escena (son muchos) tengo que meter el mapeado del canal 3 en el 1. Ahora mismo lo que hago es meterme en el modificador automatic Flatten UVS, guardo el mapa de UVS, le cambio el canal de mapeado al 1 (perdiendo el mapeado) y volviendo a cargar el mapa esta vez en el canal 1. No sé si en 3dsmax script se puede hacer un script que recorra todos los objetos de la escena cambiando el canal 3 por el 1.
Otro problema que tengo es que, al cambiar el canal tengo que introducir de nuevo la textura baked que me genera el render to texture. Seria posible hacer un script que a partir del directorio donde se encuentran todas vaya asignándolas a cada objeto? Las texturas tienen el nombre del objeto en el formato casa01completemap, arbol01completemap etc. Muchas gracias por tu ayuda, a ver sise puede hacer algo.
Más dificil todavia para half vector
No sé si te he entendido bien. Si lo que quieres es copiar los vértices y caras del mapeado de un canal a otro, puedes hacerlo así:
Código:
Fn copymapchannel obj src dst = (tif (classof obj.= editable_poly) do return false t- Recogemos el número de vértices y caras que contiene el canal fuente tlocal nummapverts = polyop, getnummapverts obj src tlocal nummapfaces = polyop, getnummapfaces obj src t- Activamos el canal destino tpolyop, setmapsupport obj dst true t- Especificamos el número de vértices y caras que contendrá el canal destino tpolyop, setnummapverts obj dst nummapverts tpolyop, setnummapfaces obj dst nummapfaces t- Copiamos los vértices y las caras del canal fuente en el canal destino tfor nvert = 1 todo nummapverts do polyop, setmapvert obj dst nvert (polyop, getmapvert obj src nvert) tfor nface = 1 todo nummapfaces do polyop, setmapface obj dst nface (polyop, getmapface obj src nface) treturn true.
)
La verdad es que no sé si existe algún método que lo haga de forma directa.
Esa función que he hecho sólo funciona con Editable Poly pero se podría modificar fácilmente para que funcionara con editable Mesh. Saludos.
Más dificil todavia para half vector
Cita:
No sé si has visto los mensaje he he puesto en videojugos pero tengo un problema con los canales de mapeado.
Videojugos: dícese del líquido que se obtiene al exprimir un videojuego.
Más dificil todavia para half vector
Videojugos: dícese del líquido que se obtiene al exprimir un videojuego, perdón. Gracias half Vector, probaré la función que me has pasado, solo me falta saber cómo usarla.
Más dificil todavia para half vector
Cita:
Gracias half Vector, probaré la función que me has pasado, solo me falta saber cómo usarla.
Por ejemplo, si quieres copiar el contenido del canal de mapeado 3 en el 1 de todos los objetos de la escena, harías lo siguiente:
Código:
for obj in $geometry do (copymapchannel obj 3 1)
Saludos.
Más dificil todavia para half vector
Te iba a responder ahora mismo que lo había conseguido. Muchas gracias es exactamente lo que buscaba.