Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Temas recientes

Crear un boton en unity que me permita importar archivos .obj en tiempo de ejecucion del juego

Iniciado por pruebaCapture, Mayo 08, 2019, 04:46:35 PM

Tema anterior - Siguiente tema
Buenas tardes, estoy realizando una aplicación para exportar en Unity WebGL y exportarla a la web, me gustaria añadir un botón que me permita subir archivos en formato .obj o cualquier otro formato como ejecutable una vez exportado, es decir cargarlo en el tiempo de ejecución Espero que alguien pueda solucionar la duda. Gracias de antemano.

Saludos.


Sobre la creación del botón, puedes hacerlo 3d o 2d.
 
Si optas por el 2d, puedes crear el UI button y configurarlo para que ejecute la función al pulsarlo.
https://docs.unity3d.com/ScriptReference/UI.Button-onClick.html
 
Si optas por el 3d, puedes usar por algún raycast que detecte el botón con un collider.

 
 
 
 


Sobre importar objs, hace faltan instrucciones para leer-escribir archivos, estos archivos se pueden abrir y leer con normalidad como cualquier otro archivo de texto. Un ejemplo de como se harían en Unity. 

Teoría de archivos: http://www.programacionenc.net/index.php?option=com_content&view=article&id=69:manejo-de-archivos-en-c&catid=37:programacion-cc&Itemid=55

Ejemplo en Unity:  https://support.unity3d.com/hc/en-us/articles/115000341143-How-do-I-read-and-write-data-from-a-text-file-
 
 
 
 
 
Lo 3º sería usar la información del archivo para ir recreando el mesh, no estoy muy seguro de como se crea el mesh en unity, cuando hice el importador de obj para OpenGL y Directx, allí tenía práctica y acceso a los buffers de datos que mandaba para renderizar. Pero en Unity no tengo eso así que de momento estoy en blanco.
 
Aquí hay un ejemplo de creación de mesh en Unity
 
https://unity3d.com/learn/tutorials/projects/procedural-cave-generation-tutorial/creating-meshes
 
Parece que carga los vértices y las caras en un objeto Mesh (predefinido en Unity) pero veo que le faltan las UV (los valores vt del .obj) y los normales tampoco los coge del archivo (pero llama a una función RecalculateNormals que está dentro de la clase Mesh. Imagino que resolverá el asunto de los normales ahí dentro. O_ò
 
 

El camino desde Crear un botón a Importar un modelo 3D en tiempo de ejecución existe un camino demasiado largo, por como está formulada la pregunta te recomendaría iniciar con tutoriales en YT sobre programación.

Etiquetas: