Les industries de la réalité augmentée (RA) et de la réalité virtuelle (RV) n’en sont encore qu’à leurs balbutiements, mais c’est pourquoi c’est maintenant le moment idéal pour apprendre à créer du contenu pour ces technologies. Ils en ont besoin pour passer à l’étape suivante de l’adoption. Heureusement, du point de vue du développeur, les compétences nécessaires pour accéder à la RA et à la RV sont très similaires et les barrières à l’entrée sont encore relativement faibles. Ce guide vous donnera un aperçu de la marche à suivre pour commencer.

Dans cette page dédiée aux questions, nous répondons à de nombreuses questions concernant les casques VR.

VR utilistion
Utilisation de la réalité virtuelle

La compétence la plus importante dont vous avez besoin

Que vous soyez un débutant en programmation ou un vétéran avec des années d’expérience dans le domaine, les principales compétences dont vous aurez besoin pour devenir un développeur AR/VR sont dans le domaine de la 3D. En fait, ce n’est pas très différent du développement de jeux 3D.

Pourquoi ? Parce que la RA et la RV consistent à créer des mondes ou des environnements immersifs avec lesquels on peut interagir en trois dimensions, comme dans la vie réelle.

Ainsi, selon la profondeur que vous souhaitez atteindre, vous devrez peut-être vous familiariser avec la modélisation et/ou la numérisation 3D, les moteurs de jeux 3D, les photos et vidéos 360°, peut-être un peu de mathématiques et de géométrie, les langages de programmation comme C/C++/C# et les kits de développement logiciel (SDK), et comment concevoir des expériences pour les utilisateurs de la 3D.

Examinons donc plus en profondeur chacun des sujets que vous devez aborder pour devenir un développeur AR/VR, en vous concentrant d’abord sur la RV.

Matériel informatique

La réalité augmentée/virtuelle (et le développement 3D en général) exigent du matériel haut de gamme. Cependant, comme le prix du matériel est en baisse constante, cela ne représente peut-être pas un gros problème comme il y a quelques années.

Si nous examinons les exigences des deux plates-formes VR les plus populaires (HTC Vive et Oculus Rift), nous verrons qu’elles sont fondamentalement les mêmes. Au moment d’écrire ces lignes, voici les spécifications matérielles recommandées :

  • Processeur : Intel Core i5-4590 ou AMD FX 8350
  • Carte graphique : NVIDIA GeForce GTX 1060 ou AMD Radeon RX 480
  • Mémoire : 8 Go de RAM
  • Ports : 3x USB 3.0
  • Système d’exploitation : Windows 7 ou supérieur

Cela signifie-t-il que si vous avez un processeur i3 ou une carte GTX 1050, vous ne pourrez pas faire de développement ? Cela dépend.

Les spécifications ci-dessus sont les spécifications recommandées pour avoir une expérience en douceur, donc pour certains projets, peut-être un peu moins ferait le travail, et pour d’autres, peut-être vous aurez à compenser le manque de puissance dans un domaine avec une augmentation de puissance dans un autre (par exemple, en jumelant un processeur i3 avec un GTX 1070).

Il y a un minimum d’exigences et d’outils pour s’assurer que votre matériel est compatible, mais la suggestion est d’essayer de viser le haut de gamme et d’utiliser des PC de bureau pour avoir un chemin de mise à niveau facile (et moins cher).

Dispositifs de réalité virtuelle

Dans ce domaine, nous avons de nombreuses options. Classons les plus populaires par leur degré de liberté (DOF), qui fait référence à la façon dont un objet peut se déplacer. Nous avons deux options : trois et six DOF.

Trois DOF signifie que vous pourrez interagir avec le monde virtuel en trois dimensions (dans un système de coordonnées X, Y, Z) en déplaçant votre tête à l’aide d’un écran monté sur la tête (HMD), mais que vous ne pourrez pas avancer ou reculer.

Avec six DOF, vous pouvez vous déplacer en avant/en arrière, en haut/en bas, et à gauche/droite, vous avez donc maintenant trois autres types de mouvements, d’où le nom.

Les appareils suivants supportent trois DOF :

Bien que les éléments suivants puissent prendre en charge six DOF :

Bien sûr, chaque périphérique utilise des SDK, des langages de programmation et des contraintes différents, mais vous constaterez qu’ils ont certains points communs :

  • Les principes de conception d’une expérience de Réalité Virtuelle sont les mêmes.
  • La plupart d’entre eux sont compatibles avec les contrôleurs de mouvement pour interagir avec le monde virtuel.
  • Trois DOF utilise des smartphones comme écrans montés sur la tête.
  • Six DOF utilise des casques VR pourPC.

À ce stade, et selon ce que vous voulez accomplir, vous voudrez peut-être faire des recherches et choisir un ou plusieurs dispositifs à développer. Bien sûr, vous pouvez faire plus de choses avec les casques VR pour PC, mais vous pouvez commencer par quelque chose de simple, et transférer vos compétences d’un appareil à un autre plus tard. Il s’agit d’apprendre les bons outils pour le travail.

