La réalité virtuelle sur mobile

La réalité virtuelle est une expérience immersive très intense, et ce qui aujourd’hui n’est qu’une simple tendance, va devenir dans les mois et années qui arrivent, quelque chose d’incontournable. L’année 2015 sera riche en annonce et nouveautés dans ce domaine, c’est incontestable. Cependant cette technologie « futuriste » peut paraître éloignée, à cause de la disponibilité et du prix des solutions actuelles. Mais rassurez vous, il y a un domaine dans lequel la VR (Virtual Reality – Réalité Virtuelle) est accessible, celui de la mobilité ! Cet article sera donc dédié à la VR sur mobile car comme vous allez le voir, c’est une solution bon marché qui donne de très bons résultats.

Un Google CardboardEn 2014, Google arrive avec le Google Cardboard, un casque de réalité virtuelle en carton fonctionnant avec un Smartphone ! Typiquement une application VR va afficher deux rendus (un par œil) et utiliser le gyroscope et l’accéléromètre du téléphone pour récupérer les mouvements de la tête. L’avantage de cette solution est que ça ne coûte presque rien, vous n’avez besoin que du casque (entre 5 et 20 euros) et d’un bon smartphone. Par contre ce n’est pas pratique à utiliser car ce n’est pas confortable et il n’y a pas de sangle.. Heureusement il y a désormais de très bonnes alternatives, des casques qui ressemblent à un Oculus Rift (plastique, mouse et sangle) mais qui sont dédiés aux mobiles et donc très abordable !

Il est temps de prendre la pilule rouge et de découvrir le monde passionnant de la réalité virtuelle sur mobile.

Choisir un casque

La première chose à faire est de se procurer un casque compatible avec son téléphone. Suivant vos moyens et votre mobile, vous pouvez opter pour le strict minimum, à savoir un Google Cardboard, ou alors de taper dans quelque chose de plus confortable et pratique, comme un Homido ou un Gear VR ! Sachez que ces casques ne sont que des supports pour tenir votre smartphone devant vos yeux. Il n’y a aucun composant électronique dedans. Suivant les modèles, il peut y avoir des molettes de réglage pour adapter la distance de l’image par exemple.

Le Dive

Le Dive

Le Durovis Dive est un casque conçus pour fonctionner avec une large gamme de Smartphone. C’est à ma connaissance, un des premiers, si ce n’est le premier casque de réalité virtuelle mobile. Vous pouvez l’utiliser avec un mobile ayant une taille d’écran entre 4 et 5 pouces maximum. Il coûte 59 € et est équipé comme il se doit, avec des lentilles, une sangle et de la mousse pour le confort.

L’Homido

Un Homido

L’Homido est mon coup de cœur pour deux raisons. Premièrement c’est un casque conçus par des Français et deuxièmement, c’est un produit que j’ai financé via Ulule. Il est compatible avec les écrans de 4 à 5.7 pouces. J’utilise le miens avec un Nexus 5 et je l’ai testé avec OnePlus One (5.5 pouces), dans les deux cas c’est impeccable. J’ai cependant fait un test avec mon HTC 8X (4.3 pouces) et c’est moyen. Ce casque est disponible pour 69 € sans frais de port. Il est livré dans une boite de protection, avec un chiffon de nettoyage, une sangle et 3 supports pour les lentilles, vous permettant d’ajuster la distance avec vos yeux. Il y a aussi deux molettes permettant encore une fois, d’adapter le tout à votre smartphone et à vos yeux. C’est un petit investissement qui vaut largement le coup.

l’Archos VR

L'Archos VROn connait surtout Archos pour ses baladeurs ou ses téléphones et tablettes, mais on le connait moins pour son casque de réalité virtuelle. Proposant une esthétique discutable, il est le moins chère de tous, proposé à 29 € seulement ! Avec tout ce qui va avec, à savoir les lentilles et la sangle. L’autre avantage est qu’il s’adapte à un tas de smartphones du marché ! Vous pourrez l’utiliser avec un écran de 4.7 à 6 pouces ! Je pense aux possesseurs de « petites » phablettes qui trouverons ici une solution abordable et fonctionnelle.

Les autres casques

Il existe évidement d’autres casques, mais ils sont soit très spécialisés, comme le Samsung Gear VR qui ne fonctionne qu’avec un Galaxy Note 2 (800 € le total…), ou d’autre un peu plus haut de gamme comme le Zeizz VR One mais qui à mon sens ne justifie pas un prix de 100 €. Enfin vous trouverez surement sur le net un tas d’autres casques, certains sont en développement sur KickStarter (XG VR ou vrAse par exemple), quand d’autres sont vendus sur des sites douteux ou sur eBay.

Les accessoires

Un câble OTG
Un câble OTG

