PDA

Voir la version complète : Projection Camera mapping et prise en compte des volumes...



octopoulpe
01/08/2014, 17h59
Bonjour,

Je recontre un petit soucis technique. J'aimerais projeter des images sur des volumes de la même façon que le ferait un vidéo projecteur.
J'utilise donc la technique du camera mapping, mais le problème c'est que cette technique ne semble pas prendre en compte le volume de mes objets... Elle projette l'image derrière mes volumes alors que ces parties ne devraient pas recevoir d'image...

Exemple en capture d'écran (les images ne sont là que pour le test... Je ne cherche pas faire des rendus de chinoise sur des volumes 3D :)
On voit bien le problème sur l'image 3 ou la projection est faite sur l'intégralité du sol alors qu'elle devrait être découpé par les volumes qui sont devant.

Merci pour toute aide :)

AleXXi
01/08/2014, 20h11
Je vais suivre ton problème avec intérêt car si il y a une réponse pour faire ça simplement en projetant une texture avec une caméra comme tu le fais, je suis preneur...

Sauf que je pense que ça va pas être si facile que ça :(.


Une petite piste tout de même... :

-tu peux créer une matière avec ta texture dans le canal transparence (seul canal qui fonctionne sur une lumière).
-Tu appliques ta texture sur une lumière avec comme type de projection caméra.
-tu positionnes ta lumière au même endroit que ta caméra
-Et bien sûr, pense à activer les ombres sur ta lumière.

Ça devrait marcher. :-)

Je viens de tester:

http://i.gyazo.com/a133c308ec26bac8f090ab600f56b61b.png

http://i.gyazo.com/0eeec60cc6c0d6903116f900c1b1ec03.png

Sinon en conformant la texture + les ombres (toujours en laissant une lumière au même endroit que la caméra)...

Tout dépend pour quelles raisons tu ne veux pas avoir ton image qui se projette ainsi.

octopoulpe
02/08/2014, 16h00
Merci pour cette première piste.

Malheureusement elle ne marche pas comme j'aimerais. J'ai le même soucis qu'avec le camera mapping. Si je met une deuxième lumière pour éclairer ma scène on s'aperçoit que la projection de l'image se fait quand même derrière mes cubes.

Je souhaite que la projection se fasse de façon "réaliste", donc si possible éviter que l'image soit projeté derrière des objets car ma caméra va bouger dans la scène et dévoilé cette projection... C'est donc surtout pour une question esthétique.

Je continue de cherche mais je ne trouve vraiment pas...

Gyom
03/08/2014, 11h21
Je te suggère de faire des sélections de faces pour limiter l'affectation de la projection, tu peux du coup projeter plusieurs images via plusieurs caméras sur un même objet

childerik
03/08/2014, 12h09
j'ai eu a faire un projet comme ça, et effectivement, le moyen le plus simple que j'avais trouvé, c'est d'éditer tes objets, de sélectionner les polygones sur lesquels tu veux projeter. pas toujours très pratique quand tu as des objets sphérique !!!
bon courage.

AleXXi
03/08/2014, 18h10
Merci pour cette première piste.

Malheureusement elle ne marche pas comme j'aimerais. J'ai le même soucis qu'avec le camera mapping. Si je met une deuxième lumière pour éclairer ma scène on s'aperçoit que la projection de l'image se fait quand même derrière mes cubes.



Non dans mon exemple, tu ne risques pas d'avoir une image derrière tes cubes! si tu regardes bien mon exemple, la texture est appliquée sur la lumière et est projetée comme le ferait un vidéoprojecteur :P comme tu l'as demandé :P.
Le problème, c'est que si tu mets une autre lumière, elle va affadir l'image comme quand on allume une lumière à côté d'un videoproj...




Je souhaite que la projection se fasse de façon "réaliste", donc si possible éviter que l'image soit projeté derrière des objets car ma caméra va bouger dans la scène et dévoilé cette projection... C'est donc surtout pour une question esthétique.

Je continue de cherche mais je ne trouve vraiment pas...

La deuxième solution que je te propose fonctionne mais elle est un peu fastidieuse:

-Tu places une lumière (avec ombres) au même endroit que ta caméra
-tu conformes sous forme de texture les ombres qu'elle génère (pour chacun de tes objets)
-puis tu soustrais ces ombres à ta texture projetée (en vert sur mon exemple).

http://i.gyazo.com/01ae89406d7c36360a4d73a2f7323c75.png


Mais si il y a plus simple, je suis preneur également :sweatdrop:

octopoulpe
03/08/2014, 19h53
Oula... Ça s'annonce pas simple :)

Je vais faire quelques tests... Mais c'est dommage que le camera mapping ne prenne pas en compte les volumes.

chetaah
13/03/2015, 10h45
J'ai peut-être des réponses vu que j'utilise régulièrement cette technique, mais avant de passer à des propositions j'ai une question:
Dans ton projet tu souhaite projeter une image ? ou une séquence d'image ?