suelo trabajar con eclipse como ide para los scripts, con el subversive como conexion a subversion y el pydev.
tambien tengo el qtdesigner para diseñar las interfaces, todo lo podeis descargar y configurar tal y como cuenta en esta pagina
mi modo de trabajar es bastante basico, en eclipse escribo las classes o los metodos y desde maya las llamo, intento no desarrollar nada en maya, sobre todo por lo facil que es perder un script cuando cometes un fallo y el script no acaba
hay tambien una conexion eclipse->maya que esta bastante bien para los scripts en mel
de toda la configuracion lo mas complejo es el autocompletar, me ha dado algunos fallos pero siguendo las instrucciones de la web que he puesto funciona bastante bien
tengo configurado dos interpretes de python en el eclipse, uno el python 2.6 y otro el mayapy del maya 2011 que es con el que suelo correr los scripts, asi desde eclipse puedo lanzar tareas a maya.
luego tengo el script mas importante en este momento de mi arsenal, el que me permite facilmente ejecutar cualquier script dentro de maya, lo copie de esta pagina
import sys, os SZ_MAYA_LOCATION = 'C:/Program Files/Autodesk/Maya2011' def MayaPython(func): def MayaEnvironWrapper(*args): os.environ["MAYA_LOCATION"] = SZ_MAYA_LOCATION sys.path.append(os.environ["MAYA_LOCATION"] + "/Python/lib/site-packages") import maya.standalone import maya.mel as mel maya.standalone.initialize(name = 'python') version = mel.eval('getApplicationVersionAsFloat') print 'ejecutando maya version %s' % version # extra initialization scripts #maya.mel.eval('source "initialStartup.mel"') return func(*args) # end of MayaEnvironWrapper return MayaEnvironWrapper # end of MayaPython
este script nos permite definir metodos y funciones que se ejecuten dentro de maya simplemente importando esta funcion y poniendo "@MayaPython" en la linea anterior a la definicion de nuestra clase, por ejemplo
from MItools.maya_tools import MayaPython import MImayaObjects.scene as MIscene @MayaPython def MIrender_vray(path): scene=MIscene.scene(scenePath = path) scene.abre_file() scene.lanza_render() ERrender_vray('c:/directorio/projecto/archivo.mb')
este script nos abrira el archivo y lo lanzara a render, realmente lo que estamos haciendo al poner @MayaPython es pasar la funcion que estamos definiendo como argumento para la funcion MayaPython(), que esta ejecuta al final, asi tenemos un modo muy facil de ejecutar scripts sobre maya sin abrir la interface
No hay comentarios:
Publicar un comentario