Introducción
Cuando exportamos un modelo 3D en formato FBX en Blender, en el interior del archivo no solo está la información del Mesh (malla 3d), sino que se añaden varios elementos extra, por ejemplo el mapa UV, los materiales e incluso los colores de los materiales. Estos elementos extra pueden ser recuperados en otro Software en el que usemos el modelo 3D, por ejemplo Unity, sin embargo las texturas no se suelen incluir automáticamente en el archivo FBX. En este artículo veremos cómo EXPORTAR un modelo 3D de Blender a Unity y también cómo empaquetar las texturas en el archivo FBX en Blender. Además encontrarás una serie de vídeos de mi canal relacionados al tema de exportar modelos de Blender a Unity y el problema con las texturas.
Algunas recomendaciones antes de exportar el modelo a Unity
Si pulsas los links de “Más información aquí” se abrirán en pestañas separadas, no perderás esta ventana.
- Utiliza nombres representativos para tus objetos en Blender, los nombres de los objetos en el Outliner en Blender serán los mismos nombres de los objetos en la jerarquía de Unity.
- Asegúrate de que no haya vértices duplicados en tu modelo. Más información aquí.
- Cuida la cantidad de polígonos de tu modelo 3D. Más información aquí.
- Asegúrate de normalizar la escala de tu modelo 3D. Más información aquí.
- Asegúrate que las longitudes de tu modelo tengan sentido luego de normalizar la escala. Más información aquí.
Tengo 3 vídeos para recomendarte sobre exportar de Blender a Unity
#1 Método básico para exportar MODELO 3D con TEXTURAS de Blender a Unity
Esto es lo mejor que puedo ofrecerte si lo que buscas es simplemente llevar un modelo con texturas de Blender a Unity, este vídeo es la última parte de una mini serie que hice sobre modelado en 3D en Blender para Unity. Puedes ver la lista de 5 vídeos haciendo clic aquí.
#2 – Sobre exportar MATERIAL PROCEDURAL con nodos hecho en Blender a Unity
Cuando creamos un material en Blender utilizando nodos como el nodo de ruido, nodo mix RGB, entre otros, los colores que estamos aplicando al modelo 3D al final son el resultado de operaciones matemáticas, por esta razón, al exportar un modelo 3D e importarlo en Unity no se incluyen los nodos definidos en Blender, es decir no podremos ver esa textura generada proceduralmente sobre el modelo 3D.
Pero NO TODO ESTÁ PERDIDO, puedo ofrecerte la siguiente solución:
Podemos generar un conjunto de texturas para el color y mapa de normales a partir de los nodos aplicados al modelo 3D, este proceso se conoce como “BAKE”. Luego esas texturas las podremos llevar a Unity y aplicarlas a un material que luego asignaremos al modelo 3D, de esa forma podremos aprovechar en Unity los materiales que tanto nos costó hacer en Blender.
Explico el procedimiento de “Baking” en el siguiente vídeo, no es un procedimiento fácil así que no te quedes solo con el paso a paso sino con los detalles que voy dando a medida que vamos avanzando:
#3 – Cómo EMPAQUETAR texturas dentro del archivo FBX
Este vídeo es un MÉTODO ALTERNATIVO al primer vídeo que hice por si necesitas algo un poco más específico. En el siguiente vídeo muestro cómo hacer que las texturas que se aplican a un material en Blender se copien dentro del archivo FBX que se exporta en Blender y luego muestro cómo extraer esas texturas en Unity.
Esto es un procedimiento muy particular y si no estás seguro de que esto es exactamente lo que necesitas RECOMIENDO VER EL VÍDEO 1.
Pasos resumidos para exportar modelo con texturas en Blender a Unity
1. Seleccionar los modelos que se quieren exportar, asegurándose que tienen aplicado materiales con texturas.
2. Ir a File > Export > FBX y marcar la casilla “Select Objects” para exportar sólo los objetos seleccionados.
3. Cambiar el parámetro “Path Mode” a “Copy” y pulsar el botón “Embed Textures” que se encuentra a la derecha del menú desplegable “Path Mode”.
4. Darle un nombre, exportar y luego trasladar el archivo a Unity.
5. Seleccionar el modelo e ir a la pestaña materiales en el inspector. Hacer clic en la opción “Extract Textures” y elegir la carpeta de destino. Esto extraerá las texturas del archivo FBX y en mi caso se aplican automáticamente.
Proceso detallado para exportar modelo con texturas de Blender a Unity
Ahora vamos a ver detalladamente la secuencia de pasos anterior, consiste en dos partes, una parte que se hace en Blender y otra que se hace en Unity.
Blender
Partimos desde un modelo que tiene texturas aplicadas en Blender como el que se observa en la figura 1. Asegurarse de seleccionar todos los elementos que se quieren exportar.
Vamos a la pestaña FIle > Export y elegimos la opción FBX, esto abrirá la ventana de exportación, ahí podemos elegir la carpeta de destino y el nombre del archivo, como una recomendación personal siempre marco la casilla “Selected Objects” para que solo se exporten los modelos que he seleccionado, de lo contrario se exportarían objetos en mi caso no deseados, por ejemplo las luces o cámaras que pueda haber en la escena.
Para que las texturas se incluyan dentro del archivo es necesario hacer dos cosas, la primera es cambiar el parámetro “Path Mode” a “Copy”, como se observa en la figura 4. Lo segundo es marcar el botón “Embed Textures” que se encuentra a la izquierda del menú desplegable Path Mode, como se ve en la figura 5, esto incluirá las texturas dentro del archivo FBX.
Unity
Una vez exportado el modelo con el método anterior, llevamos ese archivo FBX a Unity, deberíamos ver algo similar a lo que se ve en la figura 6. Dentro del modelo solo vemos los meshes y materiales que estén incluídos, las texturas no están a simple vista.
Con el modelo seleccionado vamos a la ventana Inspector y entramos en la pestaña “Materials”, figura 7. Dentro de Materials tenemos un botón para extraer las texturas, lo pulsamos y elegimos la carpeta de destino en la ventana emergente.
Con esto se extraen las texturas que vengan dentro del modelo e incluso se aplican al material.