Entradas populares

sábado, 6 de noviembre de 2010

vamos a complicarlo todo (o no), el mayaObject

Bueno, igual que para gestionar las escenas y trabajar sobre ellas hemos creado la clase scene, ahora voy a enseñaros lo que tengo de lo que va a ser la piedra angular de todo los scripts que trabajen con elementos de la scena, el mayaObject, en esta clase intentaremos definir los metodos basicos con los que trabajaremos en distintos tipos de nodos de maya como puede ser crear, borrar, duplicar, instanciar, seran todas funciones basicas menos un par de ellas que son simplemente para que en vez de los nombres de los objetos nos devuelvan los elementos como otros mayaObjects o sus descendientes, tambien podemos incluir metodos de informacion, como un metodo que nos escriba en un archivo o imprima en pantalla la informacion que queramos de ese nodo.

De esta clase sera de la que luego derivaremos muchas otras, como por ejemplo una clase mesh, en la que tendremos los metodos que necesitemos para trabajar con poligonos, la clase transform, que nos valdra para gestionar las jerarquias

En principio estos metodos son sencillos y parecen demasiado simple, pero hay que mirar un paso adelante para ver su utilidad, por ejemplo en la clase "mesh" podriamos crear un metodo que nos exporte esa geometria , que la cambie por otra, que haga un check de si esta correctamente modelada o que nos haga un informe de cuantos poligonos tiene el objeto, ahora mismo solo estamos creando una base que a la vez es la estructura de nuestra organizacion de los scripts, lo que antes hariamos como un script muy largo para modificar poligonos, ahora es un metodo de muchas menos lineas que esta guardado con otros scripts de poligonos dentro de la clase y que estan hechos de tal modo que unos scripts se apoyan en otros, no solo un archivo que tenemos guardado en el maya/scripts

Habria otros ejemplos de descendientes de la clase maya object como podria ser la clase shader, de la cual todavia podria descender la clase fileTexture, y se encargaria de las conexiones, path de texturas, ....., o una clase camera con controles adicionales como el viejo script de DoF que escribi hace tiempo

Aqui os dejo la clase tal y como la tengo por ahora, esta con los metodos basicos, pero segun vayamos viendo cosas se ira rellenando con metodos mas y mas complejos, pero a la vez apoyados en los metodos y clases ya existentes



No tiene por que ser asi o tener estos metodos, puede tener otros que considereis mas oportunos para vuestras necesidades, como por ejemplo que en vez de scribir en un archivo de texto normal escriba en formato xml, o que se meta en una base de datos.

Otra posibilidad es crearnos classes de objetos virtuales, podriamos crearnos por ejemplo una clase bindMesh que teniendo todos los metodos de una clase mesh tuviese ademas algunas caracteristicas especificas de cuando queremos usarla en un rig

No hay comentarios:

Publicar un comentario