Bienvenido a un nuevo codelab de nuestro curso sobre desarrollo de aplicaciones XR, en esta ocasión vamos a aprender a descargar e importar modelos 3D, texturas y materiales a Unity. Esperamos que en este Codelab puedas conocer, en detalle, las opciones que tienes para descargar modelos 3D e importarlos adecuadamente en Unity.
A lo largo del tutorial conocerás sitios web dónde podrás descargar objetos, tales como personajes, NPCs o jugadores, objetos individuales, grupos de objetos, entornos completos y texturas individuales. Cabe anotar que, en este Codelab entenderás las categorías de objetos que puedes importar en Unity, sin embargo, no debes cambiar tu escena MiHuerto.
A lo largo de este tutorial aprenderás de diversos sitios para descargar tus objetos, recuerda siempre usar licenciamiento abierto o dar atribución de los objetos que uses en tus aplicaciones.
En este enlace puedes consultar los tipos de licencias Creative Commons para poder usar los objetos en tus proyectos XR.
Para descargar los personajes que necesites para tu aplicación XR, puedes entrar a Mixamo. Esta es una plataforma donde puedes descargar personajes en formato FBX en pose T o con animaciones incluidas. Para acceder a Mixamo, necesitas una cuenta de Adobe. Da click en este enlace para conocer sobre el licenciamiento de Mixamo.
En caso de que no tengas una cuenta de Adobe, es necesario crear una, para ello da click sobre Sign Up For Free.
Luego, diligencias los campos de correo y contraseña, seleccionas Continue.
Posteriormente, completa los datos de Nombre (Name), Apellido (Last Name), Fecha de Nacimiento (Date of Birth), y seleccionas tu País (Country). Luego, selecciona Create Account.
A continuación, te llegará un código de confirmación a tu correo registrado, lo escribes en los espacios disponibles.
Finalmente, la página te debe redirigir a la página principal de Mixamo.
En caso de que ya tengas una cuenta Adobe, selecciona Log In e ingresa tus datos. Posteriormente, debes llegar a la página principal de Mixamo.
Para descargar personajes, seleccionas Character, luego, en la barra de búsqueda en la esquina superior izquierda, buscas un personaje, luego, lo seleccionas para verlo.
En el costado superior derecho, seleccionar Download
Luego, en el formato, seleccionar FBX for Unity y en pose dejar T-Pose. Finalmente, seleccionar Download.
Para importar tu modelo a Unity, lo arrastras en la Ventana Project en una carpeta destinada a guardar modelos 3D.
Nota: Más adelante en este curso, aprenderás a descargar tus personajes con animaciones.
Ya puedes añadirlo a tu escena, en caso de que tu personaje no tenga las texturas puedes ir a la sección Recuperar Texturas de tus GameObjects de este Codelab.
Para los objetos individuales puedes utilizar Sketchfab. Esta es una plataforma con múltiples modelos 3D que puedes descargar.
Para crear una cuenta seleccionas Sign Up, en la parte superior derecha.
Luego, creas un usuario, pones un email y una contraseña para tu nueva cuenta, lees y aceptas términos y condiciones, luego, selecciona Create Account.
Posteriormente, te llega un correo con un código de confirmación, este lo escribes en la pantalla que te sale a continuación.
Una vez autenticado, verás esta pantalla, selecciona una de las opciones para continuar.
Luego, completa tu perfil y selecciona Continue.
Ya estás listo para comenzar a explorar y descargar tus Objetos 3D.
En la página principal de Sketchfab, seleccionas Explore.
Una vez se abre la nueva página, en la barra superior puedes escribir el nombre del objeto que quieres descargar, luego en licenses seleccionas las siguientes:
IMPORTANTE: Recuerda que es necesario seleccionar estas licencias para poder utilizar los modelos 3D legalmente en tu proyecto.
Una vez elegido el modelo 3D, lo seleccionas y lo descargas. Asegúrate que tu objeto a descargar esté en FBX, de esta manera puedes proceder con la descarga.
Para importar tu objeto en Unity, abres tu escena y arrastras el archivo descargado a tu ventana project, en una carpeta destinada a guardar modelos 3d.
¡Ya puedes arrastrar tu objeto a la ventana de jerarquía y ubicarlo donde tú decidas!
Si tu objeto 3D tiene elementos extra como cámaras o luces, puedes eliminarlos, esto ya que tenemos la cámara y la iluminación de la escena.
En caso de que tus objetos no tengan las texturas puedes ir a la sección Recuperar Texturas de tus GameObjects de este Codelab.
Para descargar grupos de objetos, puedes dirigirte a Unity Assets Store, esta es la tienda de Unity donde directamente puedes comprar o descargar gratis grupos de objetos.
Para descargar grupos de objetos primero en tu proyecto de Unity, dirígete a Window > Asset Store.
Luego, seleccionas Search Online.
Esto abrirá una ventana de tu navegador, allí vas a buscar los objetos que complementarán tu escena. En la parte izquierda en Pricing, seleccionas Free Assets.
Luego, abres el grupo de objetos que más se adecue a tu aplicación y selecciona Add to My Assets, acepta términos y espera a que se complete el proceso.
IMPORTANTE: Recuerda revisar el tipo de licencia que tienen los objetos que seleccionaste, esto lo puedes ver al costado derecho de la pantalla.
Después, regresa a Unity y ve a Window > Package Manager y selecciona en Packages: My Assets
Luego, busca el paquete que acabas de descargar y selecciona Download, luego Import.
Finalmente, buscas tus objetos en la ventana project y estás listo para añadirlas a tu escena.
Los entornos completos puedes descargarlos también de Sketchfab. Como en un paso anterior ya creaste la cuenta, solo debes iniciar sesión en Sketchfab.
En la barra superior de Sketchfab, ingresas tu búsqueda, luego seleccionas el tipo de licenciamiento.
Seleccionas el entorno más adecuado y lo descargas como FBX.
En Unity, arrastras la carpeta que descargaste a tu carpeta de Modelos 3D. Dentro encontrarás dos carpetas, una con Source y otra con Textures. Source contiene el modelo 3d y Textures, las texturas del modelo.
Abres la carpeta source, en la ventana de inspector verás si tiene las texturas embebidas, debes verificar que tengas la carpeta de texturas en tu proyecto de Unity. Arrastra el modelo a tu escena. En caso de que no te salgan las texturas ve a la sección Recuperar Texturas de tus GameObjects de este Codelab.
Recuerda eliminar objetos como cámaras o luces en tu objeto. Para ello, en la ventana de jerarquía despliega el contenido de tu GameObject da click derecho sobre las cámaras y selecciona delete.
Si el GameObject es un prefab lo debes desempacar completamente antes de eliminar algún componente. Para ello da click derecho sobre el GameObject > Prefab > Unpack Completely.
Luego, ya puedes eliminar los objetos como cámaras y luces.
En caso de que tu entorno completo no tenga las texturas puedes ir a la sección Recuperar Texturas de tus GameObjects de este Codelab.
Para descargar texturas individuales puedes usar Share Textures, esta plataforma te permitirá acceder a diferentes texturas y descargarlas. Recuerda conocer sobre el licenciamiento de las texturas. Las de Share Textures cuentan con licenciamiento CC0, para mayor información da click en este enlace.
En la página principal busca la textura que quieras añadir.
Luego, podrás observar las texturas disponibles. Selecciona la que más se adapte a tu aplicación XR.
Finalmente, selecciona Download y espera a que se complete la descarga.
Añade la carpeta con tus texturas a Unity en la ventana project.
Crea un material nuevo dando click derecho > create > material y le das un nombre.
Ahora en la ventana inspector vamos a comenzar a añadir las imágenes descargadas de la carpeta de Texturas. Estas las añadirás en Main Maps.
De acuerdo a las texturas que tengas las vas a ir añadiendo arrastrandolas a cada una de los cuadrados junto al nombre del tipo de textura. Frente a la principal puedes elegir un color base también, para modificar cómo se ve tu textura.
¡Ya puedes ponerle tus texturas favoritas a tus GameObjects!
Muchas veces, cuando importas tus GameObjects en Unity, estos pareciera que no tuvieran las texturas, sin embargo, estas pueden que estén embebidas en el objeto o en una carpeta aparte en tu descarga. Entonces, asegúrate siempre de importar todas las carpetas con las que se descarga tu objeto. A continuación, veremos algunas formas en las que podemos agregar las texturas dependiendo de si estas se encuentran en una carpeta aparte o no.
Cuando tu modelo no viene con una carpeta de texturas puedes observar si estas están embebidas. Esto significa que las texturas y los materiales están incluidos directamente en el archivo en lugar de estar en una carpeta separada.
Si arrastras tu modelo a la ventana de jerarquía y ves que no tiene texturas, debes dirigirte a la ventana inspector, dar click en Select, luego en Extract Textures, seleccionas la carpeta destino y esperas que se extraigan las texturas.
Es posible que durante el proceso de extracción de texturas, te salga un aviso de error, en este caso seleccionas Fix Now, y esperas que se complete el proceso.
Haces el mismo proceso con Extract Materials y ¡Listo, ya tienes tu personaje con texturas y materiales en tu entorno de Unity!
En caso de que la opción de Extract Textures esté deshabilitada y cuentes con una carpeta de texturas aparte, vamos a intentar arrastrar las texturas al GameObject en la escena.
En este caso, debes dar click en Extract Materials, luego seleccionas la carpeta donde quieres que se extraigan los materiales y esperas a que se complete el proceso.
Luego, vas a tu carpeta de texturas que importaste con el modelo. Posteriormente, seleccionas tu GameObject y en la ventana inspector vas al componente que contiene el material.
En el recuadro de Albedo arrastras la textura principal y según tengas las otras texturas las arrastras a cada uno de los mapas disponibles.
¡Listo, ahora tienes tu objeto con su textura!
¡Felicidades! Has completado el codelab sobre Descarga e Importación de Modelos 3D, Texturas y Materiales. Ahora, ya conoces sitios donde puedes descargarlos y cómo importarlos en Unity para trabajar con ellos. No olvides siempre verificar la licencia de los objetos para poderlos usar en tus aplicaciones XR. Esperamos que esta guía te haya sido útil. Te invitamos a seguir explorando y experimentando con Unity.