Ver Mensaje Individual
Antiguo 04 abr 2008   #4
phoelix
Senior Member
 
Avatar de phoelix
 
Fecha de Ingreso: mayo-2005
Ubicación: Bogotá, Colombia
Mensajes: 235
Contactar con phoelix a través de MSN
Predeterminado Re: Actializar materiales - 3dmax

Ok, creo que seria algo facil si se hiciera de esta forma:

por ejemplo:esta un archivo A (C:\A.max) con una cantidad de objetos con un material y un modificador UVWMap cada uno (ojo si es unwrap no funciona), y un archivo B (C:\B.max) con objetos equivalentes a los del archivo A, con los mismos nombres pero con modificaciones. Entonces para obtener el material y el modificador uvw map de los objetos viejos y ponerselos a los nuevos puedes hacer que el script primero abriera el archivo viejo, copiara los materiales y los modificadores UVWMap de cada uno de los objetos, luego abriera el archivo nuevo y asignara los materiales y los modificadores a sus respectivos objetos:

Código:
ArchivoA="C:\A.max"
ArchivoB="C:\B.max"
ListaModMat=#()

loadMaxFile ArchivoA quiet:true
for obj in Geometry do
(
       append ListaModMat #(obj.name, obj.material, obj.modifiers[#UVW_Mapping])
)

loadMaxFile ArchivoB quiet:true
for MM in ListaModMAt do
(
       obj=getNodeByName MM[1]
       if obj!=undefined then
       (
              obj.material=MM[2]
              if MM[3]!=undefined then addmodifier obj MM[3]
       )
)

saveMaxFile (maxFilePath + maxFileName)
en el archivo A el script recorre todos los objetos con geometria en la escena y por cada objeto almacena el nombre, el material y el modificador en una lista: #(obj.name, obj.material, obj.modifiers[#UVW_Mapping]), esta a su vez es almacenda en otra lista llamada ListaModMat que contendria todas las listas de cada objeto.

Luego abre el archivo B, recorre cada item de la ListaModMat, obtiene el objeto a partir del nombre, si este objeto existe le asigna el material y si el modificador existe le asigna el modificador.

si no quieres que guarde el archivo al final tienes que quitarle la ultima linea.

espero que te pueda ser de utilidad
__________________
www.immersionsoftware.com

Última edición por phoelix fecha: 04 abr 2008 a las 17:18.
esta ahora conectado.   Responder Con Cita