Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Crear plugin-export para blender

Iniciado por marcode, 27 de Enero de 2007, 03:23:19 PM

« anterior - próximo »

marcode

Quiero hacer un formato propio de modelos 3D para exportarlos con blender (de comienzo no muy complejo),  y me gustaría escribir un plugin exportador pero no tengo ni idea de como se hacen ni tampoco de python ni na. ¿Existe algún manual o guía por ahí que se centre en la exportación?.

También me serviría algun script básico que exporte vertices, normales y coord. de textura para ver cómo se hace y tenerlo como base. ¿Hay alguno por la red?, o ¿podríais ponerlo aquí si lo tenéis?, supongo que para el que sepa cómo va no debe ser muy complicado hacerlo o explicármelo.
size=9]afortunadamente siempre ha habido alguien dispuesto a reinventar la rueda, de lo contrario seguiríamos usando un disco de piedra con un agujero.[/size]


marcode

Seguro que me sirve.

Otra cosa es que no consigo que se muestre en el menú del blender un py de exportación copiado de otro al que le he cambiado el nombre, tengo instalado python y establecida la variable de entorno correctamente, pero no sé cómo añadir un plugin nuevo.

Cualquier información de interés será bienvenida, mientras veré que puedo hacer.
size=9]afortunadamente siempre ha habido alguien dispuesto a reinventar la rueda, de lo contrario seguiríamos usando un disco de piedra con un agujero.[/size]

Mars Attacks

Si no recuerdo mal, tienes que cambiar una serie de datos del archivo para que Blender muestre adecuadamente el nombre y la ayuda y todo eso, y tenerlo en la carpeta de plugins. Pregunta en 3DPoder (usa el buscador, está resuelta esa duda por algún lado).

marcode

Ya lo resolví. Luego me surgieron más problemas que pude solucionar editando el archivo Bpymenus.

Con la ayuda del código de Ethernet lo voy sacando, aunque han cambiado algunas cosas respecto al código y los segundos se me están haciendo un poco largos :P

Me vendría bien un manual dedicado a la creación de plugins de exportación.
size=9]afortunadamente siempre ha habido alguien dispuesto a reinventar la rueda, de lo contrario seguiríamos usando un disco de piedra con un agujero.[/size]

marcode

He probado a exportar el cubo que viene por defecto al iniciar blender y las triángulos los dibuja donde le da la gana. Los vértices en su posición correcta pero el tercer triángulo por ejemplo, atraviesa el cubo con 2 vertices abajo y un vértice en frente arriba. Vamos... que es un desastre.

Este es el script.


scn= Blender.Scene.GetCurrent()
object= scn.getActiveObject()
mesh = object.getData(False, True)
file = open("cubo.3d", 'wb')
file.write(struct.pack('i',len(mesh.faces)));
for f in mesh.faces:
  for v in f.v:
     file.write(struct.pack('3f',v.co[0],v.co[1],v.co[2]));


Me parece que me está exportando quads, ¿será eso?.

:x Necesito un manual !!!
size=9]afortunadamente siempre ha habido alguien dispuesto a reinventar la rueda, de lo contrario seguiríamos usando un disco de piedra con un agujero.[/size]

Mars Attacks

Por la experiencia que tengo con el tema del exportado... si quieres exportar triángulos, trianguliza la malla antes de exportar. A mí siempre se me olvida, y pasan cosas raras, ¿eh, Ager? XD

marcode

Mars, si estás por ahí dime dónde está la opción para triangulizar la malla si lo sabes, que me veo toda la noche buscándola.
size=9]afortunadamente siempre ha habido alguien dispuesto a reinventar la rueda, de lo contrario seguiríamos usando un disco de piedra con un agujero.[/size]

ethernet

pones en edit mode-> seleccionas todos los vértices (tecla A). Después:

Ctrl+T -> quads->triangles
Ctrl+J -> triangles->quads

BeRSeRKeR

¿No hay ninguna función expuesta para triangular la malla?.

Por ejemplo en MAX, tanto en MAXScript como en el SDK tienes esa opción (aparte de trabajar con los polígonos tal cual) y de esta forma no tienes que acordarte de que tienes que triangular la malla antes de exportar (aparte de que te ahorras el paso).

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!


marcode

Ya encontré la opción de triangular en el menú y era por eso.

Ahora lo que no sé es qué tengo que hacer para exportar en un mismo archivo varios meshes. Por lo que veo la clase scene solo tiene GetActiveObject(), pero ¿para obtener todos los objetos?.
size=9]afortunadamente siempre ha habido alguien dispuesto a reinventar la rueda, de lo contrario seguiríamos usando un disco de piedra con un agujero.[/size]

marcode

size=9]afortunadamente siempre ha habido alguien dispuesto a reinventar la rueda, de lo contrario seguiríamos usando un disco de piedra con un agujero.[/size]

ethernet

Cita de: "marcode"
Cita de: "ethernet"http://www.blender.org/modules/documentation/242PythonDoc/Mesh.Mesh-class.html#quadToTriangle

aaaaaanda... muy listo tú

Sí, lo de leer la documentación es la polla

marcode

Cita de: "ethernet"
Cita de: "marcode"
Cita de: "ethernet"http://www.blender.org/modules/documentation/242PythonDoc/Mesh.Mesh-class.html#quadToTriangle

aaaaaanda... muy listo tú

Sí, lo de leer la documentación es la polla

Me jode esa documentación por lo difícil de encontrar lo que quiero (que a veces no se ni lo que busco), ¿no estará por ahí en formato chm?
size=9]afortunadamente siempre ha habido alguien dispuesto a reinventar la rueda, de lo contrario seguiríamos usando un disco de piedra con un agujero.[/size]






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.