Essais
Un essai est un type de nœud logique clé dans VRmaze, au même titre que le protocole ou l'expérimentation. Il ne peut pas y avoir de passation sans essai. Un essai appartient forcément à une expérimentation.
Les essais d'une liste d'essais s'exécuteront normalement les uns après les autres, sauf dans le cas d'un processus décisionnel. Il est toutefois possible de mélanger l'ordre des essais avant le lancement de l'expérimentation. En effet, la liste des essais TrialList
contient une option permettant de mélanger la liste au moment de la passation.
Mélange des essais
Lors d'une passation mélangée, l'ordre original est enregistré dans le protocole, ce qui peut permettre de re-trier les essais dans l'ordre d'origine après passation dans le mode de modification de résultat.
Un essai dispose d'un ensemble de composants dont certains communs à tous les types d'essais. Ainsi, un essai disposera toujours d'une liste d'instruction, d'un système de caméra de rendu et de conditions de succès. Ces trois éléments permettent de renseigner le participant en amont et en aval de l'essai, à minima, de spécifier une position et une orientation de départ et de permettre l'arrêt de l'essai en cours en fonction de conditions données.
Nœuds enfants d'un essai
Tout comme les expérimentations, certains types d'essai permettent l'intégration de différents nœuds (par exemple des objets 3D). La durée de vie de ces objets de ces objets ont une durée de vie normalement équivalente à l'essai lui-même (ce n'est pas le cas ni des instructions, ni des entités spécifiques ayant une durée de vie contrôlée). Toute entité présente dans la structure de l'essai ne sera disponible que pendant l'essai, ni avant, ni après.
Nœuds enfants
L'essai offre une possibilité de configuration fine en permettant l'ajout d'entités spécifiques à ce dernier. Le conteneur essai
doit contenir les éléments structuraux propres à l'essai. Dans un essai, il n'est pas possible de supprimer un nœud de l'expérimentation parent pour le rendre conforme.
Enregistrement de données
Une des fonctionnalités de l'essai réside dans le fait de pouvoir enregistrer les données. L'essai est en effet le seul espace disponible dans la structure de VRmaze permettant le stockage des données, et ce, quelque soit leur source qu'elle soit virtuelle ou réelle.
Les entités DataRecords
sont les conteneurs de stockage de VRmaze. Ils permettent l'enregistrement de tout type de données.
Enregistrement de données
Les enregistrements de données dans VRmaze sont automatiques. Il n'y a pas moyen d'ajouter une entité DataRecord
, elle sera dynamiquement créé lors de la passation. Toutes les entités n'enregistrent pas leurs données. Seules, certaines disposent d'un système d'enregistrement.
Caméras
Les caméras, visibles sous les noms Subject
dans la structure de l'essai, permettent de configurer certains paramètres concernant le rendu.
Ce sont ces nœuds qui permettent de définir toutes les propriétés du Subject
lors du début de l'essai :
- Position et orientation de départ
- Vitesse de déplacement et d'orientation
- Utilisation de la gravité et des collisions
- Affichage du ciel
- ...
Ce nœud offre la possibilité d'ajouter des effets post-rendus qui permettent d'ajouter un effet esthétique sur l'image rendue. Voici la liste des effets disponibles :
Effet | Rendu |
---|---|
Anti-Aliasing render effect | Effet d'anti-crénelage |
Avoid Render Effect | Desactive tous les effets de rendu |
Background Color | Remplace la couleur de fond au rendu |
Field of View | Permet de régler la champ d'ouverture de la caméra |
Orthographic Render | Rendu Orthographic (sans profondeur) |
HDR Rendering | Active le rendu HDR |
MSAA Rendering | Active le Multisample Anti Aliasing |
Ajout d'un effet de rendu
Les effets de rendu sont des attributs personnalisés sur l'entité Subject
de l'essai. Ils sont disponibles uniquement sur l'entité Subject
dans l'onglet des attributs personnalisés.
Enregistrement de données de caméra
Les caméras sont des entités qui enregistrent les données issues de la position et l'orientation du sujet tout au long du test. Quel que soit le type d'essai, le nœud de caméra de rendu contiendra toujours un système d'enregistrement. L'analyse de résultats passera régulièrement par ce nœud.
Position du sujet dans l'espace 2D ?
Dans le cas des expérimentation 2D, le nœud Subject
enregistrera les données de la souris (mouvements et clics).
Gestionnaire d'évènements et nœuds de pointage
Les caméras dispose d'un gestionnaire d'évènement. Ce contrôleur d'évènements permet de développer ses propres comportements grâce au SDK de VRmaze. Ces contrôleurs fonctionnent en lien avec les noeuds de pointage de l'arbre de protocoles pour déclencher des évènements de survols ou de clics sur un objet
Controleur par défaut
Par défaut, chaque caméra dispose d'un contrôleur par défaut qui peut être changer par un autre contrôleur. Il ne peut y avoir qu'un seul contrôleur par caméra.
Multiples système de pointage
Il est possible d'utiliser plus d'un noeud de pointage pour un contrôleur. On peut imaginer utiliser les deux manettes VR pour pointer deux objets en même temps.
Conditions de succès
Les conditions de succès décrivent la manière de clôturer un essai. Ces conditions peuvent être cumulatives ou non. Il est ainsi possible de devoir respecter plusieurs conditions cumulées pour terminer un essai ou bien une seule condition dans une liste complète.
Les conditions de succès peuvent être totalement différentes et dépendent du type d'essai (Dans un essai de piscine de Morris, les conditions sont basées sur les cibles trouvées ou non), elles peuvent être génériques et basées sur le temps, ou interactives, nécessitant une interaction humaine comme une saisie de touche au clavier, ou l'appui sur un bouton d'un affichage 2D.
Conditions cumulées
Les conditions cumulées sont gérées par la liste de conditions : celle-ci dispose d'un paramètre permettant de spécifier l'effet cumulatif. Par défaut, celui-ci n'est pas activé, et une condition validée dans la liste suffit à clore l'essai.
Temps maximal du protocole
Quelles que soient les conditions de succès, si le temps maximal du protocole est atteint, tout se termine.
Processus décisionnel
Le processus décisionnel permet une exécution non-séquentielle des essais d'une expérimentation. Dans ce système d'exécution, chaque essai dispose d'une liste d'aiguillages conditionnés permettant d'exécuter un essai spécifique sélectionné en fonction de conditions prédéterminées.
L'exécution d'un processus décisionnel transforme l'arbre linéaire d'essais en graphe et rend inaccessibles les conditions de succès.
Accessibilité des processus décisionnels
Les processus décisionnels sont accessibles uniquement pour les expérimentations spécifiques. On trouve ces expérimentations dans la catégorie des Decisionnal process
. Cette documentation est relative aux essais d'un processus décisionnel, car les paramétrages des aiguillages sont parties intégrantes des essais.
Principe du processus décisionnel
Les conditions de succès d'un processus décisionnel sont remplacées par des conditions d'aiguillage. Pour chaque condition de succès, l'essai suivant doit être spécifié, ce qui rend plus complexe la procédure de création. Il est possible d'avoir autant de conditions d'aiguillage que nécessaires, chacune d'entre elles aiguillant sur un essai de la liste d'expérimentation.
Identifiant d'essai
Les essais liés aux conditions sont référencés via leurs identifiants. Il faut impérativement que les essais aient des identifiants différents.
Condition d'arrêt de l'expérimentation
Il est possible de créer une condition qui, si elle est validée, quitte l'expérimentation en cours.
Aiguillage sur un essai d'une autre expérimentation ?
Il n'est pas possible d'aiguiller vers un essai d'une autre expérimentation.
Composition de conditions
Il est possible de créer une structure complexe de conditions utilisant les opérations booléennes. Il est donc possible de créer un aiguillage qui utilise plusieurs conditions à valider.