Démarrer avec Visual Scripting

Comme pour tout dans Godot, nous privilégions une bonne expérience plutôt que de copier ou d'intégrer des solutions tierces qui pourraient ne pas s'intégrer parfaitement dans le flux de travail actuel. Cela nous a amené à écrire notre propre version de la façon dont nous pensons que cette fonctionnalité fonctionnerait le mieux avec le moteur.

Dans Godot, un script visuel s'intègre parfaitement avec les scripts réguliers dans l'onglet Éditeur

../../../_images/visual_script1.png

En fait, le Visual Scripting s'intègre si bien à Godot qu'il est difficile de croire qu'il n'a été ajouté que dans la version 3.0. C'est parce que, lors de l'édition, le reste des panneaux et des docks Godot agissent comme une palette à partir de laquelle vous pouvez glisser et déposer toutes sortes d'informations sur le canevas du script :

../../../_images/visual_script2.png

Création d'un script

La création de scripts fonctionne de la même manière qu'avec d'autres langages de script : sélectionnez n'importe quel nœud de la scène et appuyez sur le bouton "Nouveau script" dans le coin supérieur droit de l'onglet de l'arbre de scène :

../../../_images/visual_script3.png

Une fois ouvert, le type de script "Visual Script" doit être sélectionné dans la liste déroulante. L'extension du script doit être ".vs" (pour Visual Script !).

../../../_images/visual_script4.png

Enfin, l'éditeur de script s'ouvrira, vous permettant de démarrer l'édition du script visuel :

../../../_images/visual_script5.png

Ajouter une fonction

Contrairement à d'autres implémentations de scripts visuels, Visual Scripting in Godot est fortement basé sur des fonctions. Cela se passe ainsi parce qu'il utilise la même interface pour communiquer avec le moteur que les autres moteurs de script. Dans Godot, l'interface de script est universelle et toutes les implémentations s'y conforment.

Une fonction est un canevas individuel avec des nœuds connectés.

Un seul script peut contenir de nombreuses fonctions, chacune d'entre elles ayant son propre canevas, ce qui permet d'avantage d'organisation.

Il y a trois façons principales d'ajouter des fonctions dans un script :

Remplacement d'une fonction virtuelle

La plupart des types de nœuds et autres types d'objets dans Godot contiennent des fonctions virtuelles. Ce sont des fonctions qui seront appelées (qui exécuteront votre code) quand quelque chose se passe et peuvent être consultées dans l'API. Les fonctions virtuelles sont listées en appuyant sur l'icône "override" dans le panneau membre :

../../../_images/visual_script6.png

Dans l'exemple suivant, une fonction sera exécutée lorsque le nœud est chargé et ajouté à la scène en cours d'exécution. Pour cela, la méthode virtuelle _ready() sera écrasée :

../../../_images/visual_script7.png

Enfin, un canevas apparaît pour cette fonction, montrant le remplacement :

../../../_images/visual_script8.png

Comme certaines fonctions s'attendent à ce que vous retourniez une valeur, elles ajouteront également un nœud de retour où une telle valeur est censée être fournie :

../../../_images/visual_script9.png

Connexion d'un signal à une fonction

Les nœuds d'un arbre émettent des signaux lorsque quelque chose se produit. Godot utilise des signaux pour toutes sortes de choses. Un exemple typique serait un bouton qui émet un signal "pressed" lorsqu'il est effectivement pressé.

Pour cela, un nœud doit être sélectionné et l'onglet Nœud ouvert. Cela permettra d'inspecter les signaux. Une fois qu'ils sont affichés, connectez le signal "pressed" :

../../../_images/visual_script10.png

Cela ouvrira la boîte de dialogue de connexion. Dans cette boîte de dialogue, vous devez sélectionner le nœud auquel le signal sera connecté et la fonction qui recevra le signal :

../../../_images/visual_script11.png

Si cela est fait correctement, une nouvelle fonction sera créée dans notre script et un signal y sera automatiquement connecté :

../../../_images/visual_script12.png

Création manuelle d'une fonction

La dernière façon de créer des fonctions est de le faire manuellement. En général, ce n'est pas aussi courant, sauf si vous en avez vraiment besoin. Les fonctions personnalisées fonctionnent lorsqu'un autre script (ou le même script) les appelle manuellement. Le principal cas d'utilisation est la séparation d'une fonction en plusieurs, ou de réutiliser votre code visuel.

Pour créer une fonction manuellement, appuyez sur le grand bouton "Plus", et une nouvelle fonction sera ajoutée avec un nom par défaut :

../../../_images/visual_script13.png

Ceci ajoutera une nouvelle fonction, qui peut être renommée en double-cliquant sur son nom :

../../../_images/visual_script14.png

Pour éditer les "arguments" que cette fonction peut obtenir (les valeurs que vous lui passez quand vous appelez cette fonction), cliquez sur le nœud Function et vérifiez l'inspecteur :

../../../_images/visual_script15.png

Plus de détails à ce sujet seront expliqués plus loin dans ce document.