Personaje encarando −Y (rojo)
en lugar del esperado +Y (azul, punteado)
| Frame | Fase ciclo | Hallazgo | Evidencia | Estado |
|---|---|---|---|---|
| 1 | Pose rest | Pose base correcta, escala 1.0 m | pelvis Z = 0.94, pies en Z ≈ 0.00 | PASS |
| 12 | Apoyo derecho | Pie derecho plantado, leve penetración | foot.R min_z = −0.008 m (tolerancia < 0.01 m) | PASS |
| 18 | Fase vuelo izq | Pie izquierdo plantado, deslizamiento detectado | foot.L z = 0.003 pero foot.L x: 0.18→0.27 (+0.09 m en 6 frames) | FALLO |
| 24 | Apoyo izquierdo | Foot sliding confirmado; pelvis avanza sin clavado | pelvis Y: −1.14→−1.31, foot.L x sigue variando | FALLO |
| 36 | Cruce pies | Tobillo izquierdo cruza al lado derecho del plano sagital | ankle.L x = −0.04 (debería ser > 0); orden pierna L/R invertido | FALLO |
| 42 | Cruce pies (máx) | Cruce máximo — ambos tobillos se superponen | ankle.L x = −0.12, ankle.R x = −0.09 | FALLO |
| 48 | Apoyo derecho 2 | Recupera posición normal | ankle.L x = 0.09, cruce resuelto | AVISO |
| 60 | Mitad animación | Penetración suelo pie derecho | foot.R min_z = −0.038 m > umbral 0.02 m | FALLO |
| 72 | Ciclo 3 | Root heading estable 180°, motion acumulado −Y | root Y = −2.81 (retrocede vs cámara frontal) | FALLO |
| 96 | Ciclo 4 | Deslizamiento acumulado: 0.31 m desviación lateral | foot.L drift = 0.31 m total desde frame 1 | FALLO |
| 120 | Final | Escala mesh intacta; materiales preservados | bounds max Z = 1.84 m (delta +0.02 = OK); 3 mats activos | PASS |
El personaje enfrenta la dirección −Y mientras la cámara frontal espera +Y. Todo el root motion retrocede visualmente. Afecta frames 1–120. Causa: importación Mixamo FBX con Forward: −Z Forward en lugar de Forward: +Y Forward.
Fix: Re-importar FBX con Forward Axis = +Y Forward, Up Axis = +Z Up. O rotar el armature +180° en Z y aplicar transformaciones.
Frames 18–30: foot.L se desliza +0.09 m en X mientras debería estar plantado. Drift acumulado de 0.31 m al frame 96. Causa probable: constraint IK desactivado o curves de retargeting sin post-process foot-locking.
Fix: Activar IK foot constraints en foot.L y foot.R. Alternativamente usar el addon "AutoIK" de Blender o keyframe manual los pies en frames de apoyo.
ankle.L cruza al plano derecho (X negativo) durante la fase de balanceo. Máximo en frame 42: ankle.L x = −0.12. Causa probable: retargeting desde un source rig con separación de cadera distinta (fuente más estrecha de caderas).
Fix: Ajustar la curva de animación de thigh.L rotación Y en frames 36–42 para mantener separación mínima 0.05 m entre tobillos.
Ir a File → Import → FBX y ajustar: Forward: +Y Forward, Up: +Z Up. Comparar root heading en frame 1 — debe ser 0° (+Y).
Ejecutar script de inspección de orientación: blender --background scene.blend --python check_orientation.py. Confirmar que neck→head vector Y > 0.
En Pose Mode, seleccionar foot.L y foot.R. Añadir constraint IK con Chain Length = 2 para cada pie. Verificar que el deslizamiento en frames 18–30 desaparece.
En Graph Editor, editar curva AgentRig > thigh.L > Rotation Y. Suavizar los keyframes 34–44 para mantener un mínimo de separación lateral. Re-verificar en viewport.
Correr de nuevo el script de inspección sobre el blend corregido. Verificar que todos los frames reportan PASS. Generar un playblast de validación antes del render 4K final.