Accueil / Dossier / Comment créer une application en réalité virtuelle ?

Comment créer une application en réalité virtuelle ?

application

Voilà une question qui englobe de nombreuses idées fausses, fantasmes et autres chimères. Et c’est bien normal, une technologie aussi magique, aussi galvanisante et impressionnante, fait penser que la création de contenu pour ce nouveau monde qu’est la réalité virtuelle est incroyablement compliqué. Mais est-il si compliqué de créer une application pour la réalité virtuelle ? Nous allons essayer de répondre à cette question à travers cet article, mais aussi de rendre plus clair le processus de création d’une application pour la réalité virtuelle.

La VR est simplement de la 3D

Il nous faut d’abords dans un premier temps vous offrir une vue d’ensemble de la réalité virtuelle, une définition de son fonctionnement. Qu’est ce que la réalité virtuelle ? Ne partons pas dans de grandes et longues définitions et faisons simple, la réalité virtuelle est un monde en 3D. Oui, aussi simplement. Bien sûr, il existe cette possibilité unique de voir ce monde en 3D comme si nous le regardions avec nos propres yeux, en pouvant en plus tourner la tête.

Et c’est en ça que la réalité virtuelle est une révolution, mais le monde que nous regardons reste un monde en 3D, avec des environnements en 3D, des textures, tout un tas d’éléments virtuels que nous sommes capables de faire depuis longtemps.

application

Des outils d’aide à la création

Ainsi, les contenus en réalité virtuelle, comme une application, ne sont pas l’élément le plus dur à créer, c’est bien la technologie du casque de réalité virtuelle qui est une véritable prouesse. Ce faisant, disons le sans détours, créer une application en réalité virtuelle est à la portée de tous. Il existe déjà des outils pour créer facilement du contenu en réalité virtuelle, le moteur de jeu Unity est le premier exemple d’aide à la création.

Ce moteur de création 3D est largement utilisé dans le jeu vidéo indépendant notamment et facilite le travail de création en 3D. S’il existe une licence gratuite du moteur, elle est malheureusement amputée de quelques fonctionnalités, mais il existe aussi une version pro à 125 $/mois. Unity va alors de façon incroyable vous faciliter la vie et pour expliquer de façon barbare, vous n’aurez en vérité qu’à créer votre environnement 3D comme n’importe quel autre pour ensuite compiler votre projet pour la réalité virtuelle.

application

Vous doutez d’une telle simplicité ? C’est pourtant bien réel, dans Unity vous pouvez par exemple créer un petit environnement naturel simple et tester rapidement avec un Google Cardboard. Ainsi, il vous suffira de créer un terrain avec un solid puis de jouer avec l’outil Raise / Lower Terrain, qui vous permettra de donner du volume à certaines parties de votre terrain initial en créant des montagnes puis d’appliquer une petite texture, de terre ou d’herbe, déjà présente dans le moteur. Ensuite, c’est simple, il vous suffit de retirer l’élément caméra déjà mis par le moteur à la base et d’ajouter l’élément CardboardMain.

Avec ce dernier vous aurez déjà tout ce qu’il faut pour que le casque, ici le Google Cardboard, reconnaisse les mouvements de la tête et bouge en fonction de cette dernière dans votre environnement créé. Ainsi le prix de votre environnement sera plus impacté par les éléments que vous souhaitez mettre dedans, de belles textures avec d’incroyables lumières vous demanderont un coût, mais il faudra faire attention à ce que ces éléments ne mangent pas trop de ressource, auquel cas votre application subira des bug ou de la latence.

Confiez votre projet à une agence spécialisée

Google propose donc un SDK pour Unity afin de créer du contenu en réalité virtuelle, avec une large liste d’éléments pour soutenir le créateur :

  • Begin a new VR Unity project from scratch
  • Adapt an existing Unity 3D application to VR
  • Make an app that can easily switch in and out of VR mode
  • User head tracking
  • Side-by-side stereo rendering
  • Spatial audio rendering
  • Detecting user interaction with the system (via trigger or controller)
  • Automatic stereo configuration for a specific VR viewer
  • Distortion correction for a VR viewer’s lenses
  • An alignment marker to help center the screen under the lenses when you insert your phone into a viewer
  • Automatic gyro drift correction
  • Simulate a user’s head movement in Unity play mode using the mouse and alt/control keys to pan or tilt the camera.
  • Control the approximate field of view regardless of differences in VR viewer configurations.
  • Respect camera zoom effects in a VR-safe manner, that is, compatible with head tracking.
  • Properly support picture-in-picture windows in stereo, and adjust their screen position so they remain visible after distortion correction.
  • Dynamically adjust the stereo level to reduce eye strain.
  • Easily determine the direction the user is gazing, for example, to cast rays for hit detection.
  • Interaction with Canvas UI elements using gaze and the trigger.
  • Use a single code path for both trigger and screen tap detection.
  • Support for Image Effects and Deferred Rendering, or bypassing this support for increased FPS.

