Blender en el pipeline de ÍCOR
Blender entra en el proyecto como banco de medida y como taller: mide los esqueletos y las animaciones de los tres héroes, descubre por qué el martillo del herrero salía al revés y modela tres piezas propias que ya están en el juego.

Capítulo IX
Un circuito de ida y vuelta con el motor
Blender no sustituye a Unreal: el producto sigue siendo del motor. Lo que hace es medir lo que el motor no enseña y fabricar lo que el proyecto no tenía.
- Exportar
Un script del editor saca a FBX las mallas y las animaciones, y a JSON lo que el FBX no lleva: sockets, pose de referencia y banderas de root motion.
- Medir en Blender
Scripts de Blender montan cada héroe con su armadura, recrean los sockets y miden pesos, deformación y pies en cada fotograma.
- Corregir
Lo que sale mal se arregla en el proyecto: en el código del enganche o con piezas nuevas modeladas en Blender.
- Comprobar en el motor
Otro script del editor vuelve a medir en Unreal y saca las capturas del antes y el después.
| Herramienta | Qué hace |
|---|---|
blender_exportar.py (editor) | FBX de los tres héroes, sus 15 animaciones y el herrero; sockets y pose en JSON |
heroes_analizar.py (Blender) | Jerarquía, pesos, deformación, pies y root motion; un .blend por héroe |
heroes_capturas_gui.py (Blender) | Capturas del visor, del editor de gráficas y de la hoja de tiempos |
herrero_martillo.py (Blender) | Diagnóstico del martillo y cálculo del enganche bueno |
props_icor.py (Blender) | Modelado, UV, horneado PBR y FBX de los tres props |
blender_importar_props.py (editor) | Importación, material maestro, instancias y capturas en el motor |
Todo es reproducible. Cada paso es un script versionado: el motor se usa de uno en uno a través de tools/motor.ps1, y Blender se lanza por línea de órdenes. Volver a medir un héroe tarda unos 20 s.
Capítulo IXRESPONSABLE: Alejandro Brito Olivera (esqueletos y pesos)
Tres esqueletos, hueso a hueso
La malla base de cada héroe se importa con su armadura y sus sockets del motor, que se recrean en Blender como ejes colgados de su hueso.



| Aurel Gris | Hwan | Ilse | |
|---|---|---|---|
| Huesos de la malla / del esqueleto | 130 / 180 | 115 / 130 | 125 / 160 |
| Huesos que pesan vértices | 115 | 103 | 113 |
| Profundidad de la jerarquía | 10 | 10 | 10 |
| Huesos del arma | sword_bottom → sword_top, escudo en el antebrazo | weapon_r, weapon_l y una funda en la espalda | weapon_r y weapon_l, con dos cintas cada una |
| Sockets del motor | 30 | 23 | 33 |
| Huesos de tela y sueltos | 20 | 7 | 18 |
La raíz. En el FBX, el hueso root pasa a ser el objeto armadura de Blender, y su animación sería la del objeto. En las 15 animaciones es constante: ninguna tiene root motion. En el juego, el desplazamiento lo pone el código.
El IK de los pies. ik_foot_l e ik_foot_r siguen a los pies con un error máximo de 0,11 cm: el IK de pies del motor puede apoyarse en ellos para adaptar las pisadas al terreno.
La tela no está animada. Ningún hueso de capa, faldón, pelo o cinta tiene curvas que cambien: el movimiento secundario es física en tiempo real. En un plano de Sequencer con la pista de animación sola, la tela queda rígida.
Huesos que sobran. Los dos faldones de cadera de Hwan no pesan ningún vértice de su armadura base: el esqueleto los comparte con otras armaduras.
Capítulo IXRESPONSABLE: Alejandro Brito Olivera (esqueletos y pesos)
Pesos de hombros, caderas y tela
Cada vértice de la malla pesa sobre uno o varios huesos. Blender lo enseña en color: en azul, el hueso no lo mueve; en rojo, lo mueve por completo.






Capítulo IXRESPONSABLE: Alejandro Brito Olivera (esqueletos y pesos)
Pesos en cifras · qué se estira y cuánto
Se mide cuántos huesos mueven cada vértice y se busca, en las cinco animaciones, el fotograma que más castiga cada zona.

