From f96d80301e36f2fb0ac2fe91b1e5820dfc7333bd Mon Sep 17 00:00:00 2001 From: CatryBenoit Date: Mon, 14 Sep 2026 18:18:38 +0200 Subject: [PATCH] =?UTF-8?q?Restauration=20des=20donn=C3=A9es=20Motion=20Ma?= =?UTF-8?q?tching=20d=C3=A9grad=C3=A9es=20par=20la=20migration,=20et=20de?= =?UTF-8?q?=20NS=5FTornado?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Audit des 189 données Motion Matching modifiées depuis d29748b (références des blobs git) : 7 assets dégradés par la migration Project_F, restaurés depuis d29748b (toutes leurs références existent) : - CHT_PoseSearchDatabases_Dense : 19 bases perdues (Bow, Prone, nage, cover accroupi, Push) + fix MatchAny du 2026-09-06 refait (colonne Is Armed, lignes 4-17). - PSC_Traversal_Head/_Pos : de nouveau liés à Systems/Blueprints/BPI_SandboxCharacter_ABP. - PSS_Default/PSS_Idle : table miroir MDT_UEFN_Mannequin retrouvée. - PSN_Relaxed_All, PSD_Dense_Stand_Idles. - NS_Tornado.uasset restauré depuis git (supprimé du disque avant la session ; BP_Tornado le référence). - Vérification : compilation complète 379 Blueprints, seule erreur BP_Item_AdvancedRifle (animation sans squelette) ; PIE MapDev1 OK (pawn SandboxCharacter_CMC ; avertissements antérieurs seulement : Snow -> UDW_Niagara_Parameters, entrées vides des bases de nage) - Architecture_Projet.md mis à jour (§1.3, §4.3, §8.2, §9, §10). Reste à faire à la main : assigner SK_UEFN_Mannequin aux animations AGIS sans squelette (Systems/Inventory/Other/Animations/DeathAnim_AGIS et Rifle/*), impossible par script. Co-Authored-By: Claude Opus 5 --- Architecture_Projet.md | 16 +++++++++++----- .../CHT_PoseSearchDatabases_Dense.uasset | 4 ++-- .../Channels/PSC_Traversal_Head.uasset | 4 ++-- .../Channels/PSC_Traversal_Pos.uasset | 4 ++-- .../Databases/Dense/PSD_Dense_Stand_Idles.uasset | 4 ++-- .../Normalization_Sets/PSN_Relaxed_All.uasset | 4 ++-- .../Schemas/PSS_Default.uasset | 4 ++-- .../MotionMatchingData/Schemas/PSS_Idle.uasset | 4 ++-- 8 files changed, 25 insertions(+), 19 deletions(-) diff --git a/Architecture_Projet.md b/Architecture_Projet.md index 544ca210..c21649ca 100644 --- a/Architecture_Projet.md +++ b/Architecture_Projet.md @@ -114,9 +114,9 @@ Character (Pawn, géré par le framework "Sandbox Character") │ Aucun sous-chooser concerné n'a de colonne d'arme, le repli est donc sans effet de bord. │ ⚠️ **RÉGRESSION 2026-09-13 (voir §8.2)** : `CHT_PoseSearchDatabases_Dense` a été ÉCRASÉ par la migration depuis │ `Project_F` — les lignes armées Bow (`PSD_Dense_Stand_Bow_Idles`, `_Bow_Aim_Idles`, `PSD_Walk_Bow`) et le passage - │ `MatchFalse`→`MatchAny` décrits ci-dessus N'EXISTENT PLUS dans l'asset actuel (seul son contexte a été remis sur - │ `Systems/Blueprints/SandboxCharacter_CMC_ABP`). À refaire à la main ; la version du commit `d29748b` (LFS) contient - │ encore les lignes Bow d'origine (sans le fix MatchAny du 2026-09-06). + │ `MatchFalse`→`MatchAny` décrits ci-dessus avaient disparu. **RESTAURÉ le 2026-09-14** : la version du commit `d29748b` + │ a été remise (lignes Bow, Prone, nage, cover accroupi et Push revenues, contexte `Systems/Blueprints/SandboxCharacter_CMC_ABP`) + │ puis le fix MatchAny a été refait par script : colonne `Is Armed` : lignes 0 et 2 en `MatchFalse`, 1 et 3 en `MatchTrue`, lignes 4 à 17 passées de `MatchFalse` à `MatchAny` (la ligne 18 l'était déjà), vérifié après rechargement. │ **Reste un problème de contenu NON corrigé** (voir §9) : `PSD_Dense_Stand_Bow_Idles` — et ELLE SEULE │ (`_Bow_Aim_Idles`/`PSD_Walk_Bow`/`PSD_Crouch_Bow` sont sains) — a ses 4 entrées │ `DatabaseAnimationAssets[i].SamplingRange` réglées sur `(longueur_du_clip, longueur_du_clip)`, une @@ -459,7 +459,7 @@ Content/Systems/ ├── Interact_Interface.uasset → Interface d'interaction générique (racine de Systems/, à distinguer de BPI_Interactable dans Inventory/Interfaces/) │ └── Weather/ - ├── Tornado/BP_Tornado.uasset, NS_Tornado.uasset → Tornade dynamique (acteur + système Niagara), spécifique au projet. ⚠️ (constaté le 2026-09-14) `NS_Tornado.uasset` est absent du disque (suppression non commitée antérieure au 2026-09-13, fichier toujours présent dans git) : `BP_Tornado` le référence encore → erreur de chargement + ├── Tornado/BP_Tornado.uasset, NS_Tornado.uasset → Tornade dynamique (acteur + système Niagara), spécifique au projet (`NS_Tornado.uasset`, supprimé du disque avant le 2026-09-13 sans commit, restauré depuis git le 2026-09-14 à la demande de l'utilisateur) └── UltraDynamicSky/ → 🧩 **Asset marketplace tiers complet** (~789 fichiers : Blueprints, matériaux, sons, textures de ciel/météo dynamique). Ne pas modifier directement ; utiliser ses points d'extension documentés par le plugin (Weather_Presets, Climate_Presets, Sky_Modifiers). Structure interne : Blueprints/ (Enum, Functions, Occlusion, Sky_Modifiers, Sound, System, Tools, Utilities, Weather_Effects, Widgets), Materials/, Meshes/, Particles/, Sound/, Textures/, Maps/ (map de démo du plugin). ``` @@ -686,7 +686,9 @@ Contenu du framework du sample conservé volontairement (déplacé le 2026-09-14 - **Réparations consécutives** (piège décrit en §9) : variables d'enum vidées retypées et liens rebranchés dans `SandboxCharacter_Mover`, `SandboxCharacter_Mover_Ragdoll`, `SandboxCharacter_Mover_ABP` (restauré depuis sauvegarde puis remappé), `BP_AnimNotify_TriggerRagdoll`, `AnimNotifies/BP_NotifyState_EarlyTransition` et `BP_NotifyState_MontageBlendOut` (liens comparés un à un à leurs jumeaux Systems). Chaque asset validé par rechargement de son package. - **Arrêt de la convergence (décision utilisateur)** : à cause de ce piège, le reste de `Content/Blueprints/` (Mover, Aiming, AC/BPI/structs/notifies/caméras du sample) n'est PAS fusionné. Il a été seulement déplacé, sans fusion, le 2026-09-14 (voir §4.2.1) ; les doublons restants sont une dette connue. -État vérifié en fin de réparation : passe de compilation complète, **435 Blueprints, 0 erreur** (non encore testé en PIE). Dettes connues non liées à la migration : tags `Attachments.*` (§2.1), `Reload_Rifle_Hip`/`DeathAnim_AGIS` sans squelette, « Unknown structure » au chargement de `Systems/Blueprints/BPI_SandboxCharacter_Pawn` (antérieur au 2026-09-07). +**Restauration Motion Matching (2026-09-14, décision utilisateur)** : un audit des 189 données Motion Matching modifiées depuis `d29748b` (comparaison des références `/Game/...` des blobs git avant/après) a trouvé 7 assets dégradés par la migration, tous restaurés depuis `d29748b` (toutes leurs références existent encore) : `CHT_PoseSearchDatabases_Dense` (19 bases perdues : Bow, Prone, nage, cover accroupi, Push ; colonnes `E_CoverD`/`Weapon_Equip`), `Channels/PSC_Traversal_Head` et `_Pos` (pointaient sur la BPI du sample au lieu de `Systems/Blueprints/BPI_SandboxCharacter_ABP`), `Schemas/PSS_Default` et `PSS_Idle` (table miroir `Rigs/MDT_UEFN_Mannequin` perdue), `Normalization_Sets/PSN_Relaxed_All` (le Mover y perd `PSD_SM_Mover_TraversalTransitions`), `Databases/Dense/PSD_Dense_Stand_Idles` (mesh d'aperçu). Seul autre écart trouvé, conservé : `Traversal/CHT_TraversalMontages_Mover` (montages Climb Relaxed → Neutral, chooser du Mover). + +État vérifié en fin de réparation : passe de compilation complète, **435 Blueprints, 0 erreur** (non encore testé en PIE). Dettes connues non liées à la migration : tags `Attachments.*` (§2.1), animations AGIS sans squelette (voir §9 : `Systems/Inventory/Other/Animations/DeathAnim_AGIS` et `Rifle/*` — compatibles à 100 % avec `SK_UEFN_Mannequin`, à assigner à la main dans l'éditeur ; `Jog/`, `WALK/`, `TurnInPlace/`, `AIM_Rifle_Idle_ADS` inutilisées et incompatibles), « Unknown structure » au chargement de `Systems/Blueprints/BPI_SandboxCharacter_Pawn` (antérieur au 2026-09-07). --- @@ -748,6 +750,8 @@ Ce projet est modifié via le plugin **VibeUE** (service MCP `unreal-mcp`, voir - **CRASH ÉDITEUR — handles Python sur des nœuds supprimés (2026-09-14)** : `BlueprintTools.delete_node` puis `compile_blueprint` dans le MÊME `exec`, alors que des variables Python gardent les handles de nœuds / structs de pins (`get_node_infos`) des nœuds supprimés → `EXCEPTION_ACCESS_VIOLATION` dans python311.dll et fermeture de l'éditeur. Fix qui a fonctionné : exécuter l'édition, la compilation/sauvegarde et tout ce qui déclenche un GC (suppression d'assets, `reload_packages`) dans des callbacks `register_slate_post_tick_callback` SÉPARÉS, chacun dans un dictionnaire de globals neuf, avec `scope.clear()` + `gc.collect()` entre les étapes et `unreal.SystemLibrary.collect_garbage()` au début de l'étape suivante. Ne sauvegarder qu'après une vérification : un crash ne laisse alors rien de corrompu sur disque. Relance : `E:\UE_5.8\Engine\Binaries\Win64\UnrealEditor.exe "E:\projet\ProjectFv1\ProjectFv1.uproject"` (MCP disponible ~20 s après). - **Asset Registry périmé après sauvegarde + rechargement (2026-09-14)** : `get_dependencies`/`get_referencers` peuvent encore lister une référence qu'un asset n'a plus (ex. `PC_Sandbox` → widget de démo retiré, alors que le `.uasset` ne contient plus ce nom). Forcer `AssetRegistry.scan_paths_synchronous([dossier], True)` avant de vérifier des référenceurs. - **`EditorAssetLibrary.delete_asset` sur une map non chargée** (`/Game/dev_map`) peut renvoyer `True` en laissant le `.umap` sur disque et une dépendance fantôme dans l'Asset Registry (qui ferait recharger/réenregistrer la map lors d'un renommage de ses dépendances). Vérifier le fichier sur disque ; s'il reste, le supprimer puis `scan_files_synchronous([fichier], True)`. +- **Assigner un squelette à une animation qui n'en a pas (2026-09-14)** : `AnimSequence.Skeleton` est en lecture seule pour `set_editor_property` ET refusé par `ObjectTools.set_properties` ; aucun service VibeUE (`SkeletonService`, `AnimSequenceService`, `AnimMontageService`) ne l'expose (lecture/compatibilité seulement). Seule voie : ouvrir l'asset dans l'éditeur, qui propose de choisir un squelette, puis sauvegarder. Avant, vérifier la compatibilité : `AnimationLibrary.get_animation_track_names(anim)` comparé aux os du mesh cible (`SkinnedMeshComponent.get_num_bones`/`get_bone_name` sur le composant mesh du CDO du personnage). +- **Détecter des régressions d'assets binaires via git** : `git show : | git lfs smudge` restitue l'ancien `.uasset` ; comparer l'ensemble des chaînes `/Game/...` (table des noms) entre ancienne et nouvelle version révèle les références perdues (lignes de chooser, bases d'un schéma, BPI d'un canal) sans ouvrir l'éditeur. - **Déplacer un dossier via `AssetTools.rename_assets`** (liste d'`AssetRenameData`, un seul appel pour tout le lot) réécrit et sauvegarde lui-même les référenceurs, sans laisser de redirecteur quand tous sont chargeables (112 assets en ~32 s le 2026-09-14). Le coût dépend du nombre de référenceurs : un notify utilisé par des milliers d'animations oblige à toutes les réenregistrer. --- @@ -781,4 +785,6 @@ Ce document **doit toujours refléter l'état réel du projet**. Un skill dédi - *2026-09-14 (isolation du framework du sample) : démo GASP supprimée (`dev_map`, `Content/Levels/LevelPrototyping/`, `Content/Widgets/`) après avoir détaché `AC_TraversalLogic` (branche `LevelBlock_Traversable`) et `PC_Sandbox` (widget de démo) ; 17 redirecteurs d'enum supprimés ; 112 assets déplacés sans fusion (`Content/Blueprints/` → `Systems/Mover/` sauf `AnimNotifies/`, `Aiming/` → `Systems/Aiming/`, `Content/Input/` → `Systems/Mover/Input/`, `E_WaponType` → `Data/Enums/`), références réécrites, aucun redirecteur restant. Contrôle après redémarrage complet de l'éditeur : liens de graphe, valeurs de pins et types de variables des 66 Blueprints concernés encore existants identiques au relevé pris avant le déplacement (seuls écarts : chemins réécrits et artefacts de l'outil de comparaison). Compilation complète : 379 Blueprints, seule erreur `BP_Item_AdvancedRifle` (`Reload_Rifle_Hip` sans squelette, antérieure).* +- *2026-09-14 (reprise) : test PIE sur `MapDev1` — `GM_Dev` fait apparaître `SandboxCharacter_CMC`, aucune erreur de Blueprint à l'exécution. Seuls messages, antérieurs : `Systems/Weather/UltraDynamicSky/Particles/Snow` référence encore l'ancien chemin `/Game/UltraDynamicSky/Particles/UDW_Niagara_Parameters`, et 4 avertissements Pose Search d'entrées vides dans `PSD_SwimmingIdle`/`PSD_SwimmingMovingSprint` (contenu inchangé depuis `d29748b`, de nouveau chargé grâce au chooser restauré). Restauration depuis `d29748b` des 7 données Motion Matching dégradées par la migration (voir §8.2) avec fix MatchAny refait, et de `NS_Tornado`. Compilation complète : 379 Blueprints, seule erreur `BP_Item_AdvancedRifle` (`Reload_Rifle_Hip` sans squelette, antérieure).* + *`Content/Data/DT_DemoTags.uasset` (anciennement à la racine) : longtemps considéré comme un reste de test sans référence — FAUX (vérifié le 2026-09-13) : c'est la table de tags AGIS déclarée dans `Config/DefaultGameplayTags.ini`, à conserver (voir §2.1).* diff --git a/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/CHT_PoseSearchDatabases_Dense.uasset b/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/CHT_PoseSearchDatabases_Dense.uasset index 99253881..aec7fda7 100644 --- a/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/CHT_PoseSearchDatabases_Dense.uasset +++ b/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/CHT_PoseSearchDatabases_Dense.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e28833a6ec970010a73d26022c2c3582ebd1fb242fdb9ed5e31d7becae86c744 -size 35186 +oid sha256:f257df7e8c0b4fc121f378b80be3ed67e42d7546aa7291a436ad013f249b3a41 +size 65102 diff --git a/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Channels/PSC_Traversal_Head.uasset b/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Channels/PSC_Traversal_Head.uasset index d8bd0694..db4ae89f 100644 --- a/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Channels/PSC_Traversal_Head.uasset +++ b/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Channels/PSC_Traversal_Head.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:927ec5a88af034a51dbbd57047a53c43e812e0dca5aac841aad0a8b48b0373f9 -size 31067 +oid sha256:60238f004d81b4944615cefa52bc24ff8014f5fbd559e0d2cd65e3fc638696b5 +size 27187 diff --git a/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Channels/PSC_Traversal_Pos.uasset b/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Channels/PSC_Traversal_Pos.uasset index 867bf0e4..f29b771a 100644 --- a/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Channels/PSC_Traversal_Pos.uasset +++ b/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Channels/PSC_Traversal_Pos.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f2d25ac2054f68d9a0b69ecad5f90c277efc76e682dc8d45e4d278a9f8a9742f -size 28457 +oid sha256:6b11b7873f0dd0b2eea4cf181c3a1c1eb3e580b601997f56e62acf34353cf3b4 +size 24364 diff --git a/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Databases/Dense/PSD_Dense_Stand_Idles.uasset b/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Databases/Dense/PSD_Dense_Stand_Idles.uasset index 4b8d38aa..dc53ac9a 100644 --- a/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Databases/Dense/PSD_Dense_Stand_Idles.uasset +++ b/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Databases/Dense/PSD_Dense_Stand_Idles.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0d4f51bf0d8883fc663a6cc82dc278b6c9a5ea01142b3180ac3a24ea7c6edddb -size 4049 +oid sha256:5559f5b6da52fd737a294ead83c8acd12ec96ab28ee45ef59b789883adc5fc1a +size 4337 diff --git a/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Normalization_Sets/PSN_Relaxed_All.uasset b/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Normalization_Sets/PSN_Relaxed_All.uasset index 572b7232..c8909e76 100644 --- a/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Normalization_Sets/PSN_Relaxed_All.uasset +++ b/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Normalization_Sets/PSN_Relaxed_All.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0d295ebdd518a9bed01242cea94449d1182435b85b192cf832d4dcef6e91fe8a -size 13523 +oid sha256:3d20c775bbfa457541ec6ec3c4593ac666f0f274d1957212c9aa74b55a73d3a1 +size 13759 diff --git a/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Schemas/PSS_Default.uasset b/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Schemas/PSS_Default.uasset index 7bfbc906..c398d492 100644 --- a/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Schemas/PSS_Default.uasset +++ b/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Schemas/PSS_Default.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9034fafcac9c1e2a4bf22bb22c5fe0b3323d70c05359d08a447a313d9dbbdbf3 -size 5812 +oid sha256:ea37e82a9cfcaa35291dc1c6ba48f650e863621b965890b2ad16e8a5ee1c7eb1 +size 6036 diff --git a/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Schemas/PSS_Idle.uasset b/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Schemas/PSS_Idle.uasset index 92379ef8..74175b10 100644 --- a/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Schemas/PSS_Idle.uasset +++ b/Content/Characters/UEFN_Mannequin/Animations/MotionMatchingData/Schemas/PSS_Idle.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4182bff84250fc4e7c0be4d4a2fe3dc33931296a1b4c5b1c4af6f98cec76ab58 -size 5539 +oid sha256:eb1204465db4b46dc7fffe6f6c799f8b27d70e4002989f6a3a30c2789450e67d +size 5760