Skip to content

Lista de comprobación para exportar de Blender a Unity: escala, ejes, huesos y animaciones que llegan correctamente (2026) ​

Última actualización: septiembre de 2026.

Un personaje low-poly con rig que pasa de una vista de Blender a una escena de Unity conservando el mismo tamaño

Para llevar un modelo de Blender a Unity con el tamaño y la orientación correctos, y con un rig que Unity pueda leer, exporta un FBX desde File > Export > FBX (.fbx) con Apply Scalings configurado como FBX Units Scale (o FBX All), Forward en -Z y Up en Y, Apply Unit activado, Add Leaf Bones desactivado, Smoothing configurado como Face y Path Mode en Copy con Embed Textures activado. No arrastres el archivo .blend a Assets y reserva glTF para objetos estáticos hasta que el importador glTFast de Unity pueda reproducir animaciones sin trabajo adicional. Todo lo que aparece a continuación explica por qué es importante cada ajuste, qué aspecto tiene cuando está mal y cómo corregirlo en cualquiera de los dos programas.

Respuesta rápida ​

  • Formato: FBX para cualquier elemento con rig o animación. glTF (.glb) solo para objetos estáticos y únicamente después de instalar el paquete com.unity.cloud.gltfast. Nunca uses el archivo .blend sin procesar.
  • Escala: en Scene Properties de Blender, configura Unit System como Metric y Unit Scale como 1.0. En el exportador, usa Scale 1.00, Apply Scalings en FBX Units Scale y activa Apply Unit. En Unity, usa Scale Factor 1 y activa Convert Units. Un personaje de 1,8 m debería medir 1,8 unidades de alto y tener una escala de 1 en todas las transformaciones.
  • Ejes: Forward -Z y Up Y en el exportador (los valores predeterminados). En la pestaña Model de Unity, activa Bake Axis Conversion para que desaparezca el -90 en X de la transformación raíz.
  • Huesos: desactiva Add Leaf Bones. Activa Only Deform Bones si exportas un rig de control de Rigify o Auto-Rig Pro. Modela en pose T y asigna a los huesos nombres basados en las partes del cuerpo para que el Avatar Humanoid se mapee automáticamente.
  • Animación: una Action por clip o una tira NLA por clip. Deja activados NLA Strips y All Actions, activa Key All Bones y usa Sampling Rate 1. En Unity, los clips aparecen en la pestaña Animation, uno por cada AnimStack del FBX.
  • Texturas: Path Mode en Copy y Embed Textures activado. En la pestaña Materials de Unity, pulsa Extract Textures y después Extract Materials. El color rosa significa que el shader no coincide con tu pipeline de renderizado, no que falte la textura.

Referencia rápida ​

Estos son los ajustes del exportador FBX de Blender importantes para Unity, junto con el valor que debes usar y el motivo. Los nombres y las descripciones de las opciones proceden del manual de Blender y del código fuente del exportador.

PanelAjustePara UnityMotivo
IncludeSelected ObjectsActivadoLas cámaras, luces y superficies de referencia no deberían incluirse
IncludeObject TypesArmature, Mesh (Empty si usas localizadores)Las cámaras y luces se importan como componentes de Unity que acabarás eliminando
TransformScale1.00Cualquier otro valor integra un multiplicador misterioso en el archivo
TransformApply ScalingsFBX Units Scale o FBX AllColoca el factor de conversión de metros a centímetros en la cabecera del archivo, no en cada objeto
TransformForward / Up-Z Forward, Y UpUnity usa Y como eje vertical y Z como eje frontal
TransformApply UnitActivadoRespeta los ajustes de unidades de la escena
TransformUse Space TransformActivadoEscribe la conversión de ejes en las rotaciones de los objetos
TransformApply TransformDesactivadoEl propio exportador indica que no funciona correctamente con armatures y animaciones
GeometrySmoothingFaceUnity necesita grupos de suavizado para las normales de los blend shapes
GeometryApply ModifiersActivadoExporta la malla evaluada (mirror, subdivision, triangulate)
ArmaturePrimary / Secondary Bone AxisY / X (valores predeterminados)A Unity no le importa, pero sí a las herramientas de retargeting
ArmatureArmature FBXNode TypeNullEs el valor predeterminado; se importa como un GameObject raíz vacío
ArmatureOnly Deform BonesActivado para rigs de control, desactivado para armatures simplesEvita que los objetivos IK y los widgets entren en el esqueleto
ArmatureAdd Leaf BonesDesactivadoDe lo contrario, cada cadena termina en un hueso _end que Unity muestra
Bake AnimationKey All Bones, NLA Strips, All Actions, Force Start/End KeyingTodo activadoUn AnimStack por clip, con claves en todos los huesos
Bake AnimationSampling Rate / Simplify1.0 / 1.0Una clave por fotograma y una ligera limpieza de curvas
MainPath Mode / Embed TexturesCopy / ActivadoLas texturas viajan dentro del archivo .fbx

No arrastres el archivo .blend a Assets ​

Unity acepta archivos .blend, y esa es la trampa. La página de Unity sobre formatos propietarios explica lo que sucede: «Debes tener instalado el software de modelado 3D para importar archivos propietarios directamente en Unity» y «la primera vez que importas un archivo propietario en Unity, el software de modelado 3D debe iniciarse mediante un proceso de línea de comandos». Unity ejecuta en segundo plano el exportador FBX de Blender con ajustes que no puedes controlar, por lo que obtienes los valores predeterminados del exportador, incluidos los huesos terminales y la configuración de escala que provocan la mayoría de los problemas descritos en esta página.