Parlons maintenant des logiciels les plus couramment utilisés pour développer le contenu de la RV.

Moteurs de jeu 3D et langages de programmation

Une étude publiée dans The State of the Developer Nation Q1 2017 report met C# et C/C+++ comme les langages de programmation les plus utilisés pour le développement de la RA/VR. Ce n’est pas une coïncidence. Les moteurs de jeu les plus populaires dont vous aurez besoin pour apprendre à les utiliser :

  • Unity, qui utilise C# comme langage de programmation principal.
  • Unreal Engine, qui utilise C+++ et un langage à base de nœuds appelé Blueprints Visual Scripting.

La bonne nouvelle, c’est que tous les périphériques VR ont des SDK disponibles pour les deux moteurs. Vous ne pouvez donc utiliser qu’un seul d’entre eux pour développer des applications AR/VR et cibler plus d’un périphérique.

La mauvaise nouvelle est que la courbe d’apprentissage est relativement raide pour les deux. En cas de doute, la plupart des gens recommandent Unity parce qu’il est plus facile à apprendre et que plus de ressources sont disponibles. Cependant, Unreal peut vous offrir de meilleurs graphismes et plus de puissance.

Une autre chose à prendre en compte est qu’Unity a de nombreuses versions avec des coûts différents, mais il y a une version personnelle à utiliser qui est gratuite. Unreal est gratuit, avec une redevance de 5% sur les revenus bruts du produit brut après les premiers 3 000 € par jeu par trimestre provenant de produits commerciaux.

La recommandation est d’essayer ces deux moteurs pour voir lequel vous convient le mieux. De plus, il est à noter que Google fournit des SDK pour Android (en Java) et iOS (en Objective-C) à développer pour les appareils Daydream et Cardboard.

Créer ou trouver des actifs

Les premières choses dont vous aurez besoin pour le développement d’AR/VR sont des atouts artistiques, en particulier les modèles 3D. Vous avez deux possibilités : les fabriquer vous-même ou utiliser des modèles fabriqués par quelqu’un d’autre.

Faire des modèles 3D par vous-même est l’option la plus difficile, mais à long terme, c’est peut-être la meilleure (et la plus rentable). Si vous choisissez ce chemin, vous devrez apprendre à utiliser des programmes comme :

  • Blender
  • Autodesk Maya
  • Autodesk 3ds Max

La numérisation 3D est une technologie qui peut vous aider à créer vos propres modèles. Fondamentalement, les choses capturées par un scanner 3D dans le monde réel deviennent un modèle 3D virtuel. Ils ne sont peut-être pas encore parfaits, mais ils peuvent vous aider à démarrer, et il y a beaucoup d’options avec un large éventail de prix. Il y en a qui le sont :

  • DAVID SLS2
  • Da Vinci 1.0 AiO
  • Structure Sense (plus un iPad)

Sinon, vous voudrez obtenir des modèles 3D à partir d’endroits comme :

  • TurboSquid
  • Gratuit3D
  • CGTrader
  • Sketchfab

Cette option est très bonne quand vous commencez et que vous n’avez pas les compétences, mais tôt ou tard, vous devrez faire des modifications pour obtenir exactement ce que vous voulez, donc la suggestion est de combiner les deux options pendant que vous apprenez à faire vos propres modèles.

Quelque chose de similaire se produit avec les vidéos et les photos 360°, utilisées en Réalité Virtuelle pour fournir une expérience immersive.

Vous pouvez acheter un appareil photo 360 comme le RICOH THETA ou le Samsung Gear 360 (compatible uniquement avec les appareils Samsung) pour créer vos propres médias ou utiliser des sites comme Flickr ou d’autres sites pour des images et vidéos libres de droits.

Dans le domaine de l’audio, c’est plus facile parce qu’il n’y a pas d’exigences particulières ; nous pouvons utiliser les mêmes effets sonores utilisés dans les jeux et vidéos traditionnels à partir de sites audios libres de droits comme FreeSound, et des logiciels d’enregistrement et de montage audio comme Audacity ou Adobe Audition.

Du développement Web à la réalité virtuelle

Vous avez peut-être une expérience en développement web et vous vous demandez si votre connaissance de JavaScript peut vous être utile.

Heureusement, WebVR est un standard ouvert avec une API JavaScript qui permet d’expérimenter la RV dans votre navigateur.

Il fonctionne avec la plupart des périphériques VR, mais vous n’avez besoin d’aucun de ces derniers ou plugins car n’importe quel navigateur compatible (même votre téléphone Android/iOS) fera le travail. Vous pouvez vérifier la dernière prise en charge des navigateurs sur WebVR Rocks et trouver plus d’informations sur le site Mozilla VR.

Bien que la connaissance de la terminologie et de la modélisation 3D s’applique toujours, si vous connaissez JavaScript, c’est peut être un bon choix de commencer avec WebVR au lieu d’un SDK VR, Unity, ou Unreal.

