Physique dans Unreal Engine 5 : Simulate Physics et Add Impulse
Tu veux qu’une caisse tombe, roule ou parte quand on la pousse ? Ce guide t’explique comment activer la physique sur un objet, comment l’allumer au bon moment en Blueprint et comment le pousser avec Add Impulse. Il te donne aussi une liste de vérifications quand rien ne bouge. Tout est tiré de la documentation officielle d’Epic Games.
Activer la physique sur un objet
Avec la physique, c’est le moteur qui calcule les mouvements : l’objet tombe, roule, se fait bousculer. On dit qu’il simule la physique. Pour l’activer sur un composant mesh :
- Sélectionne le composant et ouvre la rubrique Physics dans Details.
- Coche Simulate Physics.
- Dans Collision, mets Collision Presets sur PhysicsActor, le preset fait pour les objets qui simulent.
Pose ensuite l’objet en l’air dans le niveau et lance le jeu : il tombe et se pose sur le sol.
Pour simuler, l’objet a besoin d’une collision simple. Si la case refuse de se cocher, ouvre le mesh dans le Static Mesh Editor et ajoute-lui une collision de type Box. Les formes de base, comme le Cube, en ont déjà une.
Bien régler la collision pour que l’objet tombe
Un objet qui tombe doit bloquer le sol. Le preset PhysicsActor le fait. Si l’objet dit Overlap ou Ignore aux WorldStatic, il traverse le sol : pour bloquer, il faut que les deux objets disent Block. Autre piège : avec Collision Enabled sur Query Only, la physique est impossible, et Unreal écrit un avertissement dans l’Output Log.
Toujours dans Physics, tu peux cocher la case de Mass (kg) pour choisir le poids toi-même. Sinon, Unreal le calcule d’après la taille. Si tu décoches Enable Gravity, l’objet ne tombe plus : il flotte, mais on peut encore le pousser. Linear Damping freine le déplacement et Angular Damping freine la rotation.
Un Physical Material décrit la matière : Friction (glisse-t-il ?), Restitution (rebondit-il ?) et Density (lourd pour sa taille ?).
Allumer la physique au bon moment
Pour un piège, l’objet doit attendre en l’air, puis tomber plus tard. Laisse Simulate Physics décoché au départ. Pendant le jeu, le nœud Set Simulate Physics allume la physique quand tu veux : sa case Simulate à cocher, et la cible est le composant.
Deux points à retenir :
- Quand un composant se met à simuler, il se détache de son parent et vit sa vie.
- Remettre Simulate à faux arrête la physique, mais ne le rattache pas : il reste où il est tombé. Il faut le rattacher toi-même.
Récupérer les chocs d’un objet qui simule
Un objet qui simule ne lance pas de On Component Hit tout seul. Coche Simulation Generates Hit Events sur lui. Chaque objet ne prévient que lui-même : si seule la caisse a la case, le sol ne sait jamais qu’on l’a touché.
Pousser un objet avec Add Impulse
Add Impulse donne un coup sec, comme un coup de pied dans un ballon. Son entrée Impulse est un Vector, une flèche en 3D : sa direction dit où pousser, sa longueur dit avec quelle force. Les trois nombres sont X, Y et Z, comme dans le niveau. Z pousse vers le haut : 0, 0, 500 fait sauter l’objet. Pour pousser sur le côté, utilise X ou Y.
- La Target est un composant, pas l’acteur entier. Branche par exemple le composant mesh.
- Seul un objet qui simule bouge. Sans Simulate Physics, rien ne se passe.
- Par défaut, la masse compte : le même coup envoie un objet léger bien plus loin qu’un objet lourd.
- Avec Vel Change coché, le nombre devient directement une vitesse. Sans lui, un objet comme une caisse demande de très grands nombres (des dizaines de milliers).
Pour aller plus loin : Add Force pousse en continu, comme un réacteur. Il faut l’appeler à chaque image, depuis Event Tick. Add Radial Impulse pousse tout autour d’un point, comme une explosion, avec Origin (le centre), Radius (jusqu’où) et Strength (la force).
Ça ne marche pas ? La liste de vérification
- Un objet immobile : vérifie Simulate Physics et la présence d’une collision.
- Un objet qui traverse le sol : mets Block pour WorldStatic.
- Un Hit muet sur un objet qui simule : coche Simulation Generates Hit Events.
- Un overlap muet : aucun des deux ne doit dire Ignore, et Generate Overlap Events doit être coché des deux côtés.
Questions fréquentes
Pourquoi la case Simulate Physics refuse-t-elle de se cocher ?
Le mesh n’a pas de collision simple. Pas de collision, pas de physique : ajoute une collision de type Box dans le Static Mesh Editor.
Mon Add Impulse se lance, mais l’objet ne bouge pas. Pourquoi ?
Une impulsion ne pousse qu’un objet qui simule. Coche Simulate Physics, ou appelle Set Simulate Physics avant.
Quelle différence entre Add Impulse et Add Force ?
Add Impulse est un coup sec, instantané. Add Force pousse en continu, image après image.
Sources officielles
- Setting Up Collisions With Static Meshes (documentation Epic)
- Collision Response Reference (documentation Epic)
- Physics Bodies Reference (documentation Epic)
- Set Simulate Physics (documentation Epic)
- Collision Overview (documentation Epic)
- Physical Materials Reference (documentation Epic)
- Add Impulse (documentation Epic)
- Add Force (documentation Epic)
À lire aussi : les collisions Block, Overlap et Ignore, le Line Trace et Event Tick et BeginPlay.
Tu veux faire tomber et pousser tes premiers objets dans un vrai projet ? Le cours te guide pas à pas : des leçons courtes, des quiz et des mini-projets, à ton rythme.
Apprendre Unreal Engine 5 gratuitement