Débuter en réalité virtuelle avec Unity et Oculus Quest - Intro (partie 1)

Vous avez eu pour Noël un Oculus Quest 2, et fasciné par Beat Saber, Superhot, Tetris Effect et autres Titans of space, vous rêveriez vous aussi de faire votre appli VR.

Pas de souci, c’est à portée de clavier !

Et si savoir que vous pourrez crafter de la VR est à 2 doigts de vous faire chuter dans un achat en VR, l’aventure vous attend ;)

Pour cette première partie, je vous donne quelques éléments de contexte sur les choix de ce tutorial, avant de rentrer dans la pratique par la suite.

Hardware

La plupart des explications que nous verrons par la suite sont pertinentes pour différents casques autonomes (Oculus Quest, Oculus Quest 2, HTC Vive Focus Plus), ainsi que pour la plupart des casques PC (Oculus Rift, HTC Vive, Valve Index, …).

Si j’oriente un peu cette explication sur l'Oculus Quest 2, c’est qu’actuellement, pour faire de la réalité virtuelle, l’Oculus Quest 2 est un appareil extrêmement adapté(*) :

  • il est relativement peu cher : 350€ (**)
  • on est sur un casque de qualité, captant très bien la position de l’utilisateur dans l’espace, ce qui évite d’être malade(***) ,
  • il est autonome, et ne nécessite donc pas un ordinateur puissant pour faire tourner vos applications...
  • ...mais il peut AUSSI servir de casque pour PC, produisant le meilleur des 2 mondes

(*) : il y a quand même un (très gros) souci dans ce tableau idyllique : Facebook, qui a racheté Oculus, oblige pour le moment de lier son compte Facebook au casque. C’est gênant, très gênant, je suis d’accord. Si éthiquement, cela vous pose souci, comme je disais, il y a des alternatives, mais un peu plus chères. Si vous êtes intéressé, on pourra discuter de ces alternatives dans les commentaires.

(**) : même si je vous conseille pour le confort de rajouter une sangle Elite et un long cable Link pour brancher au PC, il existe des alternatives non officielles pour ce câble - encore un sujet de discussion possible si besoin :) (si vous êtes une combinaison de radins/pressés/curieux, vous pouvez regarder cet article : https://www.etr.fr/actualite/7624-test-oculus-link-le-cable-officiel-est-il-vraiment-utile-avec-l-oculus-quest-2.html, l’équivalent )

(***) : c’est un casque 6 DoF, 6 degrés de liberté, pas un casque 3DoF comme ceux qu’on utilise avec des téléphones portables (cardboard, …), et qui eux entraînent souvent des nausées fortes

Attention cependant, si votre ordi est vraiment très peu puissant, vous aurez probablement des difficultés à tester votre logiciel en live en mode développeur, sur votre ordinateur. Vous pourrez le tester en buildant à chaque fois, mais l’expérience de dév, très agréable en VR sur Unity, deviendra là bien moins fluide.

Il y a cependant un XR Device Simulator qui pourrait vous aider si c’est votre cas, n’hésitez pas à me contacter si vous voulez creuser cette piste.

Logiciel

Unity

Il existe différents moteurs 3D nous permettant de faire de la VR, les plus connus étant Unity, Unreal, et récemment (et en open source) Godot.

Tout 3 permettent, plus ou moins bien, de faire de la VR.

Mais aujourd’hui, pour quelqu’un ayant peu de connaissances préalables, Unity est probablement l’environnement le plus pertinent pour se mettre à la VR.

Pour installer Unity, téléchargez Unity Hub https://store.unity.com/download-nuo, et choisissez d’installer la version 2020.2

XR Plug-in management

Comme cette présentation est une introduction, je vais vous orienter sur les technos à venir, et notamment sur les dernières versions d’Unity, Unity 2020.2.

Il faut cependant savoir que les versions d’Unity cohabitent assez longuement (il est assez normal d’encore utiliser Unity 2019 aujourd’hui - c’est d’ailleurs la seule version avec une LTS actuellement).

Précédemment, le support de la VR était buildé “en dur” dans Unity. Depuis Unity 2019, ils tentent d’aller vers une architecture plus modulaire du moteur Unity, avec différents packages optionnels. Il existait donc 2 manières de supporter la VR en 2019, l’ancien support VR, disparu en version 2020, et le nouveau, que j’aborde ici, le XR Plug-in management system

Dans ce nouveau système, les casques HTC Vive n’étaient initialement pas supportés; ils le sont, en beta, depuis la 2020.2 (d’où ce choix de version précise ici)

Ce support se fait par un module intéressant, OpenXR, qui a la velléité de pouvoir supporter tous les casques AR et VR, OpenXR étant un standard visant ce but.

Cependant, de part ce caractère expérimental, si vous voulez jouer avec un casque HTC vive ou Valve Index, il est tout à fait raisonnable de rester sur Unity 2019 et d’utiliser la stack SteamVR : https://assetstore.unity.com/packages/tools/integration/steamvr-plugin-32647#description .

Si c’est votre cas, n’hésitez pas à en parler dans les commentaires, cette stack est très facile d’usage également.

De la même manière, dans l’idée de faire un tutorial couvrant à terme tous les casques une fois le XR Plug-in management system mature, je ne parle pas spécialement du SDK spécifique à Oculus, https://assetstore.unity.com/packages/tools/integration/oculus-integration-82022, mais il est également disponible, et est un choix tout à fait pertinent et agréable à utiliser pour développer sur Oculus Quest.

Suite du tutorial: Partie 2 - Mise en place du projet

Accès aux commentaires

links

social