LifePlay-Revival/Docs/Migration/etat/OPT/BC/BC-R9.md
edujiro5972 8084622450 LifePlay UE 5.8 : état de développement au 2026-10-19
Tickets : REP1-T4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 22:57:42 +02:00

10 KiB

BC-R9 : animation et personnages en UE 5.8 (foules de PNJ, AnimBP, budget d'animation)

Date 2026-10-15 / auteur : sous-agent Sonnet OPT0-R / 14 entrées : 12 établi, 1 estimé, 1 non vérifié (R9-14 compté établi) (aucune page Epic ne porte de date de mise à jour, toutes mentionnées « 5.8 » d'après l'en-tête de page). R10 : +1 entrée(s) établi (R9-101…), voir BC-R10-SOURCES.md.

id affirmation (1-2 phrases, sans copie de texte) source (URL, date, version UE) niveau (établi / estimé / non vérifié) application à LifePlay (système ou fichier) action proposée skill de destination
R9-01 Le plugin Animation Budget Allocator plafonne en millisecondes le temps game-thread consacré aux Skeletal Mesh Components : il réduit la cadence de tick, désactive des ticks (au profit d'un Leader Pose) et peut interpoler. https://dev.epicgames.com/documentation/unreal-engine/animation-budget-allocator-in-unreal-engine / date inconnue / UE 5.8 établi Blueprints de PNJ / rendu : toute scène avec beaucoup de personnages animés. Évaluer l'activation du plugin sur un niveau dense en PNJ et mesurer avant/après. lp-perf
R9-02 Mise en place du budget : composant Mesh de classe SkeletalMeshComponentBudgeted, options Auto Calculate Significance et Auto Register with Budget Allocator, puis nœud Enable Animation Budget au Begin Play ; sans le nœud et la classe, rien ne se passe. https://dev.epicgames.com/documentation/unreal-engine/animation-budget-allocator-in-unreal-engine / date inconnue / UE 5.8 établi Blueprint de personnage PNJ (changement de classe du composant Mesh), config. Lister les BP de PNJ à passer en composant budgété ; vérifier la compatibilité avec le composant actuel. lp-bp-audit
R9-03 Le budget se règle par plateforme via la scalabilité (exemple de la doc : 1,0 à 2,5 ms selon la qualité de distance de vue) ; variables clés a.Budget.BudgetMs, MaxTickRate, MinQuality, MaxTickedOffscreen ; a.Budget.Enabled ne se change qu'à l'arrêt des meshes. https://dev.epicgames.com/documentation/unreal-engine/animation-budget-allocator-in-unreal-engine / date inconnue / UE 5.8 établi Config (DefaultScalability.ini) et profils de qualité. Prévoir des valeurs par niveau de scalabilité ; ne pas basculer a.Budget.Enabled en cours de partie. lp-perf
R9-04 Le débogage se fait par Stat > Advanced > AnimationBudgetAllocator et une surcouche par mesh (cadence, niveau de détail, interpolation) ; a.Budget.Debug.Force force les valeurs pour tester. https://dev.epicgames.com/documentation/unreal-engine/animation-budget-allocator-in-unreal-engine / date inconnue / UE 5.8 établi Validation en jeu / tests de performance. Ajouter ces commandes à une checklist de profilage. lp-validate
R9-05 Le budget enregistre un composant : l'API indique que le tick par défaut et l'URO sont alors désactivés et que les tâches d'animation parallèles passent par le budgeteur ; ne pas cumuler réglages URO manuels et budget. https://docs.unrealengine.com/4.26/en-US/API/Plugins/AnimationBudgetAllocator/IAnimationBudgetAllocator/RegisterComponent/index.html (relayé par la recherche ; page non ouverte, donc entrée appuyée sur la page budget 5.8 et sur l'extrait de recherche) / UE 4.26 estimé Blueprints de PNJ : éviter des réglages URO redondants. Vérifier en 5.8 sur la page API actuelle avant de s'appuyer dessus. lp-ue-compat
R9-06 Un AnimBP rapide déplace la logique de l'Event Graph (séquentiel, game thread, souvent le plus coûteux) vers des fonctions Thread Safe appelées depuis l'override Blueprint Thread Safe Update Animation, exécutées sur threads de travail. https://dev.epicgames.com/documentation/unreal-engine/animation-optimization-in-unreal-engine / date inconnue / UE 5.8 établi AnimBP hérités d'UE 4 (logique dans l'Event Graph). Auditer les AnimBP : migrer l'Event Graph vers Thread Safe Update Animation. lp-bp-audit
R9-07 Property Access permet à une fonction thread-safe de lire des données de Blueprints ou composants non thread-safe, via nœud ou broche liée ; Lyra l'utilise pour lire la vitesse du personnage. https://dev.epicgames.com/documentation/unreal-engine/animation-optimization-in-unreal-engine / date inconnue / UE 5.8 établi AnimBP : remplacer les Cast / Get Owner de l'Event Graph par Property Access. Recenser les lectures de l'acteur propriétaire dans les AnimBP. lp-bp-audit
R9-08 Le Fast Path copie les paramètres dans l'AnimGraph sans passer par la VM Blueprint ; il accepte variables membres, booléens inversés, membres de structs imbriqués ; tout calcul le désactive. L'option « Warn About Blueprint Usage » signale les appels qui le contournent. https://dev.epicgames.com/documentation/unreal-engine/animation-optimization-in-unreal-engine / date inconnue / UE 5.8 établi AnimGraph : activer l'avertissement et lire les résultats de compilation. Activer « Warn About Blueprint Usage » sur les AnimBP des PNJ et corriger les avertissements. lp-bp-audit
R9-09 La page d'optimisation conseille URO (cadence autour de 15 Hz ou moins à distance, interpolation désactivée), note que les mises à jour parallèles sont bloquées si le root motion est requis, et suggère « Component Use Fixed Skel Bounds » quand la Physics Asset est inutile. https://dev.epicgames.com/documentation/unreal-engine/animation-optimization-in-unreal-engine / date inconnue / UE 5.8 établi Composants Skeletal Mesh des PNJ (cases Optimization). Fixer une politique URO par type de PNJ ; exclure les PNJ en root motion. lp-perf
R9-10 Les réglages fins d'URO (table LODToFrameSkipMap, cadence hors écran) se font en C++ via les paramètres de mise à jour ; un contributeur signale un impact sur la vitesse apparente en root motion (bogue UE-42117, ancien). https://forums.unrealengine.com/t/how-to-use-animupdateratetick/381159 (non ouvert, extrait de recherche) ; https://dev.epicgames.com/documentation/unreal-engine/API/Runtime/Engine/USkinnedMeshComponent (non ouvert) / UE 4.x, date inconnue non vérifié Config C++ des PNJ ; Blueprints en comportement par défaut. Ne pas se fier à ceci sans lecture de l'en-tête UE 5.8 de USkinnedMeshComponent. lp-ue-compat
R9-11 Pour les rigs modulaires : Leader Pose a le coût game-thread minimal mais pas d'animation ni physique propres aux enfants (squelettes identiques exigés) ; Copy Pose From Mesh est plus coûteux (une évaluation par enfant) et exige un ordre de tick ; Skeletal Mesh Merge réduit les draw calls mais impose une préparation lourde. https://dev.epicgames.com/documentation/unreal-engine/working-with-modular-characters-in-unreal-engine / date inconnue / UE 5.8 établi PNJ à pièces séparées (vêtements, cheveux) : composants enfants. Inventorier les PNJ utilisant Copy Pose / Set Leader Pose ; préférer Leader Pose si aucune physique propre. lp-bp-audit
R9-12 Le plugin Animation Sharing évalue un petit jeu de « buckets » d'états une fois et partage les poses via Leader Pose avec toute la foule ; variation par décalages aléatoires, blends coûteux, plafond de blends simultanés ; la voie native est bien plus rapide que le Blueprint. https://dev.epicgames.com/documentation/unreal-engine/animation-sharing-plugin-in-unreal-engine / date inconnue / UE 5.8 établi Foules de PNJ de fond sur squelette commun. Prototype pour les PNJ de fond au squelette partagé ; mesurer. lp-perf
R9-13 Le Significance Manager n'améliore rien seul : il classe des objets enregistrés selon une fonction fournie par le projet ; l'appel Update (une fois par frame) est à la charge du jeu, les fonctions de significance doivent être thread-safe, chaque enregistrement exige un désenregistrement. https://dev.epicgames.com/documentation/unreal-engine/significance-manager-in-unreal-engine / date inconnue / UE 5.8 établi C++ (module SignificanceManager dans Build.cs) ; PNJ, audio, IA, effets. Si adopté, centraliser un seul appel Update ; relier au budget d'animation. ue-cpp-build
R9-14 Pour les foules massives en 5.8 : un employé d'Epic (juin 2026) annonce que la recommandation probable sera Mass + ISKM (Instanced Skinned Mesh) avec AnimSequenceTransformProvider ; ISKM n'a pas d'AnimBP, et l'Animation Sharing est jugé nettement plus lent. Les MetaHuman Crowds (expérimental) font passer acteurs et ISKM selon la distance, sans AnimBP de post-traitement au loin. https://forums.unrealengine.com/t/animbank-and-instanced-skinned-mesh-component/2734825 / juin 2026 / UE 5.8 ; https://dev.epicgames.com/documentation/metahuman/metahuman-crowds-in-unreal-engine / date inconnue / UE 5.8 (expérimental) établi (forum, employé Epic) pour ISKM sans AnimBP ; estimé pour la future recommandation Foules de milliers de PNJ : ne pas investir en VAT maison avant d'avoir évalué ISKM. Veille : réévaluer à la sortie de 5.8 finale ; ne rien porter tant que c'est expérimental. lp-perf
R9-101 Les notes 5.8 retirent des méthodes dépréciées du runtime d'animation (jusqu'en 5.6) ; aucune mention d'Animation Budget Allocator dans les notes 5.8 et une seule d'URO : pas de rupture annoncée sur ces systèmes entre 5.6 et 5.8. https://dev.epicgames.com/documentation/unreal-engine/unreal-engine-5-8-release-notes / date inconnue (lue 2026-10-15) / UE 5.8 établi AnimBP et nœuds d'animation : seul le retrait des API dépréciées est à surveiller. Compter les avertissements d'animation à la compilation Blueprint (A2). lp-bp-audit

Lacunes et doutes

  • Aucune page Epic consultée ne porte de date de mise à jour ; la version « 5.8 » vient de l'en-tête de page. Les notes de version 5.6 à 5.8 n'ont pas été ouvertes (recherche bornée).
  • Linked Anim Graph : seule la doc de liaison a été vue via la recherche (non ouverte) ; aucun chiffre de coût trouvé. Pas d'entrée créée.
  • Skeletal Mesh LOD Settings : seuls des extraits d'API (suppression de bones par LOD, bake pose) ont été vus, pages non ouvertes ; pas d'entrée créée.
  • Vertex Animation / Anim to Texture (VAT) : non couvert directement ; l'employé Epic dit seulement que ISKM est préférable à VAT en flux de travail et que les nouveautés peuvent avoir plus de bogues.
  • Le fil forum cite des dates de juin 2026 ; aucun recoupement indépendant. Un autre fil signale une fuite mémoire GPU du SkinnedMeshInstance en 5.8 (rapport utilisateur, non ouvert).
  • Les entrées R9-05 et R9-10 s'appuient sur des pages UE 4 ou des extraits de recherche non ouverts.