Pasar script de python Blender a 3ds

jor1980 - 05/10/2009 23:48
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.
Nessito - 06/10/2009 12:20
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.
jor1980 - 06/10/2009 16:08
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.
Nessito - 06/10/2009 16:11
Sube un ejemplo y le echo un vistazo.
jor1980 - 06/10/2009 18:57
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.
Nessito - 07/10/2009 13:02
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.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #114603

jor1980 - 07/10/2009 13:43

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.