Pasar script de python Blender a 3ds

  • #1
    jor1980 está desconectado

    Usuario Avanzado


    Pasar script de python blender a 3ds

    Hola he creado un script en Python para importar un tipo de archivo creado por mi a Blender. No conozco el lenguaje de scripts para 3ds Max y me preguntaba se sería muy complicado traducir mi script al lenguaje que use 3ds Max.


  • #2
    Nessito está desconectado

    Usuario Legendario


    Pasar script de python blender a 3ds

    Pues es como todo, tendrías que saber un poco de los dos lenguajes para poder traducir. Pero, en definitiva, no. No es difícil.

    Yo traduje el algoritmo de cuadrificado de Blender al Maxscript, y no es muy complicado hacerlo mal (aunque funcione). Optimizarlo según los criterios de diseño de ms ya fue otro cantar, pero aún con todo no me pareció excesivamente complicado.

    Y eso que yo de Python, lo justo.

    Aquel que pregunta, es tonto un rato. Aquel que no pregunta, es tonto toda la vida.


  • #3
    jor1980 está desconectado

    Usuario Avanzado


    Pasar script de python blender a 3ds

    En realidad, lo que tengo que traducir es algo simple, he creado un archivo de texto que indica el número de mallas y los vértices y caras de cada una y sus coordenadas UV, mi script las genera en Blender. Simplemente seria traducir eso.


  • #4
    Nessito está desconectado

    Usuario Legendario


    Pasar script de python blender a 3ds

    Sube un ejemplo y le echo un vistazo.

    Aquel que pregunta, es tonto un rato. Aquel que no pregunta, es tonto toda la vida.


  • #5
    jor1980 está desconectado

    Usuario Avanzado


    Pasar script de python blender a 3ds

    Aquí te subo mi script para importar junto con uno de mis archivos, puede que veas raro la parte de las coordenadas UV, en Blender son por cara y en mí archivo por vértice por eso hice la transformación.

    La estructura de mi archivo es simple, es una archivo de texto con un cabecero, una declaración del tipo, de las partes que lo componen y del número de índices y caras de cada parte, posteriormente comienza la declaración de los vértices de la primera parte con sus coordenadas UV, y cuando acaba con los vértices comienza con las caras de esta parte. Así sucesivamente con todas las partes.

    Es importante que el objeto luego en 3ds conserve el nombre (el tipo que aparece en el archivo). Muchas gracias, aquí el enlace.

    Última edición por esmarquez; 22-07-2013 a las 13:56 Razón: El enlace ya no funciona


  • #6
    Nessito está desconectado

    Usuario Legendario


    Pasar script de python blender a 3ds

    Bueno, del Python paso olímpicamente porque amen de que estoy muy verde con él, encima no tengo ni de la arquitectura del Blender.

    Pero la estructura del archivo está muy clara. Solo hay una cosa que me escama:
    La topología de la malla en XYZ y en UV tiene que ser la misma?
    Lo digo porque no tienes contemplado el hecho de que haya costuras. Lo cual implica diversas coordenadas UV para el mismo vértice. Y supongo que, de ahí la historia de que las cords en Blender sean por cara.

    Cuestiones aparte, la historia debería ser algo, así como esto.

    Hace algunas cosas raras, porque no he entendido bien el orden de los vértices, pero más o menos ya tienes lo básico.

    Archivos adjuntados Archivos adjuntados

    Aquel que pregunta, es tonto un rato. Aquel que no pregunta, es tonto toda la vida.


  • #7
    jor1980 está desconectado

    Usuario Avanzado


    Pasar script de python blender a 3ds

    Bueno, del Python paso olímpicamente porque amen de que estoy muy verde con él, encima no tengo ni de la arquitectura del Blender.

    Pero la estructura del archivo está muy clara. Solo hay una cosa que me escama:
    La topología de la malla en XYZ y en UV tiene que ser la misma?
    Lo digo porque no tienes contemplado el hecho de que haya costuras. Lo cual implica diversas coordenadas UV para el mismo vértice. Y supongo que, de ahí la historia de que las cords en Blender sean por cara.

    Cuestiones aparte, la historia debería ser algo, así como esto.

    Hace algunas cosas raras, porque no he entendido bien el orden de los vértices, pero más o menos ya tienes lo básico.

    Los archivos.cf los creo extrayendo la estrucutura 3d de unos archivos de un juego, en ellos solo se contempla la posibilidad de un par de coordenadas UV por vértice. El problema de Blender es que no contempla la asignación de coordenadas UV por vértice mediante script por eso la transformación a coordenadas UV por cara.

    Voy a probar tu script, muchas gracias por el favor.


  • Ver más sobre el tema y los comentarios en el foro