| Aurel | Hwan | Ilse | |
|---|---|---|---|
| Influencias máx. / media | 8 / 1,63 | 7 / 1,93 | 8 / 1,98 |
| Más de 4 influencias | 2,0 % | 3,7 % | 1,8 % |
| Hombros mezclados | 81 % | 66 % | 92 % |
| Caderas mezcladas | 86 % | 53 % | 55 % |
| Zona | Peor fotograma | Giro | Estiramiento p95 / p99 | Caras aplastadas |
|---|---|---|---|---|
| Aurel · hombros | habilidad, f45 | 131° | +20 % / +70 % | 26 |
| Aurel · caderas | habilidad, f49 | 128° | +14 % / +84 % | 21 |
| Hwan · hombros | ataque fuerte, f4 | 170° | +37 % / +119 % | 78 |
| Hwan · caderas | habilidad, f0 | 93° | +21 % / +47 % | 21 |
| Ilse · hombros | ataque fuerte, f4 | 156° | +37 % / +127 % | 65 |
| Ilse · caderas | ataque fuerte, f4 | 149° | +25 % / +56 % | 54 |
Lectura. Ningún vértice está sin peso y todos suman 1. Los hombros de Hwan e Ilse se estiran mucho en la carga del ataque fuerte, cuando el brazo pasa por detrás de la cabeza: son uno o dos fotogramas, invisibles a velocidad de juego. En el rodaje no se congela el plano en ellos ni se encuadra el hombro de cerca.
Capítulo IXRESPONSABLE: Zihao Zhong (Kenny) (análisis de animación)
Los pies · editor de gráficas y hoja de tiempos
La altura y la velocidad del talón y de la punta de cada pie se miden en cada fotograma y se guardan como curvas de Blender, con los apoyos marcados en la hoja de tiempos.


Cada marcador de la hoja de tiempos señala un apoyo. Con ellos se mide cuánto se desliza cada pie mientras apoya: eso es el patinaje.
ik_foot_l e ik_foot_r frente a los piesCapítulo IXRESPONSABLE: Zihao Zhong (Kenny) (análisis de animación)
Los pies · huellas y velocidad natural
La trayectoria de los pies en el marco del suelo enseña si patinan: si no deslizan, los fotogramas de apoyo se apilan en un punto.



| Ciclo | Velocidad natural (Blender) | Motor | Paso | Cadencia |
|---|---|---|---|---|
| Aurel · carrera | 350 cm/s | 345 | 114 cm | 3,1 pasos/s |
| Aurel · carrera rápida | 857 cm/s | 867 | 228 cm | 3,8 pasos/s |
| Hwan · carrera | 500 cm/s | 493 | 147 cm | 3,4 pasos/s |
| Hwan · carrera rápida | 657 cm/s | 671 | 164 cm | 4,0 pasos/s |
| Ilse · carrera | 453 cm/s | 454 | 136 cm | 3,3 pasos/s |
| Ilse · carrera rápida | 867 cm/s | 870 | 268 cm | 3,2 pasos/s |
Capítulo IXRESPONSABLE: Zihao Zhong (Kenny) (análisis de animación)
Qué patina y cuánto
El patinaje es lo que se desliza un pie mientras apoya. En el juego la capa de locomoción ajusta la cadencia; en Sequencer, la animación se ve tal cual.
Peor apoyo de cada animación (cm). La línea roja marca los 10 cm a partir de los que el deslizamiento se ve en un plano de pies. Los reposos derivan menos de 0,5 cm/s, y el ataque fuerte de Hwan y la habilidad de Ilse se quedan por debajo de 4 cm.
Capítulo IXRESPONSABLE: Zihao Zhong (Kenny) (análisis de animación)
Guía para el rodaje · velocidades y huellas de la carrera rápida
Qué velocidad darle al actor en Sequencer y qué animaciones delatan el deslizamiento.
| Ciclo | Mover el actor a | Ritmo a velocidad de juego |
|---|---|---|
| Aurel · carrera | 350 cm/s | 1,49 |
| Aurel · rápida | 857 cm/s | 0,89 |
| Hwan · carrera | 500 cm/s | 1,12 |
| Hwan · rápida | 657 cm/s | 1,26 |
| Ilse · carrera | 453 cm/s | 1,30 |
| Ilse · rápida | 867 cm/s | 1,00 |
- Aurel, ataque fuerte: el pie derecho se arrastra 24 cm hacia atrás levantándose 3,3 cm.
- Aurel, habilidad: en el despegue la punta izquierda atraviesa el suelo 27,5 cm (0,17–0,22 s), y el avance de 1,8 m lo pone el código: en Sequencer hay que mover el actor.
- Hwan, lanzamiento: el pie derecho desliza 34 cm en los primeros 7 fotogramas.
- Ilse, carrera rápida: desliza al aterrizar y al despegar; en el centro del apoyo, solo 7–9 cm/s.



