WebVR est une API intégrée aux navigateurs qui combine le rendu stéréo et le suivi de la tête en temps réel, ce qui permet de profiter rapidement et facilement de contenus de RV en ligne. WebVR permet aux créateurs de contenu de créer des contenus en RV immersifs diffusés en ligne sur une large gamme de matériel de RV.
À propos de Bear 71
Bear 71 est un documentaire interactif produit par la NFB (National Film Board) du Canada. Conçu à l'origine dans Flash, Bear 71 est sorti en 2011 et a été acclamé par la critique. Une piste audio et vidéo de 23 minutes met en avant la relation entre les humains, la nature, la technologie et un ours brun en particulier. Le spectateur est un voyeur dans un monde d'informations représenté par une grille abstraite de symboles. Étonnamment, cela n'entrave pas l'histoire émotionnelle et il faut en faire les preuves pour être compris.
Challenge
L'original Bear 71 a été développé dans Flash ; sans doute le meilleur support de narration interactif de l'époque. Nous avons apporté beaucoup de soin à la technologie et elle était considérée comme avant-gardiste. Cinq ans plus tard, la vision initiale se tient et l'histoire reste pertinente, mais la technologie qui la sous-tend a besoin d'une mise à jour. Toute technologie utilisée de manière créative peut contribuer à une bonne histoire, mais la réalité virtuelle mérite une attention particulière. La RV est apparue plusieurs fois auparavant, mais elle fait enfin son entrée sur le marché. C'est une excellente opportunité pour le storytelling. Les histoires qui se déroulaient traditionnellement devant vous peuvent désormais se dérouler en RV.
Lorsque Bear 71 a été créé, Adobe Flash était à l'époque. Chaque année, la part de marché de Flash diminue. Les œuvres auparavant accessibles se révèlent donc plus difficiles à visualiser. Mais avec le déclin de Flash est venu la maturation de HTML 5. De plus, la RV est prise plus au sérieux que jamais en tant que véritable plate-forme de storytelling.
Pour nos yeux et nos oreilles, la RV est naturellement immersive, mais elle comporte plusieurs obstacles. À première vue, la variété des casques devrait convenir à de nombreux besoins et budgets, et la variété des plates-formes de téléchargement d'applications impliquées dans la distribution est plus vaste. Toutefois, les utilisateurs sont connus pour vouloir faire le plus de choses possible dans un navigateur. Les utilisateurs préfèrent télécharger et installer le moins possible. Pour les utilisateurs comme pour les créateurs de contenu, le HTML5 est particulièrement intéressant, car il permet de profiter d'expériences riches en seulement une URL. C'est là que WebVR entre en jeu.
WebVR permet de proposer du contenu RV immersif et confortable dans votre navigateur, sur une multitude de logiciels et de matériels.
La NFB a saisi cette opportunité et a envisagé de donner une nouvelle vie à Bear 71 en HTML5 et WebVR. Cette opportunité ne se présenterait pas sans un nouveau défi commun à de nombreux projets de réalité virtuelle: comment réaliser de belles choses à une bonne fréquence d'images, avec une vision stéréo, sur diverses plates-formes, y compris sur des téléphones mobiles ?
Solution
Au début de son développement, fin 2016, WebVR n'était pas encore disponible. L'API WebVR évolue rapidement et la norme WebVR est en cours de rédaction. Toutefois, cela n'a pas empêché la communauté de combler les lacunes adéquates: le polyfill WebVR. Elle offrait un suivi de la tête utilisable et un rendu stéréo via le gyroscope et WebGL. Ce polyfill, tout comme Google Cardboard, nous a permis de commencer à créer et à tester des contenus. Lorsque Google Pixel et Daydream View sont devenus disponibles, ainsi que les premières versions réelles de WebVR dans Chrome, notre contenu était prêt à en tirer parti. Pour un développement rapide, nous incluons et utilisons toujours le polyfill lorsque WebVR n'est pas encore disponible. Par exemple, nous effectuons une grande partie du développement et du débogage sur l'émulateur mobile de Chrome 55. De plus, il était courant de développer et de déboguer les appareils qui étaient facilement disponibles, y compris, mais sans s'y limiter, le HTC One M9, l'iPhone 5S, le Samsung Galaxy et bien sûr le Pixel by Google. La polyvalence du polyfill ne peut être sous-estimée.
Malgré l'utilité du polyfill, certaines fonctionnalités WebVR essentielles ne peuvent tout simplement pas être émulées. Il convient de noter que le mal des transports est l'un des plus grands obstacles auxquels la RV est confrontée. Le mal des transports est lié, entre autres, à la fréquence d'images, ainsi qu'à la vitesse et à la précision du suivi de la tête. WebVR possède quelques fonctionnalités essentielles comme la reprojection et les capteurs d'orientation à grande vitesse. Cela dit, il appartient aux créateurs de contenu de maintenir des fréquences d'images élevées. Étant donné que WebVR nécessite de rendre la scène deux fois (une fois pour chaque œil) par image, l'optimisation est doublement importante. L'optimisation appropriée de votre contenu WebGL n'entre pas dans le cadre de cet article, mais voici quelques points importants:
- Réduisez vos appels de dessin. Une excellente façon de le faire est de fusionner les éléments qui partagent un matériau.
- Utilisez des nuanceurs simples. Les matériaux et nuanceurs standards permettent d'optimiser efficacement les fonctionnalités inutilisées, mais il est parfois préférable d'écrire manuellement des nuanceurs brutalement optimisés.
- Gardez une distance de traçage à proximité et utilisez efficacement le brouillard.
- Préférez un texte basé sur des textures, qui se lit mieux et s'affiche plus rapidement que la géométrie de texte.
- Assurez-vous que votre style graphique est économique à afficher. Il est préférable de regarder Super Mario 64 à 60 FPS plutôt que Mario Galaxy à 6 FPS.
- Traitez l'utilisateur comme un solipsiste: trouvez des moyens de simuler uniquement le monde qui entoure le joueur.
- Recherchez des opportunités de mettre en cache les résultats de calculs coûteux dans des tableaux typés. La mémoire est souvent moins chère que la puissance de traitement.
Cette liste n'est pas exhaustive, mais elle couvre la plupart des optimisations que nous avons utilisées pour fonctionner à une fréquence d'images satisfaisante sur la plupart des appareils.
La création, la réutilisation et l'optimisation du contenu ont pris environ 12 semaines pour une petite équipe de huit joyeux contributeurs. L'effort était à la fois intense et sans douleur. Bear 71 VR a déjà fait peu d'apparitions dans deux festivals de cinéma et a reçu des retours positifs. Si vous ne le trouvez pas sur le circuit des festivals, WebVR peut vous offrir l'expérience dans le confort de votre navigateur. Si vous envisagez un nouveau projet de création, n'oubliez pas que le Web est une plate-forme de diffusion de contenus enrichis que nous ne devons pas prendre pour acquis. La RV est là pour nous transporter dans de nouveaux mondes de notre invention. WebVR est conçu pour combiner le meilleur des deux.