Conversion MetaHuman phase 7 : tests et correction du prone

- CHT_PoseSearchDatabases_Mover : la ligne « Prone Moving » demandait
  la stance Debout ; les lignes prone acceptent toute gait (la gait ne
  passe à Prone qu'après la stance)
- SandboxCharacter_Mover_ABP : condition GASP d'interruption du Motion
  Matching sur changement d'état, de gait ou de stance rebranchée
- bilan des tests PIE dans le plan : locomotion, traversées, prone,
  fusil, ragdoll physique, portrait OK ; cover, interactions, nage,
  arc et mort à vérifier à la main

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
DodoandClaude Opus 5.5 committed 2026-11-05 16:44:16 +01:00
1 parent ffaebfbd3e
commit 338f0c8922
3 files changed
+25 -3

No files matched your search

Binary file not shown.
+22
View File
@@ -174,6 +174,28 @@ Dépendants indirects (référencent des anims, pas le squelette) : 185 bases Mo
- Vérifié sur une map de test : mantle 1 m et 1,5 m, escalade 2 m et 2,4 m, le perso finit à la hauteur du bloc. - Vérifié sur une map de test : mantle 1 m et 1,5 m, escalade 2 m et 2,4 m, le perso finit à la hauteur du bloc.
- Restent pour le nettoyage : `AC_VisualOverrideManager`, `BP_VisualOverride_MetaHuman`, `ABP_GenericRetarget`, `RTG_UEFN_to_MetaHuman_test`, `IK_MetaHuman_test`, CVar `DDCvar.VisualOverride`, `IA_NextVisualOverride`. - Restent pour le nettoyage : `AC_VisualOverrideManager`, `BP_VisualOverride_MetaHuman`, `ABP_GenericRetarget`, `RTG_UEFN_to_MetaHuman_test`, `IK_MetaHuman_test`, CVar `DDCvar.VisualOverride`, `IA_NextVisualOverride`.
- **Phase 7 (2026-11-05)** — tests en PIE, pilotés par script (entrées Enhanced Input injectées, relevés à chaque frame) :
- **OK** :
- course 3,7 m/s, accroupi 1,7 m/s, sprint 5,85 m/s, saut en sprint, réception ;
- mantle 1 m / 1,5 m, escalade 2 m / 2,4 m (après correction de `attach`) ;
- prone à l'arrêt (`PSD_Dense_Prone_Idles`) ;
- fusil sur le socket `Rifle` du MetaHuman, main gauche à 5 cm du socket `LH_IK` (écart poignet-paume), identique en visée → recalage non nécessaire ;
- ragdoll physique sur `PHYS_test` (corps au sol, visage qui suit, hitbox de tête à 6 cm) ;
- portrait d'inventaire (silhouette complète dans `RT_CharacterView`) ;
- aucune nouvelle erreur au journal.
- **Problèmes trouvés, a priori antérieurs à la conversion** :
- **reptation en prone** : `ValidDatabases` = 0 pendant le déplacement → pose quasi debout. Le chooser `CHT_PoseSearchDatabases_Mover` signale depuis le 31/10 des liaisons introuvables (`Cover`, `Cover Direction`, `WantToSwinSpr`) ;
- le 2e appui sur crouch ne relève pas le perso (C partagé entre crouch et prone) ;
- `IA_TriggerRagdoll` (R) n'est pas géré par le pion Mover ;
- « Divide by zero » dans `AC_TraversalLogic` pendant les traversées.
- **Reptation corrigée** : dans `CHT_PoseSearchDatabases_Mover`, la ligne racine « Prone Moving » demandait `Stance = Stand` (`E_Stance::NewEnumerator0`) au lieu de `Prone` → passée à `NewEnumerator2` (via `ToolsetLibrary.set_object_properties` sur `ColumnsStructs`, seule différence à l'export T3D). En PIE : `PSD_Dense_Prone_Walk_Loops` en rampant, tête à ~40 cm.
- **Prone sur place corrigé** (se coucher sans bouger gardait l'idle debout) :
- chooser : lignes « Prone Idle » et « Prone Moving » en `Gait = MatchAny` (la gait ne passait à `PRONE` que ~4 s après la stance → aucune base valide entre-temps) ;
- `Get_MMInterruptMode` (ABP) : la branche GASP d'origine « (état de mouvement OU gait en mouvement OU **stance** changés) ET au sol » était débranchée ; rebranchée sur une 4e entrée du OR final (`BlueprintTools.add_node_pin` + `connect_pins`).
- Vérifié via `ToggleProne` : couché sur place (tête 40 cm), reptation 1,25 m/s, retour debout.
- Reste : la touche C (maintien) déclenche le prone de façon irrégulière, partagée avec crouch.
- **Non testés par script, à vérifier à la main** : cover AST (touche A), interactions (porte, placard, levier, pousser), nage, arc, mort.
## Décisions (validées le 2026-10-31) ## Décisions (validées le 2026-10-31)
- Assets convertis dans le dossier miroir **`Content/Characters/MH/…`** ; le contenu UEFN est supprimé à la fin. - Assets convertis dans le dossier miroir **`Content/Characters/MH/…`** ; le contenu UEFN est supprimé à la fin.