Lorsque l’on visite une scène en mode immersif ou pas, il est toujours intéressant d’avoir une certaine interactivité avec les objets qui nous entourent.
Je vous propose un tutoriel sur le logiciel Autodesk Stingray pour réaliser des déclencheurs d'événement de type “zone” et de type "touche clavier".
Dans le monde de l’architecture, le premier événement auquel on pense, c’est celui de l’ouverture / fermeture d’une porte lorsque un avatar se trouve dans la zone proche de celle-ci. C’est donc cet exemple que je vais réaliser.
Nota : pour réaliser cet exemple, j’ai utilisé le gabarit ‘'Basic” du logiciel Autodesk Stingray.
1 – Création de la zone de déclenchement:
Dans l’onglet “Create”, nous allons utiliser l’option “Trigger”:
- Créez le volume "déclencheur" devant la porte :
Dans les propriétés de ce volume, utilisez le “Character_trigger” dans le champs : “Shape template”.
Cette fonction rend compatible l’utilisation d’avatars avec ce déclencheur.
2- Création du script Flow :
Nous avions déjà évoqué ce mode de programmation et donc dans le cadre de ce tutoriel, je vous propose de l’utiliser.
Quelques mots sur Flow : il s’agit d’un langage de programmation visuelle au même titre que Dynamo for Revit. Cela consiste à placer des nœuds qui ont chacun une spécificité et à les relier ensemble pour réaliser une (ou des ) action(s).
Nous allons sélectionner le volume "déclencheur" nouvellement créé, puis nous allons activer l'interface Flow en cliquant dans l’onglet “Level Flow (en haut à gauche)”:
Clic droit, puis choisissez “Create Level Trigger trigger”.
Cette action crée le nœud associé au volume "déclencheur".
Nous allons réaliser la même opération concernant l’objet porte :
- Retournez dans l’interface graphique,
- Sélectionnez la porte,
- puis dans le “Level Flow”, clic droit et sélectionnez “Create Level Unit XXX”
Nous allons créer le nœud qui jouera les animations :
- appuyez sur la touche “Tab” de votre clavier, cela ouvre le champ de recherche,
- tapez dans le champs de recherche “Clip…”,
- sélectionnez “Play animation Clip ‘'(Animation)”
Dans le nœud “Play animation Clip”, nous allons assigner la variable “Loop” à “False” pour éviter que l'animation soit jouée en boucle.
- copiez/collez le nœud “Play animation Clip” (Ctrl C et Ctrl V de votre clavier),
- associez pour chaque nœud “Play animation Clip” une animation en cliquant sur le bouton dédié sur la ligne “Animation” du nœud (à l’’une porte ouverte, à l’autre porte fermée),
- nous allons connecter l’”unit” aux nœuds d’animation comme montré ci-dessous :
Nota : Dans le cas où votre scène possède plusieurs portes, cela permettra d’appliquer l’animation uniquement à cette porte.
- Connectez le nœud “Trigger” :
– de la borne “Touched “ à la borne “Play” de l’animation Porte Ouverte,
- de la borne “Untouched “ à la borne “Play” de l’animation Porte Fermée,
Soit le graphe ci-dessous :
Pour tester votre programmation visuelle, cliquez sur le touche “F8” de votre clavier ou cliquez sur le bouton “Run”.
Une fois la scène chargée, appuyez sur la touche “F2” de votre clavier pour activer le mode “Avatar”.
Si tout c’est bien passé, la porte doit s’ouvrir lorsque vous êtes dans le volume de déclenchement et doit se fermer lorsque vous en sortez.
3– Ajout de touche clavier pour actioner la porte dans le scrip Flow :
De retour dans le mode “Level Flow” :
- appuyez sur la touche “Tab” de votre clavier, ouvrez le champ de recherche,
- tapez dans le champs de recherche “key”,
- choisissez le nœud “Keyboard Button (input)”,
- sur la ligne “Button Name”, cliquez sur le symbole “Modification” puis choisissez la lettre “P”,
- enfin réalisez les connexions suivantes :
- de la borne “Pressed“ à la borne “Play” de l’animation Porte Ouverte,
- de la borne “Released“ à la borne “Play” de l’animation Porte Fermée,
Soit le graphe ci-dessous :
Nota : lorsque vous laissez enfoncée la touche “P”, la porte s’ouvre et lorsque vous relâchez la touche “P”, la porte se ferme.
Pour ceux qui déteste lire (dommage vous êtes arrivé jusque ici :)), voici ma vidéo ci-dessous :