Capítulo IXRESPONSABLE: Zihao Zhong (Kenny) (martillo)
El martillo del herrero, al revés
Ceferino, el herrero del Campamento del Mercader, martillaba con la cabeza del martillo colgando junto al meñique. Blender midió por qué y calculó el enganche bueno.


Antes, en Blender: el martillo (en rojo) sale del puño por el lado equivocado y la cabeza queda dentro del cuerpo.
Después, en Blender: el mango (en verde) atraviesa el puño y la cabeza queda fuera, con la boca hacia abajo.
Mismo golpe de la animación de martillar y misma pose que en el juego, dada por el motor con la animación comprimida.
La causa. El enganche copiaba el giro de las tenazas y le sumaba 90° de pitch. Además, la animación es de otro esqueleto y el motor la remapea por nombre de hueso: la acción del FBX no sirve tal cual. Por eso se exportó la pose que el motor da al herrero en su malla, fotograma a fotograma, y Blender la horneó hueso a hueso (0,001 cm de error en la mano).
El cálculo. El centro y el eje del puño salen de los dedos en los 7 golpes de la animación. El mango se alinea con ese eje, la cabeza va del lado del pulgar, la boca (la cara plana, de 1.794 cm² frente a los 38 cm² de la cuña) mira al yunque y el pomo asoma 1,5 cm bajo el meñique. La escala baja de 0,4 a 0,221: a 0,4 el mango era más grueso que el hueco del puño.
Capítulo IXRESPONSABLE: Zihao Zhong (Kenny) (martillo)
El martillo · esquema, medidas y comprobación
El eje del puño y el mango, antes y después, con las medidas que lo demuestran.


| Medida | Antes | Después |
|---|---|---|
| Mango frente al eje del puño | 140° | 0° |
| Centro del puño al mango | 8,5 cm | 0,07 cm |
| Cabeza hacia el pulgar | −31 cm | +22 cm |
| Boca frente a la vertical | 142° | 24° |
| Cabeza dentro del cuerpo | 26 de 37 fot. | 1 de 37 fot. |
| En el motor: puño al mango | 10,1 cm | 0,04 cm |

Lo que más enseñó. La animación de martillar comprimida, que es la que usa el juego, se aparta de la original hasta 29 cm en la mano. El agarre no cambia porque se mide en el espacio de la mano, pero cualquier medida en el mundo debe hacerse con la versión comprimida, cuando el motor ha terminado de prepararla.
El martillo heredaba el giro de las tenazas más un cuarto de vuelta.
Posición, giro y escala calculados con los dedos del herrero; en ICORPNJ.cpp, compilado.
Capítulo IXRESPONSABLE: Alejandro Brito Olivera (props y arte)
Tres piezas propias, modeladas por código
El Clavo de hierro forjado, junto al que reaparece el héroe; un brasero, y el lecho de brasas de la forja. Ninguna sale de un pack: las tres son nuestras.



Capítulo IXRESPONSABLE: Alejandro Brito Olivera (props y arte)
El brasero y el lecho de brasas
Las otras dos piezas, en Eevee, con las medidas de las tres: tamaño, triángulos, atlas y colisión.


