Entradas populares

sábado, 6 de noviembre de 2010

crear un script para publicar modelos

he intentado hacer un script de demostracion de como se haria un script para produccion siguiendo este metodo, pero creo que me ha quedado un poco largo, asi que lo ire explicando en varios pasos

supongamos que una vez que los modeladores han acabado de modelar, sus modelos tienen que ser publicados en un sitio concreto y con estas caracteristicas

  • de una solo pieza
  • sin historico
  • con un locator por encima con el nombre MDL_<nombre del modelo>

y que el script este hecho de tal modo que pueda ejecutarse facilemente desde maya o en modo batch sobre multiples escenas

en primer script lo haremos muy facil, muy parecido al ejemplo que he puesto para el MayaPython



en el lo unico interesante es la llamada a la funcion LVpublicaModelo, a la que le pasamos el nombre que queremos que tenga el modelo, en este caso "cortacesped"

en la clase 'scene' le hemos añadido este metodo, y aunque ya es algo mas complicado seguimos trabajando de un modo mas abstracto



en el llamamos a LVmayaObject que ya lo hemos visto, pero tambien a dos que no hemos visto, el LVmesh y el lvPath

el LVmesh es un descendiende del LVmayaObject donde ejecutamos las tareas propias de los poligonos, y el LVpath es una clase que nos define los path del proyecto como queramos

vemos facil que lo primero que hacemos es crear el nombre del archivo final

luego creamos un objeto de la clase mesh, con el nombre que le hemos dado y llamamos a la funcion combina, esta funcion lo que hace es que le pasamos una lista de objetos de clase 'mesh', nos hace un combine de ellos y nos devuelve un objeto de clase transform, tambien descendiente de LVmayaObject



la lista la hemos generado con un nuevo metodo para la escena, el listade



este metodo nos devuelve una lista de todos los objetos del tipo que busquemos en la escena de maya y nos los devuelve como una lista de mayaObjects o de la clase que necesitemos dependiendo de que tipo de objeto de maya que busquemos

veis que la funcion no es muy complicada, aparte de que nos puede ser muy util en muchos otros casos

ahora creamos el locator que va a ser el padre de este objeto, como aun no hemos definido la clase locator va a tener que ser de clase LVmayaObject, pero de todos modos probamos a tipificarla por si algun dia definimos esa clase

ejecutamos la funcion de creacion
y luego dos funciones que hemos metido nuevas al LVMayaObject, el emparenta, que emparenta un objeto LVmayaObject o un descendiente suyo al objeto actual



y el selecciona, que nos selecciona o añade a la seleccion el objeto actual



al final creamos un nuevo objeto scene llamando al metodo graba_seleccionado en el objeto scena actual



como veis cada una de los metodos nuevos que hemos ido añadiendo a las clases son bastante sencillos, y el metodo publicaModelo no llega a llamar a maya.cmds, estamos abstrayendo las funcionalidades a base

No hay comentarios:

Publicar un comentario