Rise: Réalité virtuelle avec Unreal Engine 4 et Oculus Rift

Le studio Nurulize présente Rise, une démo 3D temps réel réalisée sous Unreal Engine 4.

La démo est présentée actuellement à la GDC, sur des casques de réalité virtuelle Oculus DK2. Résultat: rendu 4K photo-réaliste, le tout à 90 images/sec !

Bon, sans casque VR, ça rend pas tant que ça, mais ça laisse présager à quel point cela doit être fascinant de tourner autour des objets. Imaginez une enquête policière où vous pourriez rechercher les indices en fouillant chaque détail d’une scène de crime ?

Pour atteindre ce niveau de détail et ses retouches de focus/défocus en temps réel, Nurulize a capturé la séquence avec des scanners 3D FARO, des photos HDR (High Dynamic Range) et un shooting des personnages en XXArray.

Si le domaine vous intéresse, je vous propose de lire cet excellent mémoire de Matthieu Dujardin : “Le scanner laser 3D:  reconnaissance de formes et modélisation de déformations” téléchargeable ici.

La télédétection par laser ou LIDAR, acronyme de l’expression en langue anglaise « light detection and ranging » ou « laser detection and ranging », est une technologie de mesure à distance basée sur l’analyse des propriétés d’un faisceau de lumière renvoyé vers son émetteur.

Concernant le XXArray, j’ai trouvé une petite vidéo qui présente bien les choses:

Le principe, c’est d’utiliser un ensemble d’appareils photos pour prendre des clichés de tous les cotés du corps et de reconstruire un modèle 3D Haute Résolution.

Si vous ne connaissez le HDR qu’au travers des effets utilisés en 3D, je vous proprose d’aller lire cette petite explication sur ce site : le concept est un peu plus vaste qu’il n’y parait.

Pour profiter d’un tel niveau de détails, Nurulize a utilisé le middleware de textures avancées de Graphine baptisé Granite SDK. Ce logiciel permet de “streamer” de la texture graphique, pour permettre aux consoles d’alléger leur travail. Euh, oui, mais ça veut dire quoi ? ça fonctionne comment ? Si j’ai bien compris, la texture est découpée en “Tiles” (ex: 128×128 texels) et ne sont envoyés à la carte graphique que les morceaux réellement utilisés, ainsi qu’en gérant plusieurs niveaux de résolution (équivalent du LOD).le tout est streamé, c’est à dire envoyé de façon asynchrone en continue au GPU: ainsi, si on n’a pas le temps de charger la version HD de la texture, on aura déjà une vue en résolution plus basse, le temps que les tiles HD soient progressivement remplacés.Je simplifie, mais le tout est d’optimiser ce qui doit être transféré de façon heuristique et de le faire au bon moment.  L’outil est aussi spécialisé dans la compression de textures: il peut transcoder les formats usuels en format déjà compressé pour le GPU.

En attendant, je reste rêveur… j’aimerais bien avoir ce petit joujou en ma possession pour faire des tests avec UE4…

taylor2_small

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.