Le premier frein sur mobile est l’absence de contrôles physiques et c’est particulièrement vrai pour un jeu mobile VR car il fonctionne grâce à votre mobile, qui est dans le casque. Il n’est pas possible d’utiliser l’écran tactile. Heureusement il existe les câbles OTG ! Grâce à un câble de ce type, vous pourrez brancher n’importe quel périphérique USB compatible sur votre mobile, que ce soit un clavier, un gamepad ou même une clé USB. La très bonne nouvelle est que ce genre de câble se trouve très facilement et est très bon marché (entre 2 et 5 €). Le système Android devrait  quant-à lui reconnaître automatiquement votre gamepad une fois branché. Attention à la version de l’OS, même si le support des manettes remonte à Android 3.2, il est préférable de miser un peu plus haut afin de garantir la meilleur compatibilité possible. Pour ma part je n’ai aucun soucis avec gamepad de Xbox 360, sur Nexus 5 avec Lollipop !

Il est aussi possible de se procurer un gamepad bluetooth mais attention à la compatibilité (je pense à ceux qui sont fait pour iOS). L’avantage de cette solution est qu’il n’y a pas de fil et ça se transporte mieux, mais ça coûte réellement plus chère. En effet il faudra compter entre 40 et 70 € en moyenne pour vous procurer un gamepad qui tient la route.

Développement et SDK

Développer une application ou un jeu compatible VR n’est pas compliqué si vous utilisez les bons outils dès le début. Je vous parlerais ici d’Unity 3D et des moteurs Babylon.js et THREE.js. Dans tous les cas et c’est valable pour tous les moteurs 3D, vous pouvez vous faire une solution à la main. Il faut typiquement avoir deux caméras (une par œil) et utiliser la fonction gyroscope (ou à défaut d’accéléromètre) du mobile pour mettre à jour la rotation X, Y, Z des caméras. Encore une fois rassurez vous ! Je vais vous présenter des solutions qui font déjà tout ce travail ! Vous n’aurez rien à faire, ou presque 😀

Sur Unity

 La société qui vend le Dive propose aussi un plugin pour Unity : Le Dive SDK. Compatible Android et iOS uniquement, il dispose par défaut de quelques prefabs, vous permettant de prendre le tout en main rapidement. Typiquement c’est un GameObject avec deux caméras et un script qui met à jour les rotations. L’avantage est que vous n’avez absolument rien à faire, ça fonctionne « out of the box ». Il n’y a qu’un script pour gérer les deux caméras, du coup c’est très facile à utiliser et ça ne viendra pas polluer votre projet avec des tas de fichiers en plus.

Exemple d'utilisation du Dive SDK

Exemple d’utilisation du Dive SDK

Le Google Cardboard Plugin quant-à lui est développé par Google pour Unity. Il est facile à faire fonctionner mais comporte plus de fichier que le Dive SDK. Il est de plus limité à Android pour l’instant.

Enfin je vous recommande d’utiliser le plugin de gestion des entrées utilisateur InControl. Il est gratuit (et open source) en version de base et vous serez presque sur que votre gamepad est reconnu sur votre device Android ! Sinon dans la majorité des cas, votre gamepad devrait fonctionner si vous vous limitez à l’axe horizontal et vertical.

En JavaScript dans une page Web

Comme nous l’avons déjà vue dans un précédent article sur Babylon.js, il est possible d’utiliser ce moteur pour créer des applications VR très facilement en utilisant la caméra adaptée. Pour THREE.js c’est similaire, il faut utiliser le DeviceOrientationController et le tour est joué !

Checklist

Le but de cet article était de vous présenter les différentes manières de faire de la réalité virtuelle en utilisant un Smartphone et un casque adapté. Il est évident qu’il y a encore un tas de choses à dire sur le sujet, que ce soit sur les casques, les smartphones et les SDKs, mais vous avez les clés en main pour aller de l’avant et créer vos propres contenus VR.

Il ne faudra pas oublier d’indiquer aux joueurs qu’il faut utiliser un gamepad ou un clavier sur leurs mobiles afin de pouvoir jouer dans de bonnes conditions puisque c’est la seule manière d’offrir un gameplay digne de ce nom. Nous sommes d’accord, vous pouvez créer un runner sans la nécessité d’avoir un contrôleur, mais les interactions seront limités.

Pour résumer, vous avez besoin d’un bon smartphone, je conseillerais un modèle de 5 à 5.5 pouces avec un processeur à quatre cœurs, un GPU correct et une bonne quantité de ram, le tout sous Android 4.3 au moins. Le choix du casque se fera suivant vos besoins et vos moyens, mais nous avons vue que grâce à Archos, il est possible d’en acquérir un pour une bouchée de pain. Enfin il faudra une solution de contrôle, tel qu’un gamepad branché en USB avec un câble OTG ou alors via bluetooth. Au niveau du SDK, vous irez très vite en utilisant le Dive SDK, qui est à mon avis la solution la plus simple à utiliser (c’est ce que j’utilise actuellement).

Vous bossez sur un projet VR mobile et vous voulez le partager ou vous avez simplement des questions ? N’hésitez pas à laisser un commentaire sur le blog ou sur Google+.