Pour commencer, une nouvelle image :
Le principe est le même que la vidéo d’hier, mais avec un travail sur la lumière et les ombres, l’intégration des objets 3d y gagnant beaucoup.
A la suite de ça, je me suis lancé dans des tests d’occlusion. Voilà la vidéo, histoire d’éviter les explications compliqués pour rien:
http://raydium.cqfd-corp.org/captures/rayAugmentedReality2.avi
L’idée est tout simplement que la voiture entre en collision avec un objet réel, et surtout … est cachée par cet objet lorsqu’elle passe derrière !
Pour le reste, voilà quelques explications :
Raydium se fait aider par ARToolKit dans la recherche d’un motif dans l’image. Le motif (marqueur) utilisé ici est "Hiro" :
En connaissant certaines caractéristiques optiques de la caméra, il est possible de déduire quelle est la position et l’orientation de ce motif en fonction de sa déformation (rotations et perspective). Dès lors, avec quelques calculs, il est possible de venir incruster des objets 3D sur la scène filmée. C’est l’ensemble de ce système qui était utilisé dans la précédente vidéo.
L’évolution dans la vidéo d’aujourd’hui réside dans l’occlusion de visibilité. C’est en fait très simple à réaliser une fois qu’on a calibré ses outils. J’ai ici modélisé (dur travail d’artiste) ma … mon … le machin qui me sert de salière, depuis de rapides mesures :
J’ai placé cet objet 3D sur la scène 3D, et l’objet original (celui ou il y’a du sel dedans) sur la scène réelle (celle ou mon appart est mal rangé), le tout en quelques calculs très simples pour adapter les repères.
La suite est simple, on déclenche le rendu mais en dessinant la salière uniquement dans le Z-Buffer de la carte 3D (et non plus dans le Color Buffer, celui que vous voyez avec vos yeux visuels…), de façon à ce que le rendu de la voiture prenne en compte la présence de la salière.
Résultat : quand la voiture est dans l’alignement de la salière et suffisement loin, eh bien comme dans toute scène 3D, le Z-Buffer refuse que les pixels de la voiture soient affichés, sous prétexte qu’un autre objet (la salière) est plus proche. Sauf que cette salière n’existe pas dans le Color Buffer et laisse donc apparaître le fond : l’image capturée depuis la webcam ou se trouve justement la véritable salière.
A essayer de faire des explications trop détaillées, j’ai peut être embrouillé certains … n’hésitez pas à le faire savoir si c’est le cas.
La suite : la présence de plusieurs marqueurs dans la scène filmée et des interactions entre de vrais objets et les objets 3D.
Laisser un commentaire
Vous devez vous connecter pour publier un commentaire.