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

Le stu­dio Nurulize présente Rise, une démo 3D temps réel réal­isée sous Unre­al Engine 4.

La démo est présen­tée actuelle­ment à la GDC, sur des casques de réal­ité virtuelle Ocu­lus DK2. Résul­tat: ren­du 4K pho­to-réal­iste, 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 fasci­nant de tourn­er autour des objets. Imag­inez une enquête poli­cière où vous pour­riez rechercher les indices en fouil­lant chaque détail d’une scène de crime ?

Pour attein­dre ce niveau de détail et ses retouch­es de focus/défocus en temps réel, Nurulize a cap­turé la séquence avec des scan­ners 3D FARO, des pho­tos HDR (High Dynam­ic Range) et un shoot­ing des per­son­nages en XXAr­ray.

Si le domaine vous intéresse, je vous pro­pose de lire cet excel­lent mémoire de Matthieu Dujardin : “Le scan­ner laser 3D:  recon­nais­sance de formes et modélisation de déformations” télécharge­able ici.

La télédé­tec­tion par laser ou LIDAR, acronyme de l’expression en langue anglaise « light detec­tion and rang­ing » ou « laser detec­tion and rang­ing », est une tech­nolo­gie de mesure à dis­tance basée sur l’analyse des pro­priétés d’un fais­ceau de lumière ren­voyé vers son émet­teur.

Con­cer­nant le XXAr­ray, j’ai trou­vé une petite vidéo qui présente bien les choses:

Le principe, c’est d’utiliser un ensem­ble d’appareils pho­tos pour pren­dre des clichés de tous les cotés du corps et de recon­stru­ire un mod­èle 3D Haute Réso­lu­tion.

Si vous ne con­nais­sez le HDR qu’au tra­vers des effets util­isés en 3D, je vous pro­prose d’aller lire cette petite expli­ca­tion sur ce site : le con­cept est un peu plus vaste qu’il n’y parait.

Pour prof­iter d’un tel niveau de détails, Nurulize a util­isé le mid­dle­ware de tex­tures avancées de Graphine bap­tisé Gran­ite SDK. Ce logi­ciel per­met de “stream­er” de la tex­ture graphique, pour per­me­t­tre aux con­soles d’alléger leur tra­vail. Euh, oui, mais ça veut dire quoi ? ça fonc­tionne com­ment ? Si j’ai bien com­pris, la tex­ture est découpée en “Tiles” (ex: 128x128 tex­els) et ne sont envoyés à la carte graphique que les morceaux réelle­ment util­isés, ain­si qu’en gérant plusieurs niveaux de réso­lu­tion (équiv­a­lent du LOD).le tout est streamé, c’est à dire envoyé de façon asyn­chrone en con­tin­ue au GPU: ain­si, si on n’a pas le temps de charg­er la ver­sion HD de la tex­ture, on aura déjà une vue en réso­lu­tion plus basse, le temps que les tiles HD soient pro­gres­sive­ment remplacés.Je sim­pli­fie, mais le tout est d’optimiser ce qui doit être trans­féré de façon heuris­tique et de le faire au bon moment.  L’outil est aus­si spé­cial­isé dans la com­pres­sion de tex­tures: il peut transcoder les for­mats usuels en for­mat déjà com­pressé pour le GPU.

En atten­dant, je reste rêveur… j’aimerais bien avoir ce petit jou­jou en ma pos­ses­sion pour faire des tests avec UE4

taylor2_small

Laisser un commentaire

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