ProtoFlux

From Resonite Wiki
Revision as of 18:10, 18 February 2024 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

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

To change or read the properties of a slot's or component's properties, grab with your controller (or right click) while pointing at a given field name with the ProtoFlux Tool tip (For example, point at and grab the spot where it says 'Position' on a slot). While grabbing the field with the ProtoFlux Tool tip, open your Context menu. This will give you three options.

Source: This will spawn a node that references the source of the property you were holding. This is used to both read the value of the field or to write to it using Protoflux.

Drive: This will spawn a node to allow you to continuously locally write a value to the variable you were holding.

Reference: This will spawn a node to allow you to get the reference to the field of the given value. This is useful for nodes like ProtoFlux:Tween Value that require a reference to the value it is changing.


Emballer / Déballer ProtoFlux

To pack Protoflux, hold Secondary while pointing at a group of Protoflux using the ProtoFlux Tool Tip. The Protoflux should become light blue, this indicates it has been selected (This also makes the Protoflux that is selected act as one object, allowing you to easily move groups of Protoflux around).

Once the Protoflux has been selected, make an empty Slot using the Inspector. This will be the slot the Protoflux is packed into. To then pack the Protoflux, grab the slot using the left side of the Inspector so that it's name is above the ProtoFlux Tool Tip. While you are grabbing it, open your Context menu and select Pack Into. Once packed, the Protoflux will still function like normal, but will no longer show it's visuals and will apply some optimizations.

To then unpack it, grab the same slot you packed it into and open your context menu, while a ProtoFlux Tool Tip is equipped. There should now be an option to unpack the Protoflux.


Variables

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

The simplest type of variable is a Data Model Store. It's automatically synced to all users upon being written to. Most simple scripts can be done entirely with these, but it can impact performance if overused.

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