Catégories
Unity

EAFramework: Event and Actions simple framework

Introduction

Cet article décrit l’utilisation de EAFramework, un ensemble de classes qui permettent de déclencher des actions en réaction à des événements dans un projet Unity. Le système est ouvert et permet d’écrire ses propres événements et actions pour ajouter de nouvelles fonctionnalités.

Cet outil est en cours de développement, dans le cadre du laboratoire Unity du master Media Design de la HEAD. Il n’est pas forcément destiné à devenir public et n’ambitionne pas à devenir une référence internationale. Il faut plutôt le voir comme une plateforme de départ pour l’enseignement et l’apprentissage de la programmation avec Unity, tout en permettant de créer rapidement des interaction avec des fonctionnalités de base.

Dans sa version actuelle ses fonctionnalités sont plutôt orientées sur la réalité virtuelle, mais il n’est intrinsèquement pas limité dans ses possibilités.

Mise en route pour la réalité virtuelle avec Oculus

Mise en route: un événement qui déclenche une action (English subtitles available)

Dans le dossier Assets/EAFramework/Demo se trouve une scène qui est déjà configurée pour permettre de détecter le regard. Voir la première partie de l’article Interaction avec le regard pour Oculus Go.

  • Dupliquer cette scène et déplacez-là hors du dossier EAFramwork.
  • Sélectionnez le cube
  • Ajoutez le composant EventGaze
  • Ajoutez le composant ActionDestroy

C’est tout. En comparaison avec ce qu’il fallait faire sans ces classes de base, on mesure la simplicité de EAFramework. Démarrez la lecture et regardez le cube pour le détruire.

Principe de fonctionnement

Générer un événement

Ajouter un composant Event* permet de générer un événement, généralement en relation avec l’objet qui reçoit le composant. Dans ce cas il s’agit de détecter le regard qui arrive sur l’objet.

Des composants Event* supplémentaires sont prévus pour pouvoir détecter d’autres événements (collision, temps qui passe, réception d’un message, etc.) et vous pouvez écrire vos propres composants d’événements, selon vos besoins.

Exécuter des actions

Quand un événement survient, le composant Event* qui le détecte exécute les actions qui le suivent, les unes après les autres.

Événement -> action

Actions condition

Les actions dont le nom commence par ActionCondition* évaluent une condition et déterminent s’il faut continuer à exécuter les actions suivantes.

Exemple:

L’action LoadScene ne s’exécute que si le paramètre open de l’animator est vrai (= la porte est ouverte dans cet exemple)