La misma página enumera lo que no puede hacer el flujo de trabajo con .blend: «Las texturas y el color difuso no se asignan automáticamente» y «Blender no exporta el valor de visibilidad dentro de las animaciones del archivo FBX». La página de Unity sobre formatos 3D añade el problema para los equipos: los recursos guardados como .blend «no se importan correctamente a menos que tengas instalado en tu ordenador el software de modelado 3D correspondiente», por lo que «todas las personas que trabajen en tu proyecto de Unity deben tener instalado el software correcto», incluida la máquina de compilación. El veredicto de la propia Unity: «Siempre que sea posible, se recomienda usar el formato de archivo .fbx y no utilizar formatos propietarios de modelos en producción».

Guarda el archivo .blend en una carpeta de archivos fuente fuera de Assets (o en una carpeta cuyo nombre termine en ~, que Unity ignora) y exporta el FBX a Assets.

FBX o glTF para Unity en 2026 ​

FBX. El importador de Unity lee .fbx, .dae, .dxf y .obj de forma nativa, y su página sobre formatos 3D ni siquiera menciona glTF. La compatibilidad con glTF procede de Unity glTFast, un paquete que se añade mediante Window > Package Manager > Add package by name usando com.unity.cloud.gltfast. Es un paquete oficial de Unity desde diciembre de 2023 y, en marzo de 2026, se encuentra en la versión 6.17.0. Su página de instalación indica que el Editor instala la versión más reciente junto con sus dependencias. Una vez instalado, puedes arrastrar un archivo .glb a Assets y se importará mediante un ScriptedImporter; además, es compatible con Built-in, URP y HDRP.

Hay tres motivos que impiden que sea la opción predeterminada para personajes. Su página de características solo indica que la animación es plenamente compatible «mediante el sistema de animación heredado» y, respecto a Mecanim, afirma que «los clips de animación pueden importarse de forma compatible con Mecanim, pero no se asignan y no pueden reproducirse sin trabajo adicional». Draco, KTX2 y Meshopt necesitan cada uno otro paquete (com.unity.cloud.draco, com.unity.cloud.ktx, com.unity.meshopt.decompress). Además, el importador de texturas de Unity lee BMP, EXR, GIF, HDR, IFF, JPG, PICT, PNG, PSD, TGA y TIFF, pero no WebP, razón por la que glTFast 6.17 añadió un error específico para imágenes WebP. Un GLB optimizado para la web, con texturas WebP y Draco, no es el archivo adecuado para Unity.

glTF resulta útil para objetos estáticos y para cualquier elemento que se cargue en tiempo de ejecución desde un servidor, casos en los que glTFast funciona de maravilla. Para un personaje con rig y animación que vaya a usarse en un Animator Controller, exporta un FBX. Si ya tienes un GLB, el visor de GLB te permite ver qué contiene, y Blender lo importa correctamente para volver a exportarlo.

Escala: por qué el modelo llega 100 veces más grande o con 0.01 en todo ​

FBX mide en centímetros y Blender, en metros. El código de unidades del exportador se resume en una línea: el factor de Blender a FBX es 100.0 * scene.unit_settings.scale_length, acompañado de un comentario que indica que FBX guarda «la unidad “de referencia” de un archivo en su propiedad UnitScaleFactor (donde 1.0 significa un centímetro)». Por tanto, cada exportación en metros contiene un factor de 100 en algún lugar, y el menú desplegable Apply Scalings decide dónde.

El valor predeterminado, All Local, se describe así: «Aplica la escala personalizada y la escala de unidades a la transformación de cada objeto; la escala FBX permanece en 1.0». Cada objeto del archivo recibe una escala de 100 en su transformación. Después, la pestaña Model de Unity aplica Convert Units, que «convierte la escala del modelo definida en el archivo a la escala de Unity», y el prefab parece tener el tamaño correcto, con una escala de 100 en la malla y una escala de archivo de 0.01 que la compensa. Ese es el famoso 0.01. Funciona hasta que emparentas algo con un hueso, controlas una transformación mediante código o haces retargeting, momento en el que aparece el 100 oculto.

FBX Units Scale significa «Aplicar la escala personalizada a la transformación de cada objeto y la escala de unidades a la escala FBX»: el 100 se traslada a la cabecera de unidades del archivo y cada objeto conserva una escala de 1. FBX All coloca en la cabecera tanto el factor de unidades como tu valor personalizado de Scale, lo que produce el mismo resultado siempre que Scale permanezca en 1.00. Cualquiera de las dos opciones es correcta para Unity. En Unity debes mantener los valores predeterminados: la pestaña Model de Unity indica que Scale Factor existe porque «el sistema de físicas de Unity espera que 1 m en el mundo del juego equivalga a 1 unidad en el archivo importado», así que déjalo en 1 y mantén activado Convert Units.

