Motivo
Estoy tratando de crear una pequeña aplicación de demostración con WebGL. Elegí usar SceneJS, porque parecía un marco fácil y sería más que suficiente para este propósito.Convertir el modelo 3D a SceneJS JSON, incluida la textura
He descargado un par de modelos .blend (Amy Rose, entre otros) y los exporté como un archivo Collada (.dae) usando Blender. Luego usé scenejs-pycollada para convertirlos a un modelo json.
Acabo de pasar un par de horas para que el convertidor scenejs-pycollada funcione. Aparentemente conseguir que esas dependencias de Python funcionen en Windows no es tan fácil si nunca antes has usado Python. ;)
Problema
Pero ahora estoy atascado (de nuevo). Mi problema es que los modelos no tienen texturas o materiales.
Utilicé el Seymour Plane Example de SceneJS. El modelo que convertí es apenas visible. Es negro y no parece responder a la iluminación de la escena. Si cargo el avión y el modelo juntos, puedo ver que el modelo está cargado, porque sus brazos y piernas sobresalen del avión.
Ahora seguí un par de tutoriales que me permitían exportar la textura como una imagen PNG. Luego modifiqué el nombre del archivo de textura en el modelo JSON para que coincida con el nombre del archivo, pero no ayuda.
Así que espero que alguien me ayude a encontrar una forma de exportar los modelos de Blender (u otros modelos 3D comunes) al formato JSON utilizado por SceneJS, incluidas las texturas.
Cualquier otro método de carga de modelos en SceneJS también lo hará, siempre que funcione.
Si tiene un enlace a descargas gratuitas de modelos cuerpo/figura JSON, eso sería útil por ahora, pero prefiero saber cómo funciona. :)
estoy usando
- Windows 7 Home Premium de 64 bits
- Python 2.7 (Windows 32 bits)
Elegí la versión de 32 bits, debido aparentemente mejor soporte para las bibliotecas, y más instaladores disponibles. Al principio mezclé 32 y 64 bit y me causó problemas, pero ahora todo parece funcionar (excepto por las texturas, eso es). - Blender 2.59
- SceneJS 0.8.0
Mi flujo de trabajo
En Blender Puedo exportar los modelos a Collada (*) .dae archivos, y luego convertirlos a Raw JSON usando scenejs- pycollada. Esto me da un archivo JSON con dos objetos. El primero parece ser la escena, el segundo el modelo. Guardo el segundo y lo pongo en una variable de Javascript que se usa en el código del ejemplo de SceneJS. El modelo termina con las propiedades , "type": "library", "parent": "Scene"
que necesito eliminar del código para que se cargue.
¡Gracias! Parece que funciona con su versión scenejs-pycollada y SceneJS 2.0. No necesitó recompilar nada tampoco, así que está bien. ;) No culpo mucho a los chicos de Numpy, fue un gran error por mi parte instalar versiones incompatibles de las distintas bibliotecas. En este momento estoy probando GLGE, que alguien me recomendó. (carga archivos .dae sin tener que convertirlos). Por ahora necesito que mi demostración funcione, pero espero encontrar pronto tiempo para reinvestigar SceneJS. Gracias de nuevo. – GolezTrol
No hay problema, más errores me avisan :) –