← Learn Blueprints

Event Tick et BeginPlay dans Unreal Engine

Dans un Blueprint, tout commence par un événement. Les deux premiers que tu croises sont Event BeginPlay et Event Tick. À la fin de ce guide, tu sauras quand chacun se lance, lequel choisir, et pourquoi Tick demande un peu de prudence. Tout est vérifié sur la documentation officielle d’Epic Games.

Un événement répond à « quand ? »

Ce que fait un Blueprint se construit dans l’onglet Event Graph. Là, tu poses des nœuds et tu les relies : c’est le graphe. Il n’y a pas de code à taper.

Chaque suite de nœuds démarre par un événement. C’est un nœud rouge qui dit quand agir. Ensuite, Unreal suit le fil blanc de gauche à droite, nœud après nœud. Un nœud d’action qui n’est pas relié à ce fil ne se lance jamais.

Event BeginPlay : une seule fois, au départ

Event BeginPlay se lance une seule fois, quand l’acteur commence à jouer. Pour un objet déjà posé dans le niveau, c’est au moment où tu cliques sur Play.

Il est déjà présent dans un nouveau Blueprint, un peu transparent : il attend d’être branché. Tire un fil depuis sa flèche blanche. Un Blueprint ne peut avoir qu’un seul Event BeginPlay.

Pour vérifier qu’un événement se lance, branche un nœud Print String. Il écrit un message en haut à gauche de l’écran pendant le jeu, quelques secondes. Compile, sauve, clique sur Play, puis arrête la partie avec Échap.

Event Tick : à chaque image

Un jeu ressemble à un dessin animé : une suite d’images très rapides, appelées frames, souvent 60 par seconde. Event Tick se lance à chaque image. Si le jeu tourne à 60 images par seconde, il se déclenche environ 60 fois par seconde.

C’est l’événement qu’il faut pour un mouvement continu, comme un objet qui tourne. Par exemple, Add Actor Local Rotation branché sur Event Tick fait tourner l’acteur d’un petit angle à chaque image.

Attention : si tu mets la même valeur à chaque image, la vitesse dépend de l’ordinateur. Pour corriger cela, Event Tick fournit Delta Seconds, le temps écoulé depuis l’image précédente. Multiplie ta vitesse par Delta Seconds et le résultat est le même sur tous les PC. Le guide Delta Seconds détaille ce calcul.

Tick se paie à chaque image

Le code branché sur Tick tourne à chaque image, pour chaque acteur. Prends 100 zombies, avec un gros calcul dans Tick, à 60 FPS : 100 × 60 = 6 000 calculs par seconde. Ça s’additionne vite, et la ligne Game grimpe dans la commande stat unit.

La règle : garde Tick pour ce qui change vraiment à chaque image. Un missile qui suit sa cible en douceur en est un bon exemple. Ce qui arrive à un moment précis va sur un événement lancé une seule fois, par exemple :

Un Event Tick sans fil ne coûte rien

Si rien n’est branché sur Event Tick, il reste grisé. Unreal le voit à la compilation et ne fait pas « ticker » l’acteur. Il ne coûte donc rien. Dès qu’un nœud y est relié, il tourne à chaque image.

Questions fréquentes

Quelle est la différence entre Event BeginPlay et Event Tick ?

Event BeginPlay se lance une seule fois, au départ. Event Tick se lance à chaque image, donc en continu tant que le jeu tourne.

Faut-il éviter Event Tick ?

Non, mais il faut l’utiliser pour ce qui change à chaque image. Pour une action qui arrive à un moment précis, un événement lancé une seule fois suffit.

Mon objet tourne plus vite sur le PC d’un ami, pourquoi ?

Tu as sans doute mis une valeur fixe à chaque image, sans Delta Seconds. Avec 1 degré par image, un PC à 120 images par seconde tourne à 120 degrés par seconde, contre 60 sur un PC à 60 images par seconde : deux fois plus vite.

Sources officielles

À lire aussi : Delta Seconds dans Unreal Engine, utiliser un timer au lieu de Tick et c’est quoi un Blueprint.

Tu veux voir Event BeginPlay et Event Tick en action ? Branche-les toi-même dans un cours en leçons courtes, avec des quiz et des mini-projets.

Apprendre Unreal Engine 5 gratuitement

Retour à l’accueil de Learn Blueprints