Un cubo de un metro, tres resultadosFBX cuenta en centímetros, así que cada exportación lleva un factor de 100. Apply Scalings decide dónde se aplica.BlenderUnit Scale 1.0, metrosCubo de 1 mescala 1, 1, 1File > Export > FBXAll Local (valor predeterminado)El 100 se aplica a la transformación de cada objeto. Unity lo anula con Convert Units.Se ve bien. La transformación indica escala 100 y el archivo, 0.01.Da problemas al vincular accesorios a huesos o controlar transformaciones por código.FBX Units Scale o FBX AllEl 100 va al encabezado UnitScaleFactor del archivo. Los objetos conservan la escala 1.Se ve bien. La transformación indica escala 1, 1, 1.Convert Units desactivado o Scale Factor cambiado en UnityNada anula el 100. El cubo mide 100 unidades por lado.100 mSolución en Unity: Scale Factor 1, Convert Units marcado. Después, reimporta.
El exportador siempre escribe un factor de 100 para una escena en metros. All Local lo guarda como una escala de 100 en cada objeto y deja que Convert Units de Unity lo revierta, razón por la que los objetos importados de Blender muestran 100 y 0.01. FBX Units Scale y FBX All lo guardan en el encabezado del archivo, y las transformaciones llegan limpias.

Hay otros dos errores de escala habituales. Si cambiaste Unit Scale en Scene Properties para trabajar en centímetros, el exportador multiplica por 100 y por ese Unit Scale. El manual de Blender señala que este ajuste «solo influye en los valores mostrados en la interfaz de usuario y no en el comportamiento interno», por lo que un Unit Scale de 0.01 con Apply Unit activado puede reducir un personaje de 180 cm a 1.8 cm. Además, una escala de objeto que no sea 1.0 se hornea en el FBX. Selecciona todo y ejecuta Object > Apply > All Transforms (Ctrl-A). El manual de Blender coincide: «Se recomienda aplicar las transformaciones antes del rigging y la animación». No apliques la escala a un armature que ya tenga animación, porque eso reescala los fotogramas clave.

Ejes: de dónde viene el -90 en X ​

En Blender, Z es el eje vertical. El manual de FBX lo explica con claridad: «Blender usa Y Forward, Z Up (ya que la vista frontal mira en la dirección +Y). Por ejemplo, es habitual que las aplicaciones usen Y como eje vertical; en ese caso se necesita -Z Forward, Y Up». En Unity, Y es el eje vertical y Z apunta hacia delante. La vista frontal de Blender mira hacia +Y, así que un personaje modelado de cara a la cámara frontal mira hacia -Y; los valores predeterminados del exportador, -Z Forward y Y Up, son los que convierten esa orientación al eje frontal de Unity. Déjalos así.

Incluso con los ejes correctos, el objeto raíz de un FBX de Blender muestra una rotación de -90 (a menudo -89.98) en X en el Inspector de Unity, con una rotación compensatoria en los hijos. Es la conversión de ejes almacenada como transformación en lugar de horneada en los vértices. Hay tres formas de eliminarla, por orden de preferencia.

Bake Axis Conversion en Unity. La opción de la pestaña Model «hornea los resultados de la conversión de ejes directamente en los datos del recurso de tu aplicación (por ejemplo, datos de vértices o animación) al importar un modelo que utiliza un sistema de ejes distinto al de Unity». Márcala y la raíz mostrará 0, 0, 0, sin cambiar nada en Blender.

Contrarrotar en Blender. Con todas las transformaciones aplicadas, rota el objeto -90 en X, aplica la rotación, después rótalo +90 en X y expórtalo sin aplicar. Use Space Transform del exportador («aplicar la transformación global de espacio a las rotaciones del objeto») convierte ese +90 en una rotación cero en Unity. Algunos complementos de la comunidad automatizan el proceso: el proyecto blender-to-unity-fbx-exporter asigna a cada objeto exportado «una rotación de +90 grados alrededor del eje X en su transformación sin modificar realmente la pose visual», y la revierte después de exportar.

Apply Transform en el exportador. No lo uses con nada que tenga rig. Su propia descripción termina con «(¡ADVERTENCIA! Opción experimental; úsala bajo tu propia responsabilidad; se sabe que no funciona correctamente con armatures/animaciones)», y el exportador muestra un icono de error junto a ella. Funciona con un accesorio estático, pero también puedes omitirla sin problema.

Ejes de Blender frente a ejes de UnityEl mismo personaje, dos convenciones. -Z Forward, Y Up del exportador sirve de puente.Blenderdextrógiro, Z arriba, la vista frontal mira hacia +YUnitylevógiro, Y arriba, Z hacia delanteZ arribaX-Y, frente del modelo+YY arribaXZ hacia delanteExportador-Z ForwardY Up= 90 sobre XUnity guarda esos 90 como -90 en la transformación raíz salvo que Bake Axis Conversion esté marcado.La Z de Blender se convierte en la Y de Unity. La -Y de Blender se convierte en la +Z de Unity.
El eje vertical de Blender es Z y un modelo orientado hacia delante mira en dirección -Y. El eje vertical de Unity es Y y su eje frontal es +Z. Los valores predeterminados Forward -Z, Up Y del exportador corresponden exactamente al giro de 90 grados alrededor de X que transforma un sistema en el otro. Unity conserva ese giro como una rotación de -90 en la raíz o, con Bake Axis Conversion, lo escribe en los vértices.

Huesos: huesos terminales, orientación y el Avatar humanoide ​

