Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: marcode en 27 de Enero de 2007, 03:23:19 PM

Título: Crear plugin-export para blender
Publicado por: marcode en 27 de Enero de 2007, 03:23:19 PM
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.
Título: Crear plugin-export para blender
Publicado por: ethernet en 27 de Enero de 2007, 04:54:00 PM
autobombo:  http://blep.blogspot.com/2006/11/compartiendo-datos-entre-python-y-c.html
http://blep.blogspot.com/2006/07/blender-para-programadores.html

quizás te ayude :)
Título: Crear plugin-export para blender
Publicado por: marcode en 27 de Enero de 2007, 05:44:24 PM
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.
Título: Crear plugin-export para blender
Publicado por: Mars Attacks en 28 de Enero de 2007, 09:52:10 AM
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).
Título: Crear plugin-export para blender
Publicado por: marcode en 28 de Enero de 2007, 04:08:09 PM
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.
Título: Crear plugin-export para blender
Publicado por: marcode en 30 de Enero de 2007, 12:12:01 AM
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 !!!
Título: Crear plugin-export para blender
Publicado por: Mars Attacks en 30 de Enero de 2007, 12:15:48 AM
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
Título: Crear plugin-export para blender
Publicado por: marcode en 30 de Enero de 2007, 12:30:58 AM
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.
Título: Crear plugin-export para blender
Publicado por: ethernet en 30 de Enero de 2007, 09:22:20 AM
pones en edit mode-> seleccionas todos los vértices (tecla A). Después:

Ctrl+T -> quads->triangles
Ctrl+J -> triangles->quads
Título: Crear plugin-export para blender
Publicado por: BeRSeRKeR en 30 de Enero de 2007, 09:46:31 AM
¿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.
Título: Crear plugin-export para blender
Publicado por: ethernet en 30 de Enero de 2007, 10:26:46 AM
http://www.blender.org/modules/documentation/242PythonDoc/Mesh.Mesh-class.html#quadToTriangle
Título: Crear plugin-export para blender
Publicado por: marcode en 30 de Enero de 2007, 10:32:40 AM
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?.
Título: Crear plugin-export para blender
Publicado por: marcode en 30 de Enero de 2007, 10:37:50 AM
Cita de: "ethernet"http://www.blender.org/modules/documentation/242PythonDoc/Mesh.Mesh-class.html#quadToTriangle

aaaaaanda... muy listo tú
Título: Crear plugin-export para blender
Publicado por: ethernet en 30 de Enero de 2007, 10:39:17 AM
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
Título: Crear plugin-export para blender
Publicado por: marcode en 30 de Enero de 2007, 10:48:55 AM
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?
Título: Crear plugin-export para blender
Publicado por: ethernet en 30 de Enero de 2007, 10:52:34 AM
Sí, es algo durilla al comienzo, pero en cuando estás 4 o 5 meses te haces a ella :P. En serio, en cuanto sepas un poquillo como va blender por dentro encuentras las cosas rápido.
Título: Crear plugin-export para blender
Publicado por: marcode en 30 de Enero de 2007, 08:42:20 PM
Lo que peor llevo es que cada vez que quiero probar el script tengo que cerrar y volver a abrir el blender, ir a la opción correspondiente, exportar el modelo y si da error (algo habitual) mirar en la ventana de consola.

¿Alguien conoce algun invento para acelerar esto?
Título: Crear plugin-export para blender
Publicado por: marcode en 30 de Enero de 2007, 09:04:07 PM
coño!, pues ahora que me doy cuenta no hace falta reiniciar el blender. :oops:

olvidad lo anterior.
Título: Crear plugin-export para blender
Publicado por: marcode en 01 de Febrero de 2007, 09:22:22 PM
Bien, estoy intentando exportar un modelo que ha modelado no sé quien. el plugin que he hecho de momento lo único que exporta son los vértices y normales de un mesh.

Pero resulta que tiene caras invertidas y las normales orientadas hacia donde miran las caras o hacia donde les da la gana, no sé, el caso es que desde blender se ve bien pero luego tengo que mostrar también las caras ocultas para ver el modelo completo, y se ve fatal iluminado como si tuviera un descontrol de normales.

¿Cómo puedo hacer para organizar eso y que miren al exterior?, espero no tener que hacerlo una a una  :?
Título: Crear plugin-export para blender
Publicado por: marcode en 02 de Febrero de 2007, 08:15:23 PM
Al final tendré que registrarme en 3dPoder  :P
Título: Crear plugin-export para blender
Publicado por: Mars Attacks en 03 de Febrero de 2007, 09:49:43 PM
Que no cunda el pánico. Seleccionas todas las caras (en modo edición) y pulsas Ctrl+N. Quizá necesites hacerlo varias veces. De todas formas, no siempre lo consigue hacer del todo bien, y quizá tengas que arreglar alguna a mano. Para ver si apuntan hacia donde toca, puedes activar el dibujado de normales entrando en modo edición y, a la derecha del todo en la pestaña de Edición (F9) tienes los botones para activar o desactivar una línea que te indique "pa dónde va" la normal, y qué tamaño quieres que tenga esa línea.

Un saludo y suerte.
Título: Crear plugin-export para blender
Publicado por: marcode en 04 de Febrero de 2007, 04:54:44 PM
:D Exacto!