Dans ce domaine, deux cadres méritent d’être mentionnés :

  1. A-frame : Un cadre pour construire des expériences de réalité virtuelle avec HTML et une approche Entity-Component-System. Il a été développé par l’équipe Mozilla VR et fournit l’un des moyens les plus puissants pour développer du contenu WebVR.
  2. React VR : Une nouvelle bibliothèque développée par Facebook basée sur React and React Native. Il vous permet de créer des sites Web de RV et des expériences interactives à 360° en utilisant la même approche de composants déclaratifs que React.

Comme les deux sont basés sur Three.js, la bibliothèque Javascript la plus populaire pour l’utilisation de graphiques 3D dans un navigateur Web vous donnera une base solide.

Unity a la possibilité d’écrire des scripts dans un langage similaire à JavaScript appelé UnityScript, mais ce n’est pas le même que le JavaScript que vous utiliserez pour développer pour le web, et C# est le langage recommandé pour Unity.

Et qu’en est-il de la RA ?

Nous nous sommes concentrés sur la réalité virtuelle, mais la réalité augmentée est un concept différent.

La réalité virtuelle consiste à créer un environnement virtuel et immersif pour remplacer le monde réel. La réalité augmentée ajoute des couches de données au monde réel au lieu de les remplacer. Par exemple, elle peut traduire les mots que vous voyez dans une autre langue, ou elle peut vous faire voir des monstres lorsque vous marchez près d’un endroit. En revanche, la Réalité Virtuelle peut vous emmener dans un autre pays ou dans un pays plein de monstres.

Lorsque vous joignez les deux concepts, vous obtenez ce qu’on appelle la réalité mixte, où vous interagissez avec l’environnement physique et virtuel.

Cependant, du point de vue du développement, la RV et la RA sont assez similaires. En fait, vous pouvez utiliser Unity et Unreal (avec l’aide de certains plugins) pour développer du contenu AR. Par exemple, une simple application AR reconnaîtra un objet et présentera un modèle 3D que vous pourrez manipuler comme s’il était réel, de sorte que les compétences nécessaires à la RV seront également applicables à l’AR.

L’un des outils les plus populaires pour le développement de la RA est Vuforia, qui est disponible pour Unity, Android et iOS, il offre de nombreuses fonctionnalités et prend en charge de nombreux appareils, dont les téléphones Tango.

En parlant d’appareils, la Réalité Augmentée peut être utilisée avec des écrans montés sur la tête, mais aussi avec d’autres appareils comme des smartphones, des lunettes et des visières spécialement conçues, étant peut-être le Microsoft HoloLens le plus populaire (bien que plus enclin à la réalité mixte).

Interface utilisateur (UI)/expérience utilisateur (UX)

L’industrie AR/VR est nouvelle et il n’y a donc pas encore beaucoup de meilleures pratiques pour développer ce type d’expériences, mais nous devrions tenir pour acquis qu’elles sont différentes des applications 2D traditionnelles. Par exemple, comment gérez-vous la saisie des données ? Un clavier dans un monde virtuel peut ne pas être le meilleur choix dans certaines situations.

D’un autre côté, l’un des plus gros problèmes de la RV est le mal des transports sur simulateur. Les gens peuvent tomber malades en raison, entre autres, de retards, de mouvements anormaux et d’inadéquations entre les repères de mouvement physiques et visuels.

En résumé, quelles sont les étapes pour devenir développeur AR/VR ?

Définissez votre plate-forme. Décidez quels appareils cibler, quelles plates-formes (mobile, bureau, web), et quel moteur de jeu/SDK/framework utiliser. Apprenez les compétences. Apprenez la terminologie, la modélisation 3D, le langage de ce moteur/SDK/framework, UI/UX pour AR/VR.

Mettre en œuvre quelque chose de petit. Bien qu’un grand nombre d’applications AR/VR soient des jeux, il y a beaucoup de domaines qui peuvent être ciblés, comme l’éducation, la visualisation de données, les expériences 360°. La clé ici est de pratiquer et d’acquérir de l’expérience.

Rejoignez les communautés de RV et engagez-vous dans la RV. Allez à des rencontres, participez à des forums/chats, parlez à d’autres développeurs, demandez à la communauté.

Conclusion

La technologie VR n’en est pas encore là. Elle a beaucoup de limites, elle est coûteuse, et les normes et les meilleures pratiques émergent encore. Cependant, elle a un grand potentiel, et c’est maintenant le bon moment pour commencer, surtout si l’on considère que la plupart des développeurs professionnels d’AR/VR ont moins de deux ans d’expérience.

De plus, certaines des compétences que vous apprendrez (comme le C#) peuvent être transférées dans d’autres domaines du développement logiciel ou du développement de jeux si vous décidez que l’AR/VR n’est pas quelque chose pour vous, ce qui en fait une opportunité à faible risque et à haute récompense.


Les contenus sur les mêmes sujets :
développer jeu VR, développeur VR, questions et réponses

Partagez ce moment !