Aller au contenu principal

Patchs

Les patchs vous permettent de créer de la logique avec des nœuds et des fils, sans écrire de code. Utilisez-en un quand un événement ne suffit plus.

Un patch se situe entre les événements et les scripts :

  • Les événements sont simples, mais ils ne peuvent ni garder une valeur ni faire de calculs.
  • Les scripts peuvent tout faire, mais il faut écrire du code.

Essayez un patch la première fois que vous voulez « …mais seulement si le score dépasse dix » ou « …le déplacer un peu plus loin à chaque fois ».

Un patch est aussi rapide que du code

Un patch s'exécute aussi vite que du code écrit à la main. Vous pouvez le voir sous forme de code à tout moment dans le panneau Code. C'est aussi le moyen le plus rapide de vérifier qu'un graphe fait bien ce que vous vouliez.

Tous les nœuds et leurs ports sont décrits dans la référence des nœuds de patch : 203 nœuds répartis en 24 catégories.

Créer un patch​

  1. Ouvrez le Patch editor depuis la barre de gauche. Il affiche le graphe de la scène.
  2. Cliquez sur + Add node et choisissez un nœud du groupe Events. C'est là que le graphe commence.
  3. Ajoutez un nœud qui fait quelque chose, par exemple un nœud qui modifie un composant.
  4. Tirez un fil depuis la sortie pulse du nœud d'événement jusqu'à l'entrée pulse de l'autre nœud.
  5. Ouvrez le panneau Code pour vérifier votre graphe sous forme de code.

Types de nœuds​

TypeComment le reconnaîtreCe qu'il fait
Événementuniquement des sorties, dont un pulselance le graphe : au démarrage, à l'appui, à chaque image
Effetun pulse en entrée et un pulse en sortiefait quelque chose, dans l'ordre
Contrôledivise ou répète le pulsebranch, gate, repeat, for-each, once, delay
Donnéeaucun pulsefournit une valeur : un nombre, une somme, le champ d'un composant

Le fil pulse fixe l'ordre dans lequel les choses se passent. Suivez-le depuis un nœud d'événement pour lire la séquence. Les fils de données ne font que transporter des valeurs. Ils n'ont pas d'ordre.

Ports et fils​

Chaque port a un type : nombre, booléen, chaîne, vecteur, couleur ou objet. Deux ports de types différents ne se connectent pas. Cela évite beaucoup d'erreurs avant même de lancer quoi que ce soit.

Un port vecteur se déplie en x, y et z. Vous pouvez relier l'un d'eux par un fil et saisir les deux autres.

Une entrée sans fil utilise la valeur saisie dans le nœud. Ne reliez donc que ce qui change.

Choisir l'objet utilisé par un nœud​

Les nœuds de composant, comme « get transform » ou « set material », doivent savoir quel objet utiliser.

  • Laissez l'objet vide : le nœud utilise cet objet, celui auquel le patch est attaché.
  • Indiquez un objet : le nœud agit sur cet objet à la place.

Deux choses vous simplifient la vie :

  • Les nœuds Get ne provoquent pas d'erreur. Lire un composant que l'objet n'a pas ne renvoie rien, et le graphe continue de fonctionner.
  • Les nœuds Set ne modifient que ce que vous avez rempli. Tout le reste reste tel quel.
Les ports de rotation sont en degrés

C'est la même unité que partout ailleurs dans l'éditeur. Les scripts utilisent des radians : pensez à convertir quand vous passez une rotation entre un patch et un script.

Le contenu du menu des nœuds​

GroupeCe que vous y trouvez
Events30 points de départ : démarrage, image, appui, touches, collisions, suivi
Componentslire et modifier n'importe quel composant
Math, Vectors, Logic, Stringscalculs, comparaisons, vecteurs et texte
Flowbranch, gate, repeat, for-each, once, delay, sequence
Statecounter, toggle, timer, smooth
Entities, Lifecycletrouver, créer, faire apparaître et détruire des objets
Physicsimpulsions, forces, vitesse, raycast
Multiplayerenvoi, réception, état partagé, apparition d'objets
Globals, Variables, Messagingdes valeurs partagées avec d'autres patchs et scripts
UIlire et modifier les variables d'une carte d'interface
Functionsappeler un autre patch ou un script

Réutiliser un patch​

Enregistrez un graphe comme patch dans les ressources de votre projet : vous pourrez ensuite le déposer sur d'autres canevas. Ce que vous obtenez dépend de la façon dont vous l'avez construit :

Vous avez construitVous obtenez
aucun nœud d'entrée ni de sortieun comportement : déposez-le et il s'exécute, sans aucun fil
des entrées, des sorties et une entrée pulseune étape : elle s'exécute à l'arrivée du pulse, puis ses sorties sont prêtes
des entrées et des sorties, mais pas de pulseune fonction : ses sorties sont calculées à chaque endroit où on les lit

Les connecteurs du patch viennent des nœuds d'entrée et de sortie qu'il contient. Ajoutez-en un : il apparaît partout où le patch est utilisé. Quand vous modifiez le patch, tout ce qui l'utilise se met à jour immédiatement.

Un patch fonction n'a pas d'objet à lui

Dans une fonction, il n'y a pas de « cet objet » : les nœuds d'objet et de composant n'y fonctionnent donc pas. Utilisez les fonctions pour les données, les calculs et la logique. Faites le travail sur la scène dans le patch qui appelle la fonction.

Les patchs peuvent aussi appeler des scripts. C'est la façon habituelle de faire ce qu'aucun nœud ne couvre.

Garder des valeurs d'une exécution à l'autre​

Il existe trois façons de garder une valeur. Elles diffèrent par qui peut la voir :

Groupe de nœudsPartagé avec
Variablesles nœuds de ce seul patch
Globalstous les patchs, scripts et événements du projet
Messagingtous ceux qui écoutent, sous forme d'avis ponctuel envoyé par nom

Il existe deux sortes de globales :

  • les globales de type project gardent leur valeur quand le visiteur passe d'un espace à l'autre ;
  • les globales de type space repartent de zéro dans chaque espace.

Les noms des variables, des globales et des messages se saisissent au clavier, sans fil.

Écrire une ligne de JavaScript​

Deux nœuds acceptent directement du JavaScript :

  • Expression (expression) renvoie une valeur.
  • Action (action) exécute des instructions.

À l'intérieur, vous pouvez utiliser tout ce qu'un script peut utiliser.

Servez-vous-en pour une petite chose qu'aucun nœud ne couvre. Si vous vous retrouvez à y écrire beaucoup de code, écrivez plutôt un script et appelez-le depuis le graphe.

En cas de problème​

Ouvrez le panneau Code. Si quelque chose ne va pas dans le graphe, le problème s'y affiche. Deux causes fréquentes : une boucle dans les fils de données, et du JavaScript erroné dans un nœud Action.

Un patch cassé n'arrête pas la scène. Vos autres patchs continuent de fonctionner.


Suivant : Contrôles de jeu — laisser les visiteurs se déplacer.