Principales interactions dans le labo WebVR

VR Lab

Accéder à l'atelier

Les concepteurs de sites Web connaissent l'idée du responsive design, c'est-à-dire qu'ils créent un site Web capable de fonctionner sur différents appareils, tels que les téléphones mobiles, les tablettes et les ordinateurs, ainsi que sur différentes résolutions d'écran et ratios de pixels. WebVR introduit de nouveaux défis dans l'idée de conception réactive.

Une expérience WebVR peut être catégorisée selon deux métriques : le niveau d'immersion et le niveau d'entrée. Ces niveaux se distinguent par les "degrés de liberté" (DOF). 6 DOF fait référence au suivi de la position et de l'orientation, 3 DOF ne suit que l'orientation, et 0 DOF ne suit ni la position ni l'orientation.

Niveau d'immersion

  • Pas de réalité virtuelle : écran ou écran mobile.
  • RV stationnaire : appareil avec suivi 3 DOF.
  • RV assis : suivi à six DOF dans une zone et une plage d'angles limitées.
  • RV à l'échelle de la pièce : suivi à six DOF pour un environnement de la taille d'une salle.

Niveau d'entrée

  • 0 DOF : la seule entrée disponible est le clic ou l'appui. Ce mode de saisie est lié à la direction à laquelle l'utilisateur fait face. Parfois, nous appelons cela un contrôleur du regard.
  • 3 DOF : un contrôleur qui suit son orientation peut être utilisé comme un pointeur laser pour spécifier une direction ou un lieu. La position du contrôleur est estimée en fonction du point de vue de l'utilisateur. Cela inclut le contrôleur Daydream.
  • 6 DOF : contrôleur qui suit sa position et son orientation. Elle peut être utilisée pour simuler une main en RV.

Vous pouvez donc constater qu'une seule application peut prendre en charge toutes sortes d'éléments, qu'il s'agisse d'un écran mobile non RV d'un simple clic pour une entrée ou d'une expérience à l'échelle d'une salle avec deux manettes entièrement suivies.

WebVR Lab

Dans l'atelier PlayCanvas WebVR Lab, nous avons implémenté certaines des interactions principales dont vous pourriez avoir besoin dans votre application et les avons adaptées aux différents niveaux d'expérience.

Fonctionnement des interactions

Les mécanismes de base du fonctionnement des interactions dans le WebVR Lab sont des intersections de rayons. L'étage, la pièce et tous les objets avec lesquels il est possible d'interagir sont définis en fonction de l'une des trois primitives de forme:

  • Cadre de délimitation aligné sur l'axe (AABB) : cadre qui n'a pas subi de rotation.
  • Cadre de délimitation orienté : cadre pouvant pivoter.
  • Sphère : rayon autour d'un point dans l'espace.

Pour voir si une action est possible, nous lançons un rayon dans le monde et vérifions s'il croise la forme des objets du monde. Différents types d'interaction sont possibles en fonction de l'origine du rayon (appareil photo ou contrôleur) et de sa longueur (manipulations en gros plan ou pointage à distance).

Actions simples

Nous commençons par définir quelques actions simples et leur utilisation avec différents contrôleurs.

Mettre en surbrillance

La mise en surbrillance d'un lieu ou d'un objet s'effectue soit en le regardant (avec un contrôleur) soit en le pointant (avec une télécommande). Cela peut se produire lorsqu'aucun bouton n'est enfoncé ou uniquement lorsque l'utilisateur appuie sur un bouton.

Clic

Pour cliquer sur un emplacement ou un objet, vous devez d'abord le mettre en surbrillance, puis appuyer sur un bouton ou le relâcher. Avec un contrôleur de regard, vous cliqueriez en regardant un objet puis en appuyant sur le bouton ou l’écran. Avec un contrôleur manuel, la méthode consiste à pointer vers un objet, puis à cliquer sur un bouton.

Principales interactions

À l'aide de la mise en surbrillance et des clics, nous avons implémenté certaines interactions essentielles dans WebVR Lab.

Téléportation

Téléportation

Lors de la création d'un environnement virtuel qu'un utilisateur peut explorer, il est probable qu'il soit plus grand que la petite zone qu'un utilisateur peut voir sans bouger. Le WebVR Lab, par exemple, comporte trois sections. Une pièce principale, une mezzanine et une pièce latérale pour le lecteur de musique haute-fidélité.

Déplacer la fenêtre d'affichage de l'utilisateur à travers le monde entraînera souvent une gêne. Dans WebVR Lab, nous permettons à l'utilisateur de mettre en surbrillance un lieu et de cliquer pour se téléporter instantanément. Le point de vue de l'utilisateur ne bouge jamais. Ainsi, malgré la sensation quelque peu anormale de se déplacer instantanément, l'utilisateur peut se déplacer dans un grand espace sans gêne.