Huesos terminales. Add Leaf Bones está activado de forma predeterminada y se describe así: «Añade un hueso final al extremo de cada cadena para especificar la longitud del último hueso (úsalo cuando pretendas editar el armature a partir de los datos exportados)». El exportador asigna a cada uno el nombre de su padre seguido de _end, por lo que la jerarquía de Unity se llena de Head_end, LeftHand_end y LeftToeBase_end. Son inofensivos en los rigs Generic, pero confunden el mapeo automático de Humanoid y las herramientas de retargeting. Desmárcalo. Si estás reimportando el FBX de otra persona, la opción Ignore Leaf Bones del importador los elimina.

Rigs de control. Un rig de Rigify o Auto-Rig Pro contiene cientos de huesos que no deforman y que sirven como controles, objetivos de IK y mecanismos. Only Deform Bones escribe «solo los huesos deformantes (y los no deformantes cuando tienen hijos deformantes)», que es el esqueleto que Unity necesita. Hornea primero la animación en los huesos deformantes, ya que las restricciones del rig de control no se exportan; solo se exporta su resultado como fotogramas clave.

Orientación de los huesos. Los huesos de Blender apuntan a lo largo de su eje Y local. Unity lee la pose de enlace y los pesos de la malla y reproduce lo que recibe, por lo que Primary Bone Axis y Secondary Bone Axis pueden mantenerse en Y y X. Estos ajustes importan cuando el mismo FBX se envía a una herramienta que presupone una convención concreta, como Unreal o un complemento de retargeting.

El Avatar humanoide. La pestaña Rig de Unity permite elegir Generic («si tu rig no es humanoide, como un cuadrúpedo o cualquier otra entidad que se vaya a animar») o Humanoid («si tu rig es humanoide, es decir, tiene dos piernas, dos brazos y cabeza»). Humanoid permite hacer retargeting entre personajes y tiene unas reglas descritas en la página de configuración del Avatar. El esqueleto necesita «al menos 15 huesos organizados de una forma que se ajuste aproximadamente a un esqueleto humano real». «Si Unity no puede crear el Avatar, aparece una cruz junto al botón Configure y no se muestra ningún subrecurso Avatar». Dentro de Configure, un hueso que Unity acepta «aparece en verde en la pestaña Avatar Mapping» y uno rechazado «aparece en rojo». Y sobre la pose: «Si la asignación de huesos es correcta, pero el personaje no está en la pose adecuada, verás el mensaje “Character not in T-Pose”. Puedes intentar corregirlo eligiendo Enforce T-Pose en el menú Pose». Así que crea el rig en una pose en T, con la pose de reposo también en T, y asigna a los huesos nombres basados en las partes del cuerpo (la recomendación de Unity para el mapeo automático es nombrar los huesos «de una forma que refleje las partes del cuerpo que representan»). Los nombres de Mixamo (mixamorig:Hips, mixamorig:LeftArm) se mapean automáticamente de forma fiable, una de las razones por las que tantos riggers los utilizan. Si algunos huesos fallan, arrástralos desde la jerarquía hasta las ranuras, después usa Pose > Enforce T-Pose, luego Apply, y guarda el resultado como una plantilla humana (.ht) para la siguiente exportación del mismo rig.

Si todavía no tienes un rig, la guía de rigging automático explica qué necesitan los riggers automáticos de una malla, y el complemento Cinevva Rig genera un esqueleto humanoide con nombres de Mixamo dentro de Blender, en tu propio equipo y sin conexión, por un precio único de lanzamiento de 29 $, en Blender 4.2 y versiones posteriores para Windows, macOS y Linux.

Movimiento raíz ​

El movimiento raíz es el desplazamiento de la raíz del personaje por el mundo, en contraposición al movimiento de las extremidades en el sitio. La página de Unity sobre movimiento raíz parte de un Root Transform que «es una proyección sobre el plano Y del Body Transform y se calcula en tiempo de ejecución», y para cada clip puedes elegir si incorporar la rotación, Y y XZ en la pose o conservarlas como movimiento que desplaza el GameObject. Bake Into Pose en XZ es el ajuste habitual para las animaciones de reposo, «para forzar que la posición delta (XZ) sea 0» y evitar que el personaje se desplace. Para los rigs Generic, la página indica que «en lugar de utilizar el Body Transform para calcular/proyectar un Root Transform, se utiliza la transformación definida en Root Node», y que Root Node tiene como valor predeterminado None en la pestaña Rig, así que selecciona ahí las caderas o el hueso raíz; de lo contrario, el movimiento raíz no hará nada sin mostrar ningún aviso.

En Blender, la regla es animar el desplazamiento en un hueso, no en el objeto del esqueleto. El exportador escribe el objeto del esqueleto como un nodo Null (Armature FBXNode Type, «similar al Empty de Blender»), y los ajustes de movimiento raíz de Unity examinan los huesos que están bajo el Avatar, no ese objeto vacío. Un hueso raíz específico situado en el suelo, que sea padre de Hips y contenga los fotogramas clave del desplazamiento, es la estructura para la que está diseñada la opción Root Node de Unity. Los clips creados en el sitio, cuyo desplazamiento se controla mediante código, no necesitan ningún hueso raíz; así es como se distribuyen la mayoría de las bibliotecas de animaciones.

Animaciones: acciones, tiras NLA y horneado ​

Unity lee los AnimStacks de FBX y muestra cada uno como un clip en la pestaña Animation, donde puedes dividirlos, cambiarles el nombre, reproducirlos en bucle y recortarlos. El panel Bake Animation de Blender determina cuántos AnimStacks obtienes.

