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.
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 :)
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.
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).
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.
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 !!!
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
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.
pones en edit mode-> seleccionas todos los vértices (tecla A). Después:
Ctrl+T -> quads->triangles
Ctrl+J -> triangles->quads
¿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.
http://www.blender.org/modules/documentation/242PythonDoc/Mesh.Mesh-class.html#quadToTriangle
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?.
Cita de: "ethernet"http://www.blender.org/modules/documentation/242PythonDoc/Mesh.Mesh-class.html#quadToTriangle
aaaaaanda... muy listo tú
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
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?
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.
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?
coño!, pues ahora que me doy cuenta no hace falta reiniciar el blender. :oops:
olvidad lo anterior.
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 :?
Al final tendré que registrarme en 3dPoder :P
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.
:D Exacto!