ProtoFlux

From Resonite Wiki
Revision as of 18:30, 18 February 2024 by J4 (talk | contribs) (Created page with "Variables")

Introduction

Protoflux
Le logo officiel de ProtoFlux

ProtoFlux est un language de scripting graphique qui peut être manipulé dans l'espace 3D avec l'outil ProtoFlux.

ProtoFlux est la cerise sur le gateau de nous outils créatifs - le language de programmation visuel le plus puissant que notre équipe expérimenté a crée et vous permettant de prototyper et construire tout ce que vous voulez, de simples interactions a des jeux complexes - avec une collaboration et exécution en temps réel.

Vous pouvez tout créer, d'avatars ou monde a des systèmes complexes.

https://resonite.com/features.html

Utilisation

ProtoFlux est représenté dans le monde avec des nodes qui peuvent être matérialisées avec le navigateur de nodes ProtoFlux qui est lui-même matérialisable depuis l'outil ProtoFlux.

Vous pouvez matérialiser un outil ProtoFlux en allant dans le dossier Resonite Essentials de votre Inventaire pour commencer a programmer (l'outil lui-même est dans le dossier "Tools").

Pour voir une liste de nodes, allez sur liste de nodes en mode navigateur pour une vue comme dans le jeu ou liste de nodes par ordre alphabétique pour une liste complète. Toutes les pages de node ont des liens vers les deux listes.

Pour commencer a utiliser ProtoFlux, vous devez en premier matérialiser l'outil ProtoFlux depuis le dossier mentionné ci-dessus. Une fois équipé, le navigateur de nodes ProtoFlux peut être trouvé dans le menu contextuel. Pour sélectionner une node, double cliques sur celle-ci avec l'outil. Cela va faire apparaître le nom de la node au-dessus de l'outil. Double-cliquez pour matérialiser la node.

Vous pouvez aussi sélectionner des nodes qui existent déjà avec votre bouton secondaire en pointant la node.

Les nodes peuvent être connectées en pointant le laser au point de connexion de la node et en tenant le bouton primaire (trigger pour la plupart des manettes) et en faisant un glisser-déposer sur le point de connexion d'une autre node. Cette connexion peut être coupée en tenant le bouton primaire, ce qui va faire apparaître une ligne rouge que vous devez collisionner avec la connexion que vous voulez retirer.

Interfacer avec des composants / slots

Pour changer ou lire les propriétés d'un slot ou composant, saisissez le composant avec votre manette (ou clic droit en Desktop) en pointant a un champ avec l'outil ProtoFlux (par exemple, pointez et saisissez le champ "Position" sur un slot). Tout en gardant le champ saisi, ouvrez votre menu contextuel ce qui vous donnera plus d'options.

Sourcer: Cela va matérialiser une node qui référence la source de cette propriété. Cela est utile pour lire une valeur mais aussi l'écrire avec ProtoFlux.

Conduire: Cela va matérialiser une node vous permettant de continuellement écrire une valeur dans la variable.

Référencer: Cela va matérialiser une node vous permettant d'avoir une référence vers le champ. Cela est utile pour les nodes comme ProtoFlux:Tween Value qui demandent la référence d'une valeur changeante.


Emballer / Déballer ProtoFlux

Pour emballer ProtoFlux, tenez votre bouton secondaire en visant un groupe de nodes en utilisant l'outil ProtoFlux. Les nodes devraient devenir bleues, cela indique que le groupe a été sélectionné (cela vous permet même de bouger toutes les nodes sélectionnées comme un seul objet).

Une fois les nodes sélectionnés, créez un Slot vide avec l'inspecteur. Cela va être le slot dans lequel ProtoFlux va être emballé. Ensuite, saisissez le slot avec l'outil ProtoFlux et ouvrez votre menu contextuel; dans celui-ci, cliquez sur "Emballer dans". Une fois emballé, ProtoFlux va toujours fonctionner normalement mais ne sera plus présent visuellement dans le monde.

Pour le déballer, saisissez le même slot que vous venez d'utiliser avec un outil ProtoFlux, ouvrez votre menu contextuel et cliquez sur "Déballer".


Variables

Dans ProtoFlux, il y a trois types de variables génériques:

Le type de variable le plus simple est le Data Model Store. Il est automatiquement synchronisé a tous les utilisateurs quand il est écrit. Les scripts les plus simples peuvent êtres faits avec celui-ci mais peuvent avoir un impact sur la performance si sur-utilisés.

The natural progression down the list is a Store. It's similar to standard variables in most languages. It does not get synced over the network, which alleviates the overhead of doing so, but could lead to desync.

Lastly, we have locals. They're instanced for different execution chains, so if your ProtoFlux is called twice at once, you can read from and write to the variable from both contexts, they will each use a unique instance of the variable that gets discarded when that execution ends.

Impulses

See Impulses