Una Action por clip. Con All Actions activado, el exportador «exportará cada acción como un AnimStack independiente del FBX, en lugar de como una animación global de la escena (ten en cuenta que los objetos animados recibirán todas las acciones compatibles con ellos; los demás no recibirán ninguna animación)». Asigna a tus Actions los nombres Idle, Walk, Run, Jump, y Unity las mostrará con esos nombres. La trampa está en esa descripción: cualquier Action cuyos canales coincidan con el esqueleto se considera compatible, por lo que una Action suelta de otro rig puede acabar asociada. Elimina las Actions que no quieras distribuir.

Una tira NLA por clip. Con NLA Strips activado, el exportador «exportará cada tira NLA no silenciada como un AnimStack independiente del FBX, si existe alguna, en lugar de como una animación global de la escena». Envía cada Action a su propia pista, silencia las que no vayas a distribuir y obtendrás un control exacto de los rangos de fotogramas, además de una forma de exportar un clip que mezcle dos Actions.

Hornea primero cuando haya restricciones. El manual de FBX de Blender incluye las restricciones entre los elementos que no se exportan: «El resultado de usar restricciones se exporta como una animación de fotogramas clave; sin embargo, las propias restricciones no se guardan en el FBX». IK, Copy Rotation y Child Of se muestrean según el Sampling Rate de la exportación, por lo que Key All Bones («Fuerza la exportación de al menos una clave de animación para todos los huesos») y Force Start/End Keying deben permanecer activados. La opción Bake Animations de Unity «solo está disponible para archivos de Autodesk Maya, Autodesk 3ds Max y Cinema 4D», así que el horneado debe realizarse en Blender. Object > Animation > Bake Action, con Visual Keying y Clear Constraints activados y trabajando sobre una copia, genera una Action que solo usa FK y que ningún programa debería interpretar mal.

Simplificación. El ajuste Simplify del exportador («Cuánto simplificar los valores horneados; 0.0 para desactivarlo, y cuanto mayor sea el valor, mayor será la simplificación») tiene un valor predeterminado de 1.0 y resulta adecuado para los clips de videojuegos. Si un clip tiembla en Unity pero no en Blender, establécelo en 0 y deja que Anim. Compression de Unity se encargue de reducir los fotogramas clave.

Dos prácticas de Unity completan el proceso. Los archivos denominados [email protected] se agrupan automáticamente: según la página sobre división de animaciones, «Unity importa automáticamente los cuatro archivos y reúne todas las animaciones en el archivo cuyo nombre no contiene el signo @», por lo que hero.fbx junto con [email protected] produce un solo personaje con un clip Walk, y puedes volver a exportar un único clip sin modificar la malla. Además, activa Loop Time para los ciclos en la pestaña Animation, ya que FBX no dispone de ningún concepto de reproducción en bucle.

CGDive muestra el proceso de creación de un rig Generic para un personaje en Blender y los ajustes de exportación FBX para Unity, incluidas las opciones de huesos de deformación y huesos terminales descritas anteriormente.

Texturas y material rosa ​

El exportador FBX de Blender referencia las texturas mediante sus rutas, salvo que le indiques que las incluya. Establece Path Mode en Copy; así estará disponible la opción Embed Textures, descrita como «Incrustar las texturas en el archivo binario FBX (¡solo para el modo de ruta 'Copy'!)». El archivo .fbx contendrá entonces las imágenes. En Unity, la pestaña Materials mantiene de forma predeterminada los materiales como subrecursos («Use Embedded Materials»), y dos botones permiten extraerlos: Extract Textures guarda las imágenes incrustadas en una carpeta, mientras que Extract Materials convierte los subrecursos en archivos .mat editables. Extrae primero las texturas y después los materiales para que estos apunten a las texturas extraídas. Una vez extraídos, «las nuevas importaciones o los cambios realizados en el recurso original no afectan a los materiales extraídos», que es precisamente lo que interesa: puedes volver a exportar la malla cien veces sin perder los ajustes de materiales realizados en Unity.

Lo que llega es el color base y algunos canales. FBX no dispone de un estándar PBR que se corresponda individualmente con Principled BSDF de Blender, así que tendrás que asignar manualmente en Unity los mapas de rugosidad, metalicidad y normales. El Material Creation Mode «Import via MaterialDescription» lee la descripción del material incrustada en el FBX y ofrece un resultado más fiel que el modo Standard (Legacy).

Y después está el color rosa. Según la página de Unity sobre el shader de error: «Unity renderiza un objeto con el shader de error predeterminado cuando existe un problema con el material o el shader de ese objeto», por ejemplo, si un shader no se puede compilar o no es compatible, y «el shader de error predeterminado es magenta (rosa intenso)». En el caso concreto de las importaciones: «Si tu proyecto utiliza Universal Rendering Pipeline (URP), Unity puede renderizar un objeto con el shader de error predeterminado si el objeto utiliza un shader de Built-In Render Pipeline». Los materiales FBX importados utilizan de forma predeterminada shaders de Built-in, por lo que aparecen en rosa en proyectos URP o HDRP. La ausencia de texturas no vuelve rosa un material, sino gris o blanco.