Une application pour créer des applications

De plus, Google a mis un autre élément permettant de créer du contenu en réalité virtuelle de façon facile pour son Cardboard, le Google VR SDK pour Android. Les développeurs ayant un peu de bouteille avec OpenGL pourront rapidement créer du contenu en réalité virtuelle avec ce SDK qui simplifie la tâche à différents niveaux comme la spatialisation sonore, le tracking de mouvements, la calibration de la 3D, le rendu side-by-side, la configuration de la stéréo géométrique, les inputs que l’utilisateur pourra utiliser ou encore la correction de la distorsion liée à la lentille.

application

Voilà deux outils qui peuvent grandement aider à créer une application en réalité virtuelle, mais Google ne s’est pas arrêté là puisqu’il met à la disposition des futurs créateurs une application, Cardboard Design Lab, qui retrace de façon ludique et en réalité virtuelle tout le processus de création d’un contenu en réalité virtuelle avec notamment des conseils sur les pièges à éviter. Un incontournable pour ceux qui voudraient se lancer dans la VR ou mieux la comprendre. Vous pouvez retrouver cette application ici.

Le design est le véritable défi

Au final, cette apparente simplicité technique, cache une difficulté bien plus complexe et qui justifie le fait que le contenu VR soit si rare, il faut créer une expérience sans faille. Dans la réalité virtuelle, l’utilisateur est très libre, il peut poser son regard où il le veut et bouger comme il l’entend, il faut donc faire en sorte de capter son regard, de lui raconter une histoire en allant chercher son attention alors qu’il peut la porter partout ailleurs.

Le vrai challenge dans la création de contenus en réalité virtuelle est dans son design, qu’allez vous raconter, sous quelle forme, aurez vous l’intelligence d’utiliser le média de façon unique et pas seulement pour un petit plus VR. Comment le contenu sera construit, comment créer la bonne expérience pour l’utilisateur en le guidant mais en lui laissant la liberté qu’offre la réalité virtuelle. Seuls les designers peuvent sauver un projet cherchant à toucher excellence.

Les game designer seront d’ailleurs très utiles à la construction de bonne expérience, leurs expertises dans les contenus interactifs devant guider l’utilisateur dans des environnements virtuels où lui est offert de la liberté est sans égal. Pour avoir une expérience bien designée, tournez vous vers un game designer qui comprendra les problématiques de ce genre de contenu.

application

L’importance de l’espace

Il faudra aussi des gens capables de créer de beaux rendus 3D et un espace sonore pertinent, mais surtout des programmeurs qui seront gérer les problèmes d’optimisation si le contenu que vous cherchez à créer est très ambitieux. Il y a aussi de nombreux autres aspects à prendre en compte dans la construction d’un contenu en réalité virtuelle, des petits détails que seule la réalité virtuelle doit prendre en considération de façon importante, car ils peuvent poser de terribles problèmes comme de la motion sickness. Ainsi, un objet doit être pensé de façon très précise dans un contenu VR, quel taille fait-il ?

Car sa taille importe beaucoup, un objet trop grand peut gêner l’utilisateur, le rapport de pouvoir à la taille est aussi très important, face à des éléments petits l’utilisateur se sent plus puissant, mais face à des éléments très grands il se sent plus petit, plus faible, ainsi, une interface trop grande peut impressionner certes, mais elle peut aussi rendre anxieux.

