Noticias

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

FBX a GameObject

Iniciado por Jorge01, Abril 27, 2017, 05:41:06 PM

Tema anterior - Siguiente tema
Abril 27, 2017, 05:41:06 PM Ultima modificación: Abril 28, 2017, 01:51:44 AM por pioj
Hola,
 
Tengo que importar en Runtime algunos archivos FBX. Estoy intentando crear un GameObject por cada uno, eso no tiene problema, pero no se como adjuntar el FBX. Si lo hago con el editor, nada más tengo que ponerlo en la jerarquía, pero en Runtime no me sale. Alguien echa un cable?
 
Lo agradezco de antemano.

Julio 03, 2017, 10:51:59 AM #1 Ultima modificación: Julio 03, 2017, 04:40:50 PM por pioj
lo tienes que cargar desde la carpeta Asset/Resources con Resources.Load dentro de una variable de tipo GameObject y luego hacer un Instantiate.
 
Algo asi, lo escribo de memoria, asi que puede no ser correcto, pero para que te hagas una idea e investigues:
 



   
       
   
   
      GameObject modelo;
   
   
      modelo = Resources.Load("modelo,fbx") as GameObject;
   
   
      Instantiate modelo;
   
   
       
   

[/quote]
 
 
 
creo que debería funcionar.
 
 

Julio 04, 2017, 12:42:43 AM #2 Ultima modificación: Julio 04, 2017, 12:46:24 AM por lightbug
Cita de: Jorge01 date=1493307666Tengo que importar en Runtime algunos archivos FBX. Estoy intentando crear un GameObject por cada uno, eso no tiene problema, pero no se como adjuntar el FBX. Si lo hago con el editor, nada más tengo que ponerlo en la jerarquía, pero en Runtime no me sale. Alguien echa un cable?
   


Importar un FBX es una funcion del Editor, que no tiene nada que ver con el Engine (para eso existen APIs encargadas de estas cosas, ASSIMP se me ocurre de ejemplo), acordate que no es lo mismo un gameObject con una mesh que un FBX, uno es un formato reconocido por el motor (un Object de Unity) y el otro es un recurso que usa el componente meshFilter, si queres tener cosas predefinidas para usarlas luego en el runtime usas generalmente Prefabs/AudiosClip/Sprites/Textureas,etc. Otro ejemplo son los sprites, Unity reconoce sprites para el runtime, vos los podes cargar con Resources tambien, pero no podes cargar un PNG, lo tenes que previamente importar (Editor). Lo mismo con AudioClip vs mp3/wav, etc,etc.
 
Podes con Resources crearte (no en runtime, no estas haciendo un 3ds max , estas haciendo un juego) varios prefabs o mesh (como quieras) y cargarlas o asignarlas a objetos creados en runtime, eso si lo podes hacer.

Gracias por intentar ayudarme, pero ya lo conseguí y es más fácil que todo eso. Se trata de crear un gameobject y ponerle la imagen como nombre.
 
            CapaNueva = Instantiate (Resources.Load ("imagen") as GameObject;

            CapaNueva.name = "El nombre con el que lo quieras tratar";
 
Dí mil vueltas solo para eso.

 

Cita de: Jorge01 date=1500298592CapaNueva = Instantiate (Resources.Load ("imagen") as GameObject;

                  CapaNueva.name = "El nombre con el que lo quieras tratar";
   


si eso es lo que querias no es claramente lo que preguntas en el post, fijate lo que pusiste:
 
Cita de: Jorge01 date=1493307666Tengo que importar en Runtime algunos archivos FBX
   


Lo que hiciste es un instantiate comun y corriente, y no se a que te referis con lo del "El nombre con el que lo quieras tratar" , dicho sea de paso nunca jamas debes manejar los objetos que vas a tratar por nombre, sino buscar/asignar la referencia al objeto una sola vez, buscar nombres es ineficiente.

Etiquetas: