ombres sur "FauxSol" sous android/iphone

Toutes les questions sur le développement Mobile, y compris la partie script.
Skip_3D
Messages : 17
Inscription : 01 Oct 2012 18:23

ombres sur "FauxSol" sous android/iphone

Message par Skip_3D » 14 Jan 2013 20:02

bonjour a tous et meilleurs voeux 2013.

Je developpe actuellement sous Unity 4.0 une appli de réalité augmentée (RA) qui tracke un objet posé sur une table.
un personnage apparait alors a coté de cet objet.
J'aimerais que ce personnage produise une ombre portée sur la table ou est posé l'objet.
En 3D, je ferais un plan , "faux sol" du personnage, qui recevrait les ombres du personnage et dont le shader rendrait le sol transparent là ou il n y a pas d'ombre.
en faisant coincider ce "faux sol" avec le plan de la table,j'aurait alors l'impression que l'ombre est sur la table.

Existe t il , quelque-part a telecharger, un shader pour unity qui permette, en le placant sur un plan, de faire ce "faux sol" et donc, de simuler l'ombre portée d'un objet virtuel dans l'environnement réel capté par la camera du device android,ici, par exemple, une table.

Merci pour vos réponses eclairées. :geek: :?: :?: :?:

Avatar de l’utilisateur
cayou66
Codeur
Codeur
Messages : 6450
Inscription : 30 Juin 2011 14:45
Localisation : Montréal

Re: ombres sur "FauxSol" sous android/iphone

Message par cayou66 » 14 Jan 2013 20:13

Hello,
Unity 4 permet maintenant de faire des ombres dynamiques sur mobile, tu peux donc placer un plane au niveau du sol (y = 0) d'une grande taille, et de mettre une lumière directionnelle vers le bas, et tes objets feront de l'ombre au sol.
Si c'est trop lourd (y'a de grandes chances avec la RA), tu peux tout simplement créer un script ( :mrgreen: ) qui déplace un plane sous un objet, qui ne prend donc que les coordonnées x et z d'un objet et qui garde le y en 0.
Par contre, si ton objet "bouge" l'ombre qui elle ne bouge pas sera un peu cheap.

Pour avoir utilisé cette dernière méthode pour un jeu en RA, ça marche plutôt bien et ça apporte un bel effet de réalisme, ça enlève la sensation que les objets flottent dans le vide.

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: ombres sur "FauxSol" sous android/iphone

Message par djulio74 » 14 Jan 2013 20:50

et il faudrais alors faire un shader pour le plan qui aurais pour texture diffuse l'image filmé (image dans laquelle on incruste un l'objet en question) et projetée en suivant la direction de la camera? nan?

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

Avatar de l’utilisateur
cayou66
Codeur
Codeur
Messages : 6450
Inscription : 30 Juin 2011 14:45
Localisation : Montréal

Re: ombres sur "FauxSol" sous android/iphone

Message par cayou66 » 14 Jan 2013 22:00

Ah, non, j'utilisais un simple shader transparent basique.
On avait pré rendu les ombres, mon script rajoutait un petit truc, il changeait de taille selon la hauteur de l'objet (plus haut = plus gros).
Rien de bien compliqué, mais ça marchait très bien.

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: ombres sur "FauxSol" sous android/iphone

Message par djulio74 » 14 Jan 2013 23:58

Ah ok, oui comme ça avec une ombre pré-calculée pas de soucis. Mais si l'objet en question bouge genre personnage qui marche, ça la fait moins. L'idée de la vidéo projetée sur le plan en tant que texture c'était pour une ombre dynamique. Avec la texture projetée, le
Plan se fond dans la vidéo, et seule l'ombre est visible. Par contre je ne saurait expliquer comment faire sous Unity3D, mais déjà fait sous 3de max pour des rendu d'incrustations.

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

Avatar de l’utilisateur
cayou66
Codeur
Codeur
Messages : 6450
Inscription : 30 Juin 2011 14:45
Localisation : Montréal

Re: ombres sur "FauxSol" sous android/iphone

Message par cayou66 » 15 Jan 2013 00:39

djulio74 a écrit :Ah ok, oui comme ça avec une ombre pré-calculée pas de soucis. Mais si l'objet en question bouge genre personnage qui marche, ça la fait moins. L'idée de la vidéo projetée sur le plan en tant que texture c'était pour une ombre dynamique. Avec la texture projetée, le
Plan se fond dans la vidéo, et seule l'ombre est visible. Par contre je ne saurait expliquer comment faire sous Unity3D, mais déjà fait sous 3de max pour des rendu d'incrustations.
Si tu veux utiliser une caméra pour filmer l'objet et l'afficher dans une texture, il te faudra Unity pro, et ça s'appelle une RenderTexture.
Sinon, les ombres dynamiques, mais encore là, Unity pro.

Pas de bol hein :D

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: ombres sur "FauxSol" sous android/iphone

Message par djulio74 » 15 Jan 2013 00:56

Nan mais il parle de réalité augmenté. Donc il film avec web cam, camera, apn du téléphone ou autre... C'est cette image que je parle de projeter sur le plan. Je connais le rendertotexture.. Après je sais pas si il a la version pro ou pas, c'est juste une piste, une idée. Que je trouve pas mauvaise cela dit. ;-) mais il est vrais qu'il faille la version pro.. :/

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

Skip_3D
Messages : 17
Inscription : 01 Oct 2012 18:23

Re: ombres sur "FauxSol" sous android/iphone

Message par Skip_3D » 24 Jan 2013 15:40

merci pour vos rapides réponses et désolé pour mon retard a repondre mais les prod en cours me bouffent beaucoup de temps...
j'utilise la version pro,donc j'ai acces aux ombres dynamiques ( meme sous android ).
l'idée de djulio74 me semble une alternative interessante mais le probleme devient alors celui-ci : comment projeter, dans unity, une image sur un plan selon les UV de la camera ( faire du camera mapping comme on dit en 3D ) ????
mon idée de base me parrait plus simple a mettre en oeuvre: "simplement" ecrire un shader qui envoie la luminance de l'ombre portée vers l'alpha du diffuse du material du plan sol ( grossomodo )
cette technique marche tres bien en 3D calculée ( je l'utilise tres souvent grace a des combinaisons de shaders adequat sous mental-ray ) mais je ne sais pas ecrire de shader en CGunity qui reprendrais ce principe là ...
quelqu'un peut il m'aider à écrire un tel shader...

Répondre

Revenir vers « Développement plateformes mobile Iphone et Android »