Dans le cas d'une télécommande, l'utilisateur doit appuyer sur un bouton de manière prolongée pour activer la cible de téléportation. Cela permet de désencombrer la vision de l'utilisateur pendant qu'il regarde autour de lui.

Déplacer le point de vue de l'utilisateur

Parfois, il est absolument nécessaire de déplacer la vue. Par exemple, lors de l'utilisation d'une RV stationnaire ou assise, il est possible de se retrouver face à un mur sans pouvoir tourner dans le monde physique. Nous permettons donc à l'utilisateur de faire tourner la caméra à l'aide du contrôleur. Dans WebVR Lab, utilisez le pavé gauche ou droit du contrôleur Daydream pour faire pivoter la caméra.

Pour éviter toute gêne lorsque nous déplaçons la caméra de cette manière, nous réduisons la vision périphérique en appliquant une vue restreinte sur l'ensemble de la caméra. Cette approche est basée sur les travaux d'Ubisoft, et nous avons constaté que la focalisation de la vue uniquement sur le centre de l'écran réduit la gêne.

Activer

Activer

L'activation équivaut à un clic sur un bouton dans une page Web en RV. Dans WebVR Lab, nous avons utilisé cet exemple littéralement et fourni un simple bouton pouvant être activé.

Pour 0 DOF et 3 DOF, l'activation se fait par mise en surbrillance et clic. Pour un contrôleur à six DOF, nous pouvons améliorer l'expérience en vous permettant d'"appuyer" sur un bouton en vérifiant directement si la manette se trouve à l'intérieur du bouton.

Grab

Grab

WebVR Lab contient un certain nombre d'éléments pouvant être saisis. Ce comportement permet de saisir et de déplacer l'objet lorsqu'il est activé. Il existe deux comportements différents évidents en fonction du niveau d'entrée que vous souhaitez prendre en charge.

Pour six manettes DOF, appuyer sur un bouton d'entrée permet d'associer l'élément sélectionnable à la manette. Vous pouvez ensuite la déplacer et la positionner avec un contrôle ultraprécis. Relâcher le bouton permet d'activer une action de combinaison ou de suppression avec l'élément.

Pour les contrôleurs moins maniables, un clic permet de sélectionner l'élément et de l'associer à la fenêtre d'affichage de l'utilisateur. Il conserve généralement une section de l'élément visible dans le "tiers inférieur" de l'écran. Un deuxième clic permet de supprimer ou de combiner l'élément.

Combinaison

Combinaison

L'action "Combiner" se produit lorsque vous "utilisez" un élément avec un autre. Cela couvre une grande variété de cas d'utilisation. Dans le laboratoire WebVR, nous l'utilisons pour lire des enregistrements en hi-fi. Lorsqu'un élément est capturé, il devient possible de le combiner avec un autre élément. Tous les types de contrôleurs mettent en surbrillance l'élément cible tout en attrapant un autre élément, puis en relâchant pour combiner les deux éléments.

Déposer / Restaurer

L'abandon d'un élément se produit lorsque vous cliquez de manière prolongée sur un élément sélectionné, mais qu'aucun autre élément n'est mis en surbrillance.

Dans le WebVR Lab, nous avons maintenu des exigences de performances faibles en n'utilisant aucune simulation physique sur les éléments. Cela signifie qu'au lieu de laisser tomber un élément au sol, nous lui permettons simplement de flotter à l'endroit où il a été déposé. Une fois qu'un élément est déposé, s'il n'est pas activé dans un certain délai, il "se restaure" à son emplacement d'origine. Cette fonctionnalité de restauration permet à un utilisateur ayant un faible degré d'entrée (0 DOF ou 3 DOF) d'effectuer des opérations sur de nombreux éléments tout en conservant un espace de travail utilisable. Les éléments plus anciens seront automatiquement effacés.

Avec une entrée 6 DOF, il est plus facile de déplacer des éléments. Un retard dans l'opération de restauration permet à un utilisateur doté de six DOF de se plonger dans le déplacement d'éléments, tout en facilitant l'auto-nettoyage de la zone.

Résumé

WebVR Lab est un projet vivant mené par l'équipe PlayCanvas. Cela signifie qu'il est constamment en cours de développement, et que des expériences sont ajoutées et mises à jour à mesure que nous effectuons de nouvelles recherches sur la création d'applications WebVR.

Il s'étend d'une expérience mobile de type "fenêtre magique" à un terrain de jeu interactif sur ordinateur. Nous avons commencé à définir un ensemble d'interactions de base que les utilisateurs peuvent utiliser pour leurs propres projets. Nous espérons que WebVR Lab offrira une expérience d'apprentissage à tous ceux qui souhaitent créer des mondes 3D avec WebVR.

Si vous possédez un compte PlayCanvas, vous pouvez accéder directement au projet WebVR Lab pour en savoir plus.