Il en va de même pour la distance des objets, un objet trop proche peut devenir très perturbant à regarder, il faut savoir que si un objet est trop proche de nous, nous commençons à le voir plus flou et le regarder devient gênant, essayez avec votre main en l’approchant petit à petit de votre visage. Il faut aussi penser les objets en terme d’interaction, sont ils des objets de pur décors ou des objets interactifs. Car il n’y a rien de plus frustrant pour un utilisateur de tenter d’interagir avec un objet qu’il pense logiquement interactif et de découvrir qu’il ne l’est pas après de nombreux essais. Il faut alors faire en sorte de bien mettre en évidence les objets interactifs, de les rendre affordant.

application

Si dans un jeu vidéo la latence peut être simplement dangereuse, dans une produit en réalité virtuelle cela peut tuer l’expérience, le mouvement de tête qui n’est pas bien suivi par le casque, un son décalé par rapport à l’image sont autant de choses qui peuvent créer un inconfort, un déséquilibrage sensoriel. Il faudra donc énormément tester le produit avant de le commercialiser en le poussant dans ses retranchements.

Cela devient évident que l’un des plus grands obstacles à dépasser lors de la création d’un contenu en réalité virtuelle est l’optimisation, il faut viser un certains nombre d’images par seconde par exemple, le fps, un minimum de 30 fps est obligatoire, mais cela n’est que pour les expériences bas de gamme, un 60 fps est vivement conseillé, sans compter la résolution qui se doit d’être bien supérieur aux normes habituelles dans le cinéma ou le jeu vidéo par exemple.

Confiez votre projet à une agence spécialisée

Les outils pour l’Oculus Rift

Car l’Oculus et l’HTC Vive, nous y reviendrons après, vont forcément demander plus d’attention et plus d’investissement que les applications créées pour le Cardboard de Google. Mais il existe aussi des outils pour la création de contenu, ainsi, Unity marche aussi bien avec le Cardboard que l’Oculus Rift sans aucun plugin. En sachant que toute application ou jeu créé pour l’Oculus marche aussi pour le Samsung Gear VR, l’inverse marche bien évidement. De plus, afin de mettre un pied à l’étrier pour les développeurs en herbe, Oculus propose un tutoriel spécialement conçu pour créer une application pour Oculus et Gear VR avec Unity. Retrouvez ce tutoriel à cette adresse.

A savoir qu’il existe aussi le moteur de jeu Unreal Engine 4 pour créer des jeux ou applications sur Oculus, s’il est tout à fait possible de développer un contenu sur Unreal Engine 4, ce dernier est un peu moins ami avec la réalité virtuelle et il existe encore quelques lacunes, que Epic Games cherche déjà à résoudre.

Les outils pour l’HTC Vive

L’HTC Vive, comme l’Oculus Rift, demandera plus de maîtrise et d’investissement qu’un Cardboard ou même un Gear VR. Non pas que les applications créées pour ces derniers ne peuvent pas être mises sur un HTC Vive, c’est plutôt que l’HTC Vive est un casque de réalité virtuelle ayant une grande puissance, un potentiel bien plus grand que des casques moins performants. Il faut alors avoir une certaine ambition si l’on développe une application ou un jeu pour l’HTC Vive, il faut savoir tirer toute la puissance de cette technologie, qui se place comme la meilleure du marché pour l’instant.

HTC n’est pas en reste dans la constitution d’aides et tutoriels et vous pouvez retrouve à cette adresse un nombre important d’aides pour les développeurs, notamment un guide pour développeurs, mais aussi des plugins pour les moteur Unity et Unreal Engine 4, avec en plus un SDK pour SteamVR.

Des expériences uniques

Enfin il faut penser en terme d’expérience unique, la réalité virtuelle est là pour singer le réel, un utilisateur n’aura que faire de pouvoir faire la cuisine en réalité virtuelle, il le fait déjà dans le réel, un utilisateur veut conduire le plus rapide des bolides, il veut sauter d’un avion en flamme, il veut s’extasier devant un coucher de soleil dans une nature magnifique, il veut découvrir des lieux et époques uniques.

Mais il ne faut pas balancer une expérience pour le plaisir, il faut connaitre son but, savoir ce que l’on veut transmettre, si s’est lié à une marque, il faut comprendre l’identité de la marque et faire passer son ADN par une expérience unique et pertinente. Il ne fait pas avoir peur de sortir des sentiers battus, la réalité virtuelle vient d’arriver, tout est à faire, il suffit de l’imaginer, de le créer et de le partager.

application