Objectif
Simuler dynamiquement les cheveux, le pagne et les manches du personnage pour donner un aspect plus vivant et fluide à l’animation, sans recourir à des keyframes manuelles.
Fonctionnement général
Deux approches sont utilisées selon les besoins d’esthétique et de contrôle :
Cheveux : utilisation de nodes Anim Dynamics dans l’AnimGraph pour une simulation légère, fluide et légèrement chaotique.
Accessoires (pagne et manches) : utilisation du Control Rig avec des nœuds Spring Interpolate pour plus de stabilité, de contrôle directionnel et de rebond maîtrisé.Détail du pipeline (étape par étape)
[Cheveux – Anim Dynamics]
Création d’un Cached Pose puis conversion en Local Space (Local To Component)
Ajout d’une série de Anim Dynamics (Alpha : 0.5–0.8) sur les chaînes de bones des cheveux
Réinjection dans la pose animée pour affecter la simulation en runtime
[Pagne & Manches – Control Rig]
Dans le Control Rig : Get Transform des bones de base en Global Space
Application d’un Spring Interpolate pour simuler une inertie sur la rotation
Set Transform avec le résultat interpolé, appliqué avec Propagate to Children pour entraîner les extrémitésProblèmes rencontrés
Cheveux : trop d’instabilité au départ avec Spring Interpolate (oscillations incohérentes sur plusieurs bones en chaîne)
Pagne : collision manquante avec le corps / clipping trop fréquent
Difficile de rendre l’effet crédible sans dévier du style cartoon
Solution implémentée
Cheveux : basculé vers Anim Dynamics pour bénéficier de la gestion automatique des contraintes sans surprogrammation
Pagne & manches : resté sur Spring Interpolate mais limité à 1 bone par élément, avec damping élevé et Critical Damp activé
Réduction du poids de Set Transform (Weight = 1.0 mais pas Maintain offset) pour éviter l’effet de flottement constantTests et validation
Mode simulateur dans l’Editor pour tester les bones dynamiques sans lancer le jeu
Print debug sur la rotation des bones dans le Control Rig
Comparaison du comportement sur terrain plat vs. terrain avec mouvement de caméra
Visuels
Colle ici des captures d’écran :
Blueprint
Résultat dans le viewport
Console debug si pertinent
Notes personnelles ou améliorations futures
Ajouter un contrôle runtime sur l’intensité des effets via une Curve de gameplay ou un Scalar Parameter (ex : intensité du vent)
Ajouter des collisions de capsule sur les manches et le pagne avec Physics Asset léger
Centraliser tous les réglages de spring (damping, intensité) dans une DataTable pour pouvoir les tweaker sans recompiler le Control Rig
Expérimenter avec Chaos Cloth pour des versions plus avancées en runtime ou cinématique