Contrôles de jeu
Les contrôles de jeu transforment un objet en personnage que le visiteur peut déplacer : à pied, en vol, ou sur une carte vue de dessus. Cette page explique comment les mettre en place et à quoi sert chaque réglage.
Ce qu'il vous faut
- Un personnage : l'objet qui porte le déclencheur Game controls.
- Un sol solide : un sol avec un corps rigide et un collider.
- Une caméra, ou aucune. Si vous n'en choisissez pas, une caméra intégrée est utilisée.
Ajouter les contrôles de jeu
Les contrôles de jeu sont un déclencheur, pas une étape. Tous les réglages du contrôleur se trouvent dans le déclencheur.
- Sélectionnez l'objet qui doit devenir le personnage.
- Dans l'inspecteur, cliquez sur + new component et choisissez Events.
- Cliquez sur + add event.
- Choisissez le déclencheur Game controls.
- Ajustez les réglages décrits ci-dessous.
- Facultatif : ajoutez des étapes aux branches On idle, On move, On run et On jump pour réagir à ce que fait le personnage, par exemple pour lancer une animation.
Le contrôleur existe tant que son objet est activé. Désactivez l'objet : le contrôleur disparaît. Réactivez-le : le contrôleur revient.
Déplacement
| Réglage | Ce qu'il règle |
|---|---|
| Movement | Walk (marche), Fly (vol) ou Top down (vue de dessus) |
| Towards | le sens de « l'avant » : là où regarde la caméra (Camera), ou l'axe de la scène (Axis) |
| Pos. Speed · Run Factor | la vitesse en mètres par seconde, et combien le personnage va plus vite en courant, touche Maj enfoncée |
| Pos. Delay | le temps pour atteindre la vitesse maximale, et pour s'arrêter |
| Auto-orient · Rot. Speed | si le personnage se tourne dans la direction où il va, et à quelle vitesse |
| Keys | WASD, les flèches, ou les deux |
| Jump | la hauteur du saut en mètres ; 0 désactive le saut |
| Air Control | à quel point le visiteur peut diriger le personnage pendant un saut |
| Rst Y-offset | si le personnage tombe à cette distance sous son point de départ, il y est replacé |
| Click to move | le personnage marche jusqu'au point touché par le visiteur |
| Rotate By | tourner la vue avec la souris, les touches, ou les deux |
Imaginons que vous réglez une demi-seconde. Le personnage atteint alors sa vitesse maximale en une demi-seconde. Les pentes, les bosses et la masse le freinent : le mouvement paraît donc physique.
0 veut dire « aussi vite que possible ». C'est presque instantané, mais pas tout à fait, car le personnage a toujours une masse.
Le corps
Le contrôleur donne une capsule à votre objet. Le personnage se cogne donc contre le décor au lieu de le traverser.
| Réglage | Ce qu'il règle |
|---|---|
| Collider | Capsule ou Sphere |
| Size | le rayon et la hauteur, en mètres |
| Position | déplace la capsule par rapport à l'objet |
| Mass | la force avec laquelle le personnage pousse, et sa résistance quand on le pousse |
| Helper | affiche la capsule dans l'éditeur |
Si l'objet a déjà son propre corps rigide, le contrôleur le garde et se contente de le diriger, en tenant compte de sa masse. Sinon, le contrôleur en crée un pour vous.
Les sols et les murs arrêtent le personnage uniquement s'ils ont un corps rigide et un collider. Le reste de la géométrie n'est que du décor, et le personnage le traverse. → Physique
La gravité vient de l'espace, et la hauteur du saut est calculée en fonction d'elle. Une scène avec des contrôles de jeu active la physique, même si elle était désactivée dans l'espace. Sans physique, rien ne bougerait.
La caméra qui suit
| Réglage | Ce qu'il règle |
|---|---|
| Camera | la caméra qui suit le personnage ; laissez vide pour une caméra intégrée |
| Orient To | continuer à regarder la cible (At target), ou garder un angle fixe (Angle) |
| Pos. Delay · Rot. Delay | le retard de la caméra sur le personnage, en secondes |
| Up / Down · Left / Right | si la vue peut tourner dans ce sens : Yes, No ou Limit |
| Limit | jusqu'où la vue peut tourner, en degrés |
À la première image, la caméra retient sa distance et son angle par rapport au personnage, puis les garde. Vous ne saisissez ni distance ni hauteur. Placez la caméra là où le cadrage vous plaît dans la vue 3D, et elle y reste.
Comment se comporte la caméra :
- Elle se tourne vers le personnage avant de se déplacer. Le personnage peut s'écarter un peu sur le côté pendant que la caméra se contente de pivoter. La caméra ne glisse que lorsque le personnage atteint le bord de cette zone. C'est plus naturel qu'une caméra collée au personnage.
- Le retard change le cadrage, pas la distance. La caméra ne recule pas quand le personnage accélère. Cela ressemblerait à un zoom non voulu et peut donner le mal des transports.
- La caméra revient se placer derrière le personnage quand il se déplace et que le visiteur ne tourne pas la vue. Bloquer Left / Right, ou choisir Top down, désactive ce comportement.
- Rien ne bloque la vue. Si quelque chose passe entre la caméra et le personnage, la caméra se rapproche, puis recule en douceur. Elle ne s'approche jamais à moins d'un demi-mètre.
- La molette de la souris zoome, d'environ un tiers à deux fois et demie la distance que vous avez réglée.
Quand le contrôleur pilote une caméra, les commandes propres à cette caméra (orbite, vol) sont ignorées. Sinon, les deux se contrediraient à chaque image.
Commandes tactiles et manettes
Les commandes à l'écran n'apparaissent que sur les écrans tactiles : vous pouvez donc les laisser activées.
| Réglage | Ce qu'il règle |
|---|---|
| Touch controls → Enable | affiche un joystick et un bouton de saut |
| Rotate By | tourner la vue en faisant glisser le doigt sur la scène (Drag), ou avec un second joystick (Joystick) |
| Movement stick · Jump button | l'emplacement de chacun, sur une grille de 3×3 |
| Offset · Button Size | la distance au bord de l'écran, et la taille en pixels |
| Visibility | Hide masque les commandes ; glisser pour tourner fonctionne toujours |
Une manette fonctionne sans aucun réglage :
- le stick gauche déplace le personnage ;
- le stick droit fait regarder autour ;
- A fait sauter ;
- les boutons et gâchettes du dessus font courir.
Réagir à ce que fait le personnage
Les branches On idle, On move, On run et On jump s'exécutent quand le personnage change d'activité. Les scripts et les patchs reçoivent ce même changement au même moment :
- un script peut l'écouter ;
- dans un patch, le nœud
on_game_controla les sortiespulseetstate.
Vous pouvez ainsi jouer des bruits de pas depuis un script pendant que les branches gèrent l'animation, et les deux restent synchronisés.
Suivre sans contrôleur
Pour quelque chose de plus simple, comme un ennemi qui suit le joueur, un animal de compagnie ou une cible pour la caméra, utilisez les étapes Follow object, Look at object et Stop following.
Ces étapes déplacent l'objet directement. Elles ne fonctionnent donc pas sur un objet que la physique déplace déjà. Dans ce cas, poussez-le avec des impulsions depuis un script.
Suivant : Cartes d'interface — boutons, menus et affichage du score.