La solución está en un solo menú. Selecciona los materiales rosas y ejecuta Edit > Rendering > Materials > Convert Selected Materials to URP, o abre Window > Rendering > Render Pipeline Converter, elige Built-in Render Pipeline to URP, marca Material Upgrade y ejecútalo, tal como indican los documentos del conversor. La única limitación es que «este conversor no admite materiales con shaders personalizados», algo que nunca sucede con los materiales FBX importados. HDRP dispone de la opción equivalente en Edit > Rendering > Materials.

Suavizado y normales ​

El menú desplegable Smoothing de Blender tiene cuatro opciones, y una de ellas impide que funcione una característica de Unity. Normals Only exporta «solo normales en lugar de escribir datos de suavizado de aristas o caras», y el manual señala que «si el importador admite normales divididas personalizadas, utilizar Normals Only suele ser la opción más precisa». Face escribe el suavizado de caras, Edge escribe el suavizado de aristas y Smoothing Groups escribe grupos de caras que comparten el sombreado. Unity importa correctamente las normales en todos los casos (su ajuste Normals utiliza Import de forma predeterminada). Sin embargo, en la pestaña Model, Unity advierte bajo Import BlendShapes: «La importación de normales de formas de mezcla requiere grupos de suavizado en el archivo FBX». Si exportas con Normals Only una cara que contiene claves de forma, los objetivos de morphing llegarán con un sombreado plano o defectuoso.

Face es la opción predeterminada más segura para Unity; utiliza Smoothing Groups si también vas a enviar el archivo a herramientas similares a 3ds Max. Si tus aristas duras proceden del modificador Smooth by Angle, marca Apply Modifiers o desaparecerán. Si una malla aparece facetada en Unity pero suave en Blender, cambia Normals de Unity a Calculate y Smoothness Source a From Angle como comprobación rápida, y después corrige la exportación.

Síntoma, causa y solución ​

Síntoma en UnityCausaSolución
El modelo es diminuto o 100 veces demasiado grandeSe ha cambiado Scale Factor, Convert Units está desactivado o Blender utiliza un Unit Scale distinto de 1.0 con Apply Unit activadoUnity: Scale Factor 1 y Convert Units activado. Blender: Unit Scale 1.0 y Scale 1.00
Tiene el tamaño correcto, pero la escala muestra 100 y File Scale muestra 0.01Apply Scalings se dejó en All LocalUsa FBX Units Scale o FBX All en Apply Scalings y vuelve a importar
La raíz está rotada -90 (o -89.98) en XLa conversión de ejes se ha almacenado como una transformaciónMarca Bake Axis Conversion en la pestaña Model
El personaje mira hacia atrás o hacia un ladoEl modelado se realizó mirando hacia +Y o +X en BlenderHaz que mire hacia -Y en Blender (vista frontal) y mantén Forward en -Z
Huesos Head_end, Hand_end adicionalesAdd Leaf Bones se dejó activadoDesmarca Add Leaf Bones
Cientos de huesos, objetivos IK y controles en la jerarquíaSe exportó el rig de control completoMarca Only Deform Bones y hornea primero la animación en los huesos de deformación
Una cruz junto a Configure y ningún AvatarSe han asociado menos de los 15 huesos obligatorios o no se reconocen algunos huesosNombra los huesos según las partes del cuerpo, comprueba los 15 obligatorios y asígnalos manualmente
«El personaje no está en pose en T»La pose de reposo es una pose en A o relajadaUsa Pose > Enforce T-Pose o corrige la pose de reposo en Blender
La animación se reproduce, pero el personaje no se desplazaRoot Node es None en un rig Generic o el desplazamiento tiene fotogramas clave en el objeto del esqueletoConfigura Root Node en la pestaña Rig y anima el desplazamiento en un hueso raíz
Solo se ha importado un clipNLA Strips y All Actions están desactivados, o las Actions no tienen fake userActiva ambos y utiliza una Action o tira por clip
Las extremidades se desvían o saltan donde había IKLas restricciones se exportaron como claves muestreadas con un valor de Simplify demasiado altoHornea la Action en Blender y usa Simplify 0
Los materiales aparecen de color rosa intensoSe utilizan shaders de Built-in en un proyecto URP o HDRPUsa Convert Selected Materials to URP (o HDRP)
Los materiales aparecen grises y faltan las texturasPath Mode no está en Copy o Embed Textures está desactivadoUsa Copy con Embed Textures y después Extract Textures en Unity
Las formas de mezcla tienen un sombreado plano o incorrectoSmoothing está configurado como Normals OnlyUsa Face o Smoothing Groups en Smoothing
Aparecen facetas donde Blender mostraba una superficie suaveNo se aplicó el modificador Smooth by AngleMarca Apply Modifiers
Todo el equipo recibe un error de importaciónHay un archivo .blend en Assets y Blender no está instalado en sus equiposExporta a FBX y mantén el archivo .blend fuera de Assets
Seis preguntas, en el orden que ahorra tiempoCorrige el tamaño antes que la rotación, y los huesos antes que la animación: cada paso da por hecho el anterior.nononononono¿Tiene el tamaño correcto y escala 1 en las transformaciones?Un personaje de 1,8 m mide 1,8 unidades de altoApply Scalings: FBX Units Scale. Unity: activa Convert Units.Unit Scale 1.0 en Blender, Scale 1.00 en el exportador¿La rotación raíz es 0, 0, 0?¿y mira hacia +Z?Activa Bake Axis Conversion en la pestaña Model de Unity.Mantén -Z Forward, Y Up. Mira hacia -Y en Blender.¿La lista solo contiene los huesos de deformación?sin huesos _end, objetivos IK ni controlesDesactiva Add Leaf Bones. Activa Only Deform Bones.Hornea primero el movimiento del rig de control en los huesos de deformación¿El Avatar Humanoid aparece mapeado en verde?sin cruz junto a Configure ni mensaje de pose en TNombres anatómicos, 15 huesos obligatorios y reposo en T.Pose > Enforce T-Pose, mapea a mano los huesos rojos¿Están todos los clips y tienen movimiento?un clip por Action o pista; el movimiento raíz funcionaActiva NLA Strips, All Actions y Key All Bones.Rig Generic: define Root Node. Hornea la IK antes de exportar.¿Los materiales tienen texturas y no están rosas ni grises?rosa = pipeline incorrecto; gris = sin texturasConvert Selected Materials to URP. Copy + Embed Textures.Después Extract Textures y luego Extract Materials
Recorre la columna izquierda de arriba abajo. Un «no» te envía a la derecha, al único ajuste responsable. El tamaño va primero porque una escala de 100 en el armature queda oculta detrás de todos los demás problemas, y los huesos van antes que la animación porque un clip no puede reproducirse sobre un esqueleto que Unity no ha reconocido.

