Dante-Leoncini / Blendersito

Una version de Blender creada desde cero para Symbian
561 stars 6 forks source link

app closes when importing #3

Closed 0xyhadron closed 4 months ago

0xyhadron commented 4 months ago

app closes when i try to import obj (google translated :

la aplicación se cierra cuando intento importar obj)

Dante-Leoncini commented 4 months ago

español: comparti el obj para ver que es. hay un par de problemas conocidos que hacen que crashee: 1) que el obj no tenga materiales, 2) que no este el archivo mtl, 3) que no tenga coordenadas UV, 4) que no tenga vertex normal. 5) que sea enorme y por lo tanto se vea roto. eso no hace que crashee pero si se va a ver mal. para eso hay que tratar de que no sea mas grande que el cubo por defecto de blender.

ingles: Share the obj file so we can see what it is. There are a few known issues that can cause it to crash: 1) the obj file doesn't have materials, 2) the mtl file is missing, 3) it doesn't have UV coordinates, 4) it doesn't have vertex normals, 5) it is enormous and therefore appears broken. This won't cause it to crash, but it will look bad. To fix this, ensure that it is no larger than Blender's default cube.

Dante-Leoncini commented 4 months ago

sin el obj no se cual es el error @0xyhadron :p pasalo apenas puedas

0xyhadron commented 4 months ago

hello thank you for your quick reply, ive attached 2 objs, one is very small and made for testing your blender version, and the other one is a model i made, that i wanted to try to get on the phone. (edit: im using nokia n95 8gb version, loaded from mass storage)

Hola, gracias por tu rápida respuesta. He adjuntado 2 objetos, uno es muy pequeño y está hecho para probar tu versión de Blender, y el otro es un modelo que hice y que quería probar por teléfono. (editar: estoy usando la versión nokia n95 de 8 gb, cargada desde el almacenamiento masivo)

very cool project btw, very impressive! testedobjects.zip

Dante-Leoncini commented 4 months ago

mirando los archivos veo que tiene quads y ngones. eso no deberia crashar pero hay triangulos que no se van a ver (aun no agregue soporte para quads y ngones) al exportarlo hay que tildar la opcion "Triangulated mesh". lo segundo que veo es que no me pasaste las texturas. es posible que busque la textura y al no existir crashee. lo tercero que veo es que el modelo esta bien. y como esta bien esta mal... me explico: Como openGl ES 1.1 no tiene soporte de FaceCorners. hay que guardar los datos en los vertices. es por eso que por ejemplo un cubo que tiene 8 vertices. en OpenGl ES 1.1 para que se vea bien tiene que tener 24 vertices. 1 vertice por cada cara. tambien tiene que separarse en las costuras de las UV. y en caso de tener diferente color tambien hay que crear vertices nuevos. desperdicio de memoria? si.. totalmente. pero no diseñe yo la api xD.

Soluciones: 1) arreglar el modelo en blender de pc para que al exportar quede perfecto (es lo que hice en todas las demos). 2) usar el nuevo importador (pero mas lento) que puse en blendersito donde arregla esos problemas y convierte automaticamente el modelo. el drama es que crashea con mallas 3d muy grandes...

Seguramente haga un conversor ya que trabajar en blender de PC y dejar los modelos 3d listos para OpenGL ES 1.1 toma mucho tiempo y es doloroso. Convertirlo en el telefono es una opcion que funciono parcialmente. y seguro haga un nuevo formato especial para importar/exportar ya que hay MUCHO margen de mejora en los tiempos de carga. ademas que obj no soporta: grupos de vertices, shapekeys, no guarda el origen de los objetos, no respeta el emparentamiento, no tiene esqueletos ni animaciones de esqueletos. son todas cosas que voy a agregar.

ahora intento hacer que anden esos modelos @0xyhadron sin optimizarlos. cuando este andando subo el cambio y muestro como queda. mientras pasame las texturas (o alguna textura) del arma.. estoy en la duda de que ocurre al cargar tantas texturas de una. cuando lo hice en mapas crashaba asi que tuve que ir cargando de 3 en 3 texturas

Dante-Leoncini commented 4 months ago

encontre el problema de "testobject". es que el archivo mtl tiene 2 materiales. el obj tiene 1 solo material. cuando intenta asignar las propiedas del material... como el material no existe crashea. ahora lo arreglo en el codigo y lo subo. asi se ve:

image

Dante-Leoncini commented 4 months ago

ya arregle el error de que si el mtl tiene materiales que no existen. no crashee. esta subido. vamos por el siguente

Dante-Leoncini commented 4 months ago

Si el archivo MTL no existe ya no crashea. image

si las texturas no existen ya no crashea. image

las rutas de las texturas estan mal. tienen que ser relativas al archivo y no absolutas. ahi ya no puedo hacer nada. en el mtl dice: "map_Kd D:/vrij2/revolvertextures/revolvercylinder/cylinder_Material.004_AlbedoTransparency.png"

apuntan a un disco "D" que obviamente no existe en el telefono. eso si o si hay que arreglarlo exportandolo bien. el cambio ya esta subido

Dante-Leoncini commented 4 months ago

si el obj no tiene materiales. se le asigna el material por defecto. evitando que crashee. tambien ya esta subido.

0xyhadron commented 4 months ago

image hello thank you for the detailed explaination and updates, im very pleased to see this, ive been able to get the models on the phone! the problem with the textures like you said is that they were not exported properly, but also that there are multiple textures for the single model, this is because of how it was modeled,unfortunately i cannot simply merge the textures down, so unless i retexture this, the texture for this particular model ends here. again thank you for your quick response!