Hola tengo un detalle al exportar Wavefront (*.obj) desde Blender pues cuando lo abro en un applet de java no me aparecen todos los materiales que le puse a mi personaje solo algunos no todos, quisiera saber si es por la forma en que exporto o si se necesita algo más para que se puedan exportar todos tal cual están en Blender. Gracias ojalá me puedan ayudar.
El problema común al exportar OBJ desde Blender es que el formato OBJ no soporta materiales de forma nativa, sino que utiliza un archivo MTL complementario que solo guarda propiedades básicas como color, texturas simples y transparencia. Si tu applet de Java no lee correctamente el archivo MTL o si los materiales en Blender usan nodos complejos (como los de Principled BSDF), no se exportarán completamente.
Para resolverlo, primero asegúrate de exportar correctamente desde Blender. En la ventana de exportación OBJ, debes activar la opción Write Materials y también Include UVs y Include Normals. Esto generará el archivo .obj y un archivo .mtl. Ambos archivos deben estar en la misma carpeta y tu applet debe cargar ambos.
Sin embargo, los materiales modernos de Blender (basados en nodos) no se exportan a MTL en su totalidad. Solo se exportan las propiedades básicas. Si necesitas que todos los materiales se vean, deberás convertir los materiales a un estilo más simple antes de exportar. Puedes hacerlo seleccionando todos los objetos, yendo a la pestaña Material y usando la función Convert para cambiar a Shader BSDF antiguo, pero esto es complejo y puede no dar buenos resultados.
Una solución más robusta es exportar en un formato más moderno que soporte materiales complejos, como glTF 2.0. El formato glTF es estándar para la web y se soporta ampliamente en muchas aplicaciones y librerías. Blender lo exporta perfectamente manteniendo los materiales. Tendrías que verificar si tu applet de Java puede cargar glTF (con librerías como Three.js o similares) o, si no es posible, considerar cambiar el visor 3D de tu applet por uno que soporte glTF.
Si debes usar OBJ sí o sí, verifica que cada parte de tu malla tenga asignado un material en Blender y que no haya materiales duplicados con nombres similares. A veces, el archivo MTL tiene un límite de propiedades y algunos materiales pueden omitirse. Revisa el archivo MTL generado con un editor de texto para ver si todos tus materiales están listados allí. Si faltan algunos, en Blender puedes intentar unir materiales o simplificarlos.