Lista de comprobación de 10 pasos ​

Sigue estos pasos en Blender sobre una copia del archivo y, después, en Unity.

  1. Limpia la escena. Elimina cámaras, luces, imágenes de referencia y todo lo que no se vaya a incluir. Une las mallas que compartan material cuando tenga sentido y asegúrate de que cada malla que deba deformarse esté emparentada con el armature mediante un modificador Armature.
  2. Comprueba las unidades. En Scene Properties, Units: Unit System Metric, Unit Scale 1.0, Length Meters. Consulta el panel Dimensions (N) de tu personaje: entre 1,6 y 2,0 m para un humano.
  3. Aplica las transformaciones. Selecciona las mallas y usa Object > Apply > All Transforms. Aplícalas también a un armature sin animación. Si el armature está animado, déjalo como está y asegúrate de que su escala ya sea 1.0.
  4. Corrige la pose y los nombres. Usa una pose de reposo en T, mirando hacia -Y (la vista frontal). Pon a los huesos nombres anatómicos, reflejados con .L y .R o Left y Right. No crees tus propios huesos _end.
  5. Prepara los clips. Usa una Action por clip con un usuario ficticio, o una pista NLA por clip. Hornea todo lo controlado mediante IK o restricciones con Object > Animation > Bake Action y Visual Keying activado.
  6. Exporta. File > Export > FBX (.fbx). Activa Selected Objects. En Object Types, selecciona Armature y Mesh. Scale 1.00, Apply Scalings FBX Units Scale, Forward -Z, Up Y, Apply Unit activado, Use Space Transform activado y Apply Transform desactivado. Smoothing Face y Apply Modifiers activado. Para rigs de control, activa Only Deform Bones y desactiva Add Leaf Bones. Activa Bake Animation con Key All Bones, NLA Strips, All Actions y Force Start/End Keying, Sampling Rate 1.0 y Simplify 1.0. Path Mode Copy y Embed Textures activado. Guarda estos ajustes como un preajuste del operador (el signo + de la parte superior del panel).
  7. Importa. Coloca el archivo .fbx en Assets. En la pestaña Model: Scale Factor 1, Convert Units activado, Bake Axis Conversion activado e Import BlendShapes activado si tienes shape keys. Pulsa Apply.
  8. Configura el rig. En la pestaña Rig: Humanoid para un bípedo y Generic para los demás. En Avatar Definition, selecciona Create From This Model. Pulsa Configure y comprueba que los huesos aparezcan en verde y que no haya ningún mensaje sobre la pose en T. Para Generic, configura Root Node si el clip debe mover al personaje. Pulsa Apply.
  9. Configura la animación. En la pestaña Animation, confirma que haya un clip por cada Action. Activa Loop Time en los ciclos. Activa Bake Into Pose en Root Transform Position (XZ) para las animaciones en reposo. Pulsa Apply.
  10. Configura los materiales. En la pestaña Materials, usa Extract Textures para extraer las texturas a una carpeta Textures y después Extract Materials para extraer los materiales a una carpeta Materials. En un proyecto URP o HDRP, selecciona los materiales extraídos y usa Edit > Rendering > Materials > Convert Selected Materials to URP. Arrastra el prefab a una escena y compara su escala, orientación y sombreado con Blender.

La opción de un solo clic ​

Si prefieres no memorizar el paso 6, el complemento Cinevva Rig incluye una tarjeta de exportación con un preajuste para Unity que aplica exactamente esta configuración: FBX, Forward -Z, Up Y, escala de unidades aplicada mediante FBX All, sin huesos terminales, suavizado Face, texturas incrustadas y limitadas a 2048 px. Antes de pulsar Export, su análisis de tamaño divide el tamaño estimado del archivo entre geometría, texturas, animación y shape keys, para que puedas ver que los 60 MB proceden de tres texturas 4K y no de la malla. En comparación con una exportación GLB normal de Blender, los preajustes generaron archivos un 68 %, 89 %, 92 % y 98 % más pequeños en cuatro modelos reales, casi todo gracias al límite de las texturas y a su recodificación. La exportación se ejecuta localmente, sin clave, cuenta ni conexión de red. La mitad de pago del complemento se dedica al rigging: una única compra de lanzamiento por 29 $, rigging local ilimitado después de descargar una vez un motor de unos 2,4 GB, compatible con Blender 4.2 y versiones posteriores, además de 260 clips de animación CC0 retargeteados al rig dentro de Blender, que después se exportan como las Actions descritas anteriormente.

