Unity Spain

Inicio => Offtopic => Mensaje iniciado por: pruebaCapture en Mayo 08, 2019, 04:46:35 PM

Título: Crear un boton en unity que me permita importar archivos .obj en tiempo de ejecucion del juego
Publicado por: pruebaCapture en Mayo 08, 2019, 04:46:35 PM
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.
Título: Crear un boton en unity que me permita importar archivos .obj en tiempo de ejecucion del juego
Publicado por: Antonio en Mayo 09, 2019, 01:27:20 PM
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 (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 (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- (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 (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_ò
 
 
Título: Crear un boton en unity que me permita importar archivos .obj en tiempo de ejecucion del juego
Publicado por: francoe1 en Mayo 09, 2019, 02:53:47 PM
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.