klikissy
Oct 30 2008, 12:01 PM
Bonjour à tous,
Je réalise actuellement un menu 3D.
Mon travail à bien avancé mais j'aimerais poser une lumière est des ombres sur les planes de mon menu.
J'y arrive pas du tout et la doc la dessus est plus que light.
Alors si l'un d'entre vous à une idée sur la methode à suivre je suis prenneur.
Merci d'avance!!!
(je laisse ma source au cas ou vous voulez tester - même réutiliser à la limite moyennant un remerciement bien sur)
verpan
Nov 2 2008, 11:41 AM
Appliquer des ombres est un calcul similaire à une routine de clipping.
Je te résume en gros ( à toi d'aller chercher les calculs )
pour projeter un polygone:
- on calcule le frustum de projection du polygone projeté (comme pour le rectangle de camera)
- on clippe les polygones recepteurs par le frustum
et tu obtiens ainsi les polygones de l'ombre.
Il y'a ensuite plein de techniques pour optimiser ces calculs.
Pour projeter un objet complexe, on projette seulement un rectangle, à l'intérieur duquel l'ombre de l'objet a été pré rendue
klikissy
Nov 3 2008, 08:47 AM
Merci verpan,
mais en fait comment procéder en utilisant les fonctionnalités de pepervision 3D???
Les classes et methodes d'ombrage héxistent, mais je ne sais pas comment les appliquer surtout que mes objets de menu sont deja conçus....
Je reste à l'écoute.
En tout cas merci.
elpatator
Nov 3 2008, 01:15 PM
Je dois avouer etre curieux de savoir comment, dans la pratique cela est fait (les tutos, exemples concrets sont toujours appréciés).
Logic
Nov 3 2008, 06:37 PM
Si Papervision est capable de gérer des ombres correctement sans faire tout ramer avec plus de 100 polygones, j'arrête le Flash
Logic
Nov 3 2008, 06:40 PM
Petite précision, ne pas confondre ombrage (modèle d'illumination, style phong ou gouraud) et ombre portée (décrit par Verpan). Les ombres portées sont trop gourmandes en ressources pour le Flash à ce jour.
klikissy
Nov 6 2008, 09:24 AM
Savez quoi je viens de tester le CS4 avec les modèles 3d et l'application d'un filtre d'ombrage...
J'ai envie de pleurer c'est d'une simplicité enfantine. Mais bon je garde mon menu en paper je lancerais la version cs4 si j'ai le temps.
Sinon j'ai vu des annim similaires à la mienne sur le fwa dans des sites japonnais. Perso avec plus de 30 planes ça rame à mort. Apparemment eux pas du tout, je me demande bien quelle librairie 3d ils utilisent...
verpan
Nov 6 2008, 02:10 PM
Les ombres portées sont gourmandes en cpu - ceci dit, pas plus qu'un clipping de polygone comme le fait sandy3d, puisqu'il ne s'agit que de ça - mais ça s'optimise: limiter les polygones projetés, broad phase avec scene graph, etc... quoiqu'il en soit en flash 3d il faut tout optimiser car c'est émulé donc lent.
Logic
Nov 6 2008, 07:11 PM
Je ne suis pas expert en ombres portées. Mais bon tu vas vite en raccourcis. Juste un clipping...
Juste un clipping... oui mais entre chaque objets 2 à 2, plus l'application des textures d'ombre sur chaque polygone...
Logic
Nov 6 2008, 07:14 PM
Citation (klikissy @ Nov 6 2008, 10:24 AM)

l'application d'un filtre d'ombrage...
C'est quoi un filtre d'ombrage ? Genre un dropShadow ?
klikissy
Nov 13 2008, 10:30 AM
Citation (Logic @ Nov 6 2008, 08:14 PM)

C'est quoi un filtre d'ombrage ? Genre un dropShadow ?
à non à non mon cher logic, une simple ombre portée... comme sur un clip classique...
Enfin je me suis pas trop penché dessus, mais disons qu'au premier abord c'est plutôt propre. Attention j'ai pas testé le comportement de l'ombre.
Ceci dit je ferais un petit up au moment de bosser avec, histoire de...
Merci en tout cas
L°TH
Nov 25 2008, 10:09 AM
j'utilise la méthode de zupko
tu place une nouvelle camera sur ta lumière en direction de ton objet
tu crée un bitmapViewport de cette nouvelle camera et tu l'applique sur ton plan
avec différant filtre t'arrive a faire une ombre crédible
Logic
Nov 26 2008, 08:41 AM
Technique astucieuse mais qui doit pomper du CPU un truc de fou
L°TH
Nov 26 2008, 10:13 AM
Logic
Nov 26 2008, 10:30 AM
C'est cool !

Donc là, la texture appliqué au plan est directement la sortie du rendu de la 2nde caméra. Mais si ton plan est déjà texturé ? Quelque chose me dit que ça va compliquer un peu l'affaire

Et as-tu exclu le rendu du plan depuis la 2nde caméra ? Il me semble que si tu n'exclus pas, tu devrais te retrouver avec des résultats bizarres...
Quel filtre tu utilises pour noircir l'ombre ? Je pense qu'on peut trouver mieux...
L°TH
Nov 26 2008, 11:15 AM
c'est un plan spécial que dans le rendu final
il n'existe pas dans le rendu ombre
zupko change a chaque pass sa texture en ColorMaterial(0x000000,0)pour le perso
mais ici y a pas de changement
avec le filtre substract sur le plan
on peu y mettre un blur mais la ça rame
Logic
Nov 26 2008, 11:31 AM
OK, et j'imagine que tu peux moduler la consommation de CPU en prenant un bitmapData plus ou moins grand comme sortie de rendu et texture pour le plan (qui doivent coïncider si on reste cohérent).
Ce qui pourrait être intéressant ce serait de configurer (voir programmer) un rendu le plus cheap possible (et donc moins gourmand) pour ce genre de caméra secondaire. Passer en ColorMaterial est un premier pas. Laisser tomber le tri des faces en est un second

Quoi d'autre ?
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez
cliquer ici.