Aller au contenu

Synchronisation des comportements

La synchronisation des données dans les graphes de comportements est possible dans VRmaze. Elle n'est toutefois pas automatique, et sans considérations spéciales, les comportements ne sont pas synchronisés lors de l'utilisation d'un cluster d'ordinateur.

D'une manière générale, les graphes de comportements sont indépendants les uns des autres, toutefois, il est possible de synchroniser certaines données, et effectuer certaines actions uniquement sur l'ordinateur maître ou les ordinateurs esclaves.

Node "IsServer"

VRmaze Sim propose un node permettant de savoir si l'ordinateur exécutant le comportement est le serveur, ou un esclave.

!

Le Node IsServer lié aux nodes utiles.

Ce node permet de créer des comportements différencier entre le serveur et les esclaves. Avec ce node, il est possible d'effectuer des actions et commandes sur le serveur et de les répercuté sur les esclaves.

Répercussions sur les esclaves et données partagées

Par défaut, il n'y a aucune répercussion sur les esclaves, car il n'y à aucune donnée partagée. Pour qu'une donnée puisse être partagée et synchronisée avec les esclaves, il faut obligatoirement passer par des variables spécifiques Cave, qui sont partagées sur le réseau.

Image title 2

Types de variables syncrhonisées.

Les types de variables sont les suivants :

  • Networked Number
  • Networked Vector2
  • Networked Vector3
  • Networked Color
  • Networked Bool
  • Networked String

La procédure est donc la suivante. L'ordinateur Maître exécute un certain nombre d'actions, menant à la modification d'une variable (ou plusieurs) synchronisées. De leurs cotés, les esclaves utilisent les variables synchronisées, uniquement en accession, sans les modifier (la modification s'effectuant sur le serveur). L'accession à cette donnée synchronisée permet une exécution du graphe de manière identique sur tous les esclaves.

Variables synchronisées

Dans la version actuelle, il n'y a pas de node de synchronisation spécifique pour telle ou telle propriété (par exemple, une synchronisation de position d'un objet 3D). Il convient de passer par une variable synchronisée pour ensuite affecter la valeur de la variable à une propriété d'un objet donné.

Exemple

!

Exemple de synchronisation de texte en fonction du nombre d'appui du clavier effectué sur l'ordinateur maître.