Objectif
Simuler une glissade naturelle lorsqu'un personnage marche sur une surface glacée inclinée. Le personnage doit glisser uniquement vers le bas de la pente, en fonction de la gravitation, sans possibilité de remonter.
Contexte

Le sol utilise un Physical Material avec une friction nulle (Friction = 0)
Le système de Character Movement d'Unreal ne simule pas la glissade de façon naturelle
Il est donc nécessaire d'appliquer une force directionnelle manuelle dans la direction de la pente
Fonctionnement

Détection de pente
Line Trace vers le bas (depuis le personnage)
Récupération de la Hit Normal via Break Hit Result

Calcul de la direction de glisse (projection de la gravité)
Utilisation d'un double produit vectoriel (Cross Product) :
GlideDirection = Normalize(Cross(Normal, Cross(Up, Normal)))
Up = (0,0,1)
Ce vecteur donne la direction dans laquelle un objet glisserait naturellement sur cette pente

 Application de la glisse
Multiplier le GlideDirection par une valeur de force (ex : 1000) pour ajuster l'intensité
Utiliser le node Launch Character avec :
Launch Velocity X/Y = GlideDirection * 1000
Z override = false (pour rester collé au sol)
Problèmes rencontrés
Note ici les bugs ou comportements inattendus que tu as rencontrés lors de l’implémentation.
Solution implémentée
Décris ce que tu as modifié ou restructuré pour que ça fonctionne correctement.
 Résultat
Le personnage glisse automatiquement dans le sens naturel de la pente
Même s'il tente de remonter, la force l'en empêche
Comportement fluide, cohérent avec la physique et la friction du matériau
 Visuels
Colle ici des captures d’écran :
Blueprint

Résultat dans le viewport

Console debug si pertinent
Notes personnelles ou améliorations futures
      Ce système est totalement indépendant de l'orientation du personnage
      Peut être réutilisé pour d'autres types de surfaces : sable, gravier, etc.
      Option à explorer : interpoler la force appliquée selon l'angle de la pente
Back to Top