From 338f0c8922f5d527a5d0475a65991dee275be6e6 Mon Sep 17 00:00:00 2001 From: CatryBenoit Date: Thu, 5 Nov 2026 16:44:16 +0100 Subject: [PATCH] Conversion MetaHuman phase 7 : tests et correction du prone MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- .../CHT_PoseSearchDatabases_Mover.uasset | 2 +- .../Mover/SandboxCharacter_Mover_ABP.uasset | 4 ++-- Docs/Plan_Conversion_MetaHuman.md | 22 +++++++++++++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/CHT_PoseSearchDatabases_Mover.uasset b/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/CHT_PoseSearchDatabases_Mover.uasset index f81ef945..8f76d35e 100644 --- a/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/CHT_PoseSearchDatabases_Mover.uasset +++ b/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/CHT_PoseSearchDatabases_Mover.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:73b7f165d24c4cf0436ce571ea6fc38ec181f809a282813e71034292b3771e4a +oid sha256:75277f314e5528fd59105894c96f2000da0b783cc208e89390c7b7bac98d36e5 size 65104 diff --git a/Content/Systems/Mover/SandboxCharacter_Mover_ABP.uasset b/Content/Systems/Mover/SandboxCharacter_Mover_ABP.uasset index 4b38f315..24deee4b 100644 --- a/Content/Systems/Mover/SandboxCharacter_Mover_ABP.uasset +++ b/Content/Systems/Mover/SandboxCharacter_Mover_ABP.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:64038fdcbab367315c8970707cc94ba4c1044f773a9aef1bfdda101421bde0c6 -size 6127451 +oid sha256:001e590f34f670113612c6d116e3cb212f73a40076e2e1d12e48ffb6176b6e49 +size 6129035 diff --git a/Docs/Plan_Conversion_MetaHuman.md b/Docs/Plan_Conversion_MetaHuman.md index 8ccb1799..ed54307f 100644 --- a/Docs/Plan_Conversion_MetaHuman.md +++ b/Docs/Plan_Conversion_MetaHuman.md @@ -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. - 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) - Assets convertis dans le dossier miroir **`Content/Characters/MH/…`** ; le contenu UEFN est supprimé à la fin.