| Prop | Tamaño | Triángulos | Atlas | Colisión | Detalle |
|---|---|---|---|---|---|
| Clavo | 261 × 243 × 448 cm | 49.154 | 2048² | 2 cascos UCX | Vástago retorcido, cabeza de rosa, 2 abrazaderas con 16 remaches, 4 cuñas, 7 losas, grapas y escombro |
| Brasero | 81 × 85 × 82 cm | 13.238 | 1024² | 1 casco UCX | Cuenco con labio enrollado, fleje con 12 remaches, 3 patas de pletina con voluta, aro y 80 carbones |
| Lecho de brasas | 52 × 53 × 9 cm | 16.640 | 1024² | Sin colisión | Montículo de ceniza y 110 carbones, modelado en el espacio del hogar de la forja |
Capítulo IXRESPONSABLE: Alejandro Brito Olivera (props y arte)
Del procedural a la textura
Los materiales nacen procedurales en Blender (hierro martillado, piedra con liquen, carbón al rojo) y se hornean a imagen para que Unreal los lea tal cual.

El hierro. Abolladuras de martillo (Voronoi), aristas gastadas y brillantes, óxido en las concavidades y el color de revenido (paja, morado y azul) cerca del fuego.
La piedra. Grietas escasas, liquen, musgo en las caras de arriba y hollín alrededor del clavo.
La brasa. Brilla en los huecos entre carbones, en grietas irregulares y en manchas vivas; la cara de arriba se cubre de ceniza.
Capítulo IXRESPONSABLE: Alejandro Brito Olivera (props y arte)
Materiales de cerca
El hierro, la piedra y la brasa tal como los lee el motor: un material maestro con cuatro mapas y un emisivo que late.



En el motor. Un material maestro (M_ICOR_PropBlender) lee los cuatro mapas; el emisivo late con dos senos de distinta frecuencia. Cada prop tiene su instancia con su intensidad y su pulso.
Un atlas por pieza. Cada prop se hornea en un único atlas, de 2048² para el Clavo y de 1024² para el brasero y el lecho de brasas, con color, ORM, normal y emisivo.
Capítulo IXRESPONSABLE: Alejandro Brito Olivera (props y arte)
En el juego · la forja y el Clavo
El hogar de la forja tenía una textura plana de lava. Ahora lleva encima el lecho de brasas, con el mismo pivote, giro y escala que el hogar.

Si alguna pieza faltara, el código vuelve a lo de antes (el pilar o el hogar solos). Las tres piezas se cocinan con el resto de ICOR.
| Pieza | Dónde entra |
|---|---|
| Clavo | ICORClavo.cpp: sustituye al pilar de piedra blanca en todos los Clavos; se encaja a 4,4 m y el fuego sigue saliendo del cuenco |
| Lecho de brasas | ICORCampamento.cpp: en el hogar de la forja de Ceferino, con la transformación del hogar |
| Brasero | Importado en ICOR/Props/Blender/, listo para el decorado |
Capítulo IXRESPONSABLE: Zihao Zhong (Kenny) · Alejandro Brito Olivera
Lo que Blender ha aportado
Cada medida tiene una consecuencia: en el rodaje, en el código o en el arte.
| Hallazgo | Consecuencia | Estado |
|---|---|---|
| El martillo del herrero iba a 140° del puño, con la boca hacia arriba | Enganche calculado con los dedos de la animación | Corregido |
| El hogar de la forja era una lava plana | Lecho de brasas propio con emisivo que late | En el juego |
| El Clavo era un pilar de piedra blanca teñido de hierro | Clavo de hierro forjado propio | En el juego |
| Ninguna de las 15 animaciones tiene root motion | En Sequencer, el actor se mueve con una pista de transformación | Guía de rodaje |
| Velocidad natural de los seis ciclos, a menos de un 2 % del motor | Tabla de velocidades y ritmos para el rodaje | Guía de rodaje |
| Ocho de las quince animaciones patinan más de 10 cm en algún apoyo | Sin planos de pies en ellas; la habilidad de Aurel atraviesa el suelo 27,5 cm | Para el rodaje |
| La tela no está animada: es física en tiempo real | Rodar con el Anim Blueprint activo en los planos con capa o faldones | Para el rodaje |
| Los hombros de Hwan e Ilse se estiran hasta +37 % (p95) en la carga del ataque | No congelar esos fotogramas en un primer plano | Para el rodaje |
| La animación de martillar comprimida se aparta 29 cm de la original | Medir siempre con la versión comprimida | Método |








