Réalité Virtuelle sur AndroidEntre Cardboard et GearVR
Julien Salvi & Loïs Aubrée
Julien Salvi
Android addict depuis Froyo
Twitter: @JulienSalvi
Creative Technologist & Ingénieur Android @ Cinémur
Loïs Aubrée
3D addict depuis l’enfance
Twitter: @_LoisAubree
VR Guy @ Cinémur
La réalité virtuelle sur Android
➔ Mobilité, bon marché➔ Puissance, Optimisations➔ Grand public
Solutions portables(Exclu Android)
➔ Puissance, qualité➔ Cher & encombrant➔ Gamers et passionnés
Solutions PC
John Carmack
It's a moral imperative that we must create this
“NOT SO BAD
● Boom de la réalité virtuelle depuis Oculus
● Nouveau marché
● Nouvelles sensations d’immersion
● Gros potentiel d’amélioration
● Sensibiliser le plus de monde
Les solutions techniques
Developpement natif sur Android
Cardboard SDK (0.7.0) Java, OpenGL ES, JNI
GearVR Mobile SDK (1.0) C/C++, JNI
Cardboard SDK
○ Facile pour se lancer dans la VR○ Notions d’OpenGL ES○ Difficulté à mettre en place des éléments 3D
complexes et de créer une interface
GearVR SDK
○ Libs natives C/C++○ Complexe pour réaliser rapidement un prototype○ Avantage : Optimisation bas niveau (JNI)
Game engines
● Meilleur support du GearVR en début de projet
● Communauté
● Leader pour les applications 3D mobiles
● Facilité de développement d’application 3D et VR
○ Editeur Scene○ Scripts○ Optimisations○ Formats 3D ○ Connexion aux logiciels de modelling 3D professionnels
● Non limitant - plugins : Bridge Android Unity
Notre projetSalle de cinéma VR
L’objectif de ce projet est de
créer une salle de cinéma
sociale où l’utilisateur
pourrait visualiser des
contenus protégés ou non
dans un environnement VR.
● Player Android performant pour jouer un large choix de formats
● L’optimisation 3D
● Le temps réel pour la social feature
Optimisations
● La scène 3D ne dépasse pas les 50 000 polygons
● Un seul maillage pour tout
● Un seul material pour l’ensemble de la scène
● Lightmap baking (light ON/OFF)
● Enlever les back faces (faces inutiles)
Modéliser pour la VR mobile c’est reprendre les habitudes d’optimisation 3D oubliées
Player Android
Player Android
MovieTexture de Unity pas compatible avec Android
Utilisation d’Exoplayer pour lire un grand nombre de format: DASH, MP4, HLS, Smooth Streaming…
Intégration native avec le SDK Cardboard
Création d’un plugin Android pour Unity: bridge pour communiquer entre les 2
Documentation d’ExoPlayer https://google.github.io/ExoPlayer/
Documentation GearVR SDK https://developer.oculus.com/documentation/mobilesdk/latest/concepts/book-intro/
Documentation Cardboard SDK https://developers.google.com/cardboard/
Documentation Home theater Oculushttps://developer.oculus.com/documentation/mobilesdk/latest/concepts/mobile-movietheater-intro/
Ressources
"VR can be tremendously fun and beautiful. It's been frustrating that more people haven't been able to enjoy it for so many years. I hope lots of people will soon find VR to be as fascinating as I have."
“La Realité virtuelle peut être fun et magnifique. C’est frustrant de savoir que les gens n’en ont pas profité depuis des années. J’espère que bientot beaucoup de monde seront fascinés par la VR autant que je le suis”
Jaron Lanier - term of Virtual Reality Inventor
Merci !