Instituto Polit�cnico Nacional
Instituto Politécnico Nacional
"La Técnica al Servicio de la Patria"

Boletín No. 70
1o. de enero de 2019




EXPORTACIÓN DISEÑOS DE BLENDER A UNITY Y GENERACIÓN DE
APK CON ANIMACIÓN EN C#

 

Ing. Magalli Lora Dolores
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Ing. Brandon Arturo Ruiz Garcia
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Dr. Mauricio Olguín Carbajal
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Dr. Juan Carlos Herrera Lozada
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

Instituto Politecnico Nacional
Centro de Innovación y Desarrollo Tecnológico en Cómputo

 

Resumen

En el presente trabajo se muestra el procedimiento para exportar un diseño de Blender a Unity. Así como el uso de Unity para animar tal diseño con una rutina de rotación básica la cual es implementada en C#, generando finalmente el APK (archivo ejecutable de aplicaciones Android) de la simulación que para este trabajo se visualizó en un dispositivo android.

 

Introducción

Blender es un software enfocado al modelado, caracterizado, renderizado y animado 3D de objetos. Cuenta con la opción de dar texturas y materiales, iluminar la escena, etc. Asimismo incluye las tecnologías más utilizadas en el diseño 3D: mallas, textos, meta-objetos, curvas, superficies y modelado escultórico que incluye su propio motor de videojuegos [1].

Pero si se desea visualizar modelos diseñados en Blender en algún dispositivo, ya sea smartphone o tablet, Blender no proporciona esa opción. Razón por la cual se puede acudir a Unity, el cual al igual que Blender es un motor de videojuegos con ciertas mejoras, con la diferencia que tiene soporte de compilación con diferentes tipos de plataformas como: PC, dispositivo moviles, smart TV, consolas de videojuegos y dispositivos de realidad virtual.

Las animaciones realizadas en Blender son respetadas cuando se realiza la exportación del diseño. Después de obtener el APK de Unity solo se debe copiar el archivo en la memoria interna del smartphone o tablet para poder ejecutarlo.

 

Desarrollo

Actualmente, Unity importa:

  • Todos los nodos con posición, rotación y escala y los puntos de pivote.
  • Estructuras poligonales conocidos como Meshe, incluidos vértices, polígonos, triángulos, UVs, y normales.
  • Huesos y Meshes “Skinneadas”, es decir, meshes asignados a los huesos.
  • Animaciones.

Se utilizó un modelo elaborado previamente en Blender el cual contenia una animación de deguimiento de trayectoria (Follow Path) .

Como se mencionó anteriormente la exportacion a Unity se puede hacer junto con la animación realizada en Blender, pero con fines de hacer pruebas se optó por solo exportar el diseño y realizar la animación en Unity. Ver figura 1.

 

Figura 1. Modelo diseñado en Blender.

 

Unity nativamente importa archivos de Blender. Para empezar, se guarda el archivo .blend en la carpeta Assets del proyecto que se este trabajando en Unity. Regresando a Unity el archivo se importará automáticamente y se mostrará en la ventana de proyecto (Project View).

Para ver el modelo en Unity, se debe arrastrar desde la vista de escena del proyecto (Project al Scene View), ya que de lo contrario solo se visualizará la escena de inicio de Unity.

Si se modifica el archivo .blend Unity automáticamente se actualizará cuando se guarden los cambios. Ver figura 2.

 

Figura 2. Modelo Exportado a Unity.

 

Para poder generar el APK se debe de tener instalados el SDK de Android Studio y Java. Si no se cuenta con ellos Unity direcciona a la pagina oficial para su descarga. Para esto se accede a Edit – >Preferences -> External Tools. Si no se cuenta con los SDKs la opción (Browse) mandará a la ubicación actual, de lo contario la opción (Dowload) direccionará a la pagina de descarga. Estos pasos solo se configurán una sola vez. Ver figura 3.

 

Figura 3. Modelo Exportado a Unity.

 

Para realizar la animación del diseño accedemos a Proyect-> Create->C# Script, al cual se le asigna un nombre y se escribe el codigo correspondiente en el editor de nuestra preferencia. Ver figura 4.

 

Figura 4. Codigo que genera una rotación en el eje z.

 

Para poder corroborar que la animación funciona correctamente se guardan los cambios reslizados en el Script y se inicia la animación en Unity presionando el boton de play.

Para generar el APK se accede a File-> Buil Settings donde se podra escoger la plataforma en la que se visualizará el APK. Inicialmente se encontrará en la primera opción. Razón por la cual se tendrá que realizar el mismo procedimiento cada que se quiera generar la APK.

Se escoge la plataforma preferida y se selecciona la opcion (Switch Platform) para guardar el cambio.Ver figura 5.

 

Figura 5. Plataformas disponibles en Unity.

 

Como penúltimo paso se debe de nombrar el APK, dando un nombre a las opciones (Nombre de Compañía) y (Nombre del producto) que se encuentran en (Player Settings). Los nombres que elijamos deben de ser los mismos que usemos en la opción (Package Name) en la opción de (Identification) para evitar posibles errores al momento de generar el APK. Ver figura 6.

 

Figura 6. Nombrando al proyecto.

 

Como último paso se debe seleccionar la opción (build). El tiempo de espera dependerá del tamaño del archivo.

Se generará un archivo .apk el cual debe de ser copiado en el dispositivo que se desee utilizar y ejecutado para su visualizacion. Ver figura 7.

 

Figura 7. Archivo .apk copiado en el dispositivo y ejecutado en un dispositivo Android.

 

Conclusiones

Se puede lograr la exportación de archivos .blend a Unity, respetando todas sus caracteristicas de su diseño original, por lo que se puede escoger Unity o Blender para la realización de diseños 3D sin temor a no poderlos visualizar en algún dispositivo externo. Ademas de adecuar el diseño original sin problemas a ediciones o cambios posteriores en Unity.

La elaboración del archivo .apk se realiza de manera fácil y rápida logrando una visualización de gran calidad en el dispositivo seleccionado.

 

Referencias

  1. Manual de BlenderRecuperado: Septiembre 28, 2018 de https://docs.unity3d.com/es/current/Manual/HOWTO-ImportObjectBlender.html

  2. Página oficial de Blender Recuperado: Septiembre 28, 2018 de https://www.blender.org/