La solución de pago consolidada para el flujo de ida y vuelta con FBX es Better FBX Importer & Exporter de Mesh Online, con más de 12 800 ventas en Superhive. Es una implementación de FBX creada desde cero sobre el SDK oficial de FBX de Autodesk, «compatible con todas las versiones de FBX, desde ASCII hasta binario y desde FBX 5.3 hasta FBX 2020», con exportaciones «verificadas en Unity Engine 2021, Unreal Engine 4/5 y Godot Engine v4.1.1», según su página de producto. Sus dos funciones más destacadas son la orientación automática de los huesos al importar —los ejes de huesos que el importador de Blender deja retorcidos— y una exportación «Optimize For Game Engine» que escribe armatures con «escala de unidad y rotaciones cero». Si importas muchos archivos FBX de otros artistas o trabajas en un flujo de ida y vuelta con Maya o 3ds Max, se amortiza durante la primera semana. Si solo exportas a Unity tu propio trabajo creado en Blender, los ajustes de esta página ofrecen el mismo resultado gratis.

Preguntas frecuentes ​

¿Cómo exporto de Blender a Unity? ​

Exporta un archivo FBX, no el archivo .blend. Usa File > Export > FBX (.fbx) con Selected Objects activado, Scale 1.00, Apply Scalings FBX Units Scale, Forward -Z, Up Y, Add Leaf Bones desactivado, Smoothing Face y Path Mode Copy con Embed Textures activado. En la pestaña Model de Unity, activa Convert Units y Bake Axis Conversion; después, extrae las texturas y los materiales desde la pestaña Materials.

¿Por qué mi modelo de Blender tiene una escala de 0.01 o 100 en Unity? ​

FBX trabaja en centímetros, por lo que el exportador de Blender multiplica por 100 una escena configurada en metros. Con el valor predeterminado All Local de Apply Scalings, ese 100 acaba en la transformación de cada objeto y Convert Units de Unity lo compensa con una escala de archivo de 0.01. Elige FBX Units Scale o FBX All para que el factor se almacene en la cabecera del archivo y todas las transformaciones permanezcan en 1. Si el modelo es 100 veces demasiado grande, Convert Units está desactivado o se ha modificado Scale Factor en Unity.

¿Por qué mi FBX de Blender tiene una rotación de -90 en X dentro de Unity? ​

Blender usa Z como eje vertical y Unity usa Y; el exportador almacena el giro de 90 grados entre ambos como una rotación del objeto raíz, que Unity muestra como -90 —a menudo -89.98—. Activa Bake Axis Conversion en la pestaña Model de Unity para hornear la rotación en los vértices y dejar la raíz en cero. No uses Apply Transform del exportador en un modelo con rig, ya que su propia descripción indica que no funciona correctamente con armatures y animación.

¿Cómo exporto animaciones de Blender a Unity? ​

Crea una Action por clip —o una pista NLA por clip—, hornea cualquier movimiento controlado mediante IK o restricciones con Bake Action y exporta con Bake Animation, Key All Bones, NLA Strips, All Actions y Force Start/End Keying activados. Cada Action aparece como un clip en la pestaña Animation de Unity con su nombre de Blender. Para un rig Generic, configura Root Node en la pestaña Rig si quieres movimiento raíz y activa Loop Time en los ciclos.

¿Debería usar FBX o glTF para Unity? ​

Usa FBX para cualquier elemento con rig o animación. Unity importa FBX de forma nativa, mientras que glTF necesita el paquete com.unity.cloud.gltfast, cuya importación de animaciones solo es completa para el sistema Animation heredado y necesita «más trabajo» para Mecanim; además, Unity no puede leer texturas WebP. glTF es una buena opción para objetos estáticos y modelos cargados en tiempo de ejecución desde un servidor.

¿Por qué mis materiales aparecen rosas en Unity después de importarlos desde Blender? ​

El rosa es el shader de error de Unity y, en las importaciones, casi siempre significa que el material utiliza un shader del Built-in Render Pipeline en un proyecto URP o HDRP. Selecciona los materiales y ejecuta Edit > Rendering > Materials > Convert Selected Materials to URP, o usa Window > Rendering > Render Pipeline Converter. Las texturas ausentes hacen que un material aparezca gris, no rosa: en ese caso, exporta con Path Mode Copy y Embed Textures y después pulsa Extract Textures en Unity.

¿Por qué Unity no puede crear un Avatar Humanoid a partir de mi rig de Blender? ​

Unity necesita al menos 15 huesos obligatorios que pueda reconocer y una pose en T. Una cruz junto a Configure indica que el mapeo ha fallado; los huesos rojos de la pestaña Mapping son los que no ha podido colocar, y «Character not in T-Pose» significa que la pose de reposo no es correcta. Nombra los huesos según las partes del cuerpo (los nombres de Mixamo siempre se mapean), desmarca Add Leaf Bones para que los huesos _end no causen confusión, arrastra manualmente los huesos rojos a su sitio y usa Pose > Enforce T-Pose.

Contenido relacionado ​