Aide - Recherche - Membres - Calendrier
Version complète : [PV3D 2.0] Interactivité + Plane + Material + Png transparent
Centre de Formation Flash - Forums Adobe Flash > Rich media et intégration > Intégration 3D
cinetryx
Salut a tous,

Bon depuis quelque temps je me suis mis a pv3d et je rencontre quelques petit problèmes avec.
Je cherche actuellement a texturer des plane avec des PNG avec des zones transparentes. Le problème c'est que c'est zone sont active au Roll de la souris.


J'ai essayé deux méthodes :

au préalable je charge un ensemble de png dans des Sprite grâce a QueueLoader (au passage j'ai tester masapi qui n'a pas correctement fonctionné car n'attende pas la méthode onLoadInit de l'objet Loader (image), ce qui ma posé des soucis au moment de les récupérer après le COMPLETE de l'api , enfin bref...)

- MovieMaterial en précisant bien la transparence a true, non animé,précise a true également.

- BitmapMaterial en mettant precise a true aussi. Alors évidement, j'ai convertie le sprite container de mon image en bitmapdata avec transparent à true et fillColor à 0x00FFFFFF

pour les deux cas j'ai déjà essaye precise à false.


Est-ce que l'un de vous aurais un idée ? j'ai du rater quelque chose ...
Logic
Non mais attend... ça a toujours été comme ça en Flash. Mets un png 100% transparent dans un MovieClip et tu verras bien que ton clip réagira aux évènements sur l'intégralité de la surface du png (malgré sa transparence donc).
Logic
Tu vas me dire que j'apporte pas d'élément de réponse à ton problème... c'est vrai, je me contentais de souligner ton étonnement face à une situation qui est en fait est des plus classiques en Flash.

Bon alors, quoi faire ? A vrai dire je sais pas trop quoi te dire vu que je n'utilise pas PV3D. Faudrait voir si la librairie dispose d'une méthode pour identifier le pixel de la texture du polygone qui se trouve sous le curseur souris, pour en tester la valeur de transparence. Si c'est possible, il faudrait ensuite reconstruire un petit modèle d'évènement souris custom basé sur cette méthode.
cinetryx
icon_mrgreen.gif lol j'aurais du tourner ma question autrement désolé.
Je pensais surtout que paper gérait ce genre de chose icon_confused.gif, du coup je suis pas étonné au contraire. Donc effectivement c'est logique Logic ^^, par contre ok pour la piste de choper les pixel je vais chercher par la, j'y avais pas pensé ... avec un peu de chance ça fera l'affaire.

Merci !! icon_biggrin.gif
christalys
Bonjour,

j'ai le même type de "problème" avec PV3d.

Est-ce que Away3d serai plus adapté ?


Leonerep
away3D squizz les pixel transparents ~
{depuis le temps qu'on vous dit que pv3d, c'naze)
christalys
Citation (Leonerep @ Nov 28 2008, 03:25 PM) *
away3D squizz les pixel transparents ~
{depuis le temps qu'on vous dit que pv3d, c'naze)


J'arrive meme pas à texturer une plane sous Away3D...
Leonerep
tu n'arrives pas non plus à lire une doc ?
dans away3D on doit faire :

monMesh.material = new BitmapMaterial(monBitmapData);

http://away3d.com/livedocs/545/away3d/core/base/Mesh.html
http://away3d.com/livedocs/545/away3d/mate...apMaterial.html

effectivement c'est complexe /°O°\, c'est surtout méchament différent de papervision
ou on doit faire :

monDisplayObjet3D.material = new BitmapMaterial(monBitmapData);


http://www.papervision3d.org/docs/as3/org/...ayObject3D.html
http://www.papervision3d.org/docs/as3/org/...apMaterial.html

ha non >____>
christalys
Merci pour ton aide mais y'a pas d'équivalent BitmapAssetMaterial dans away3D ?
Leonerep
Je ne crois pas que lire la doc d'away3d pour toi soit très constructif, donc amuses toi :

http://away3d.com/livedocs/545/away3d/mate...age-detail.html
christalys
Pourquoi es-tu si désagréable ? Je découvre Away3D et j'essaye de comprendre.
Je cherche depuis hier et je ne trouve pas solution.

Dans PV3D je fais : var gegemat = new BitmapAssetMaterial("gege",true);
Dans AWAY3D je fais : var gegemat = new BitmapMaterial (gege)

1067: Contrainte implicite d'une valeur du type Class vers un type sans rapport flash.display:BitmapData.
Leonerep
ha excuse moi, je n'avais pas que l'idée que lire une doc pouvait être aussi désagréable.

BitmapAssetMaterial est une classe qui fait appel à ton image dans la library, une classe pour ceux qui utilise l'ide flash.

Citation
1067: Contrainte implicite d'une valeur du type Class vers un type sans rapport flash.display:BitmapData.

Il faut lire aussi les erreurs, cette erreur veut dire que tu utilises pas le bon type d'objet pour faire ton material, et pour cause, la classe utilise le BitmapData, comme indiquer sur la doc, et pas le Bitmap qui est la classe de ton image dans la library (ça aussi c'est dans la doc), ce sont deux type de classe différente. l'un contenant l'autre :

http://livedocs.adobe.com/flex/2/langref/f...lay/Bitmap.html
http://livedocs.adobe.com/flex/2/langref/f...BitmapData.html

Mais la, je dirais qu'il te manque quelques bases de code objet pour avancer ... désolé :/
christalys
Citation (Leonerep @ Nov 30 2008, 04:50 PM) *
ha excuse moi, je n'avais pas que l'idée que lire une doc pouvait être aussi désagréable.

BitmapAssetMaterial est une classe qui fait appel à ton image dans la library, une classe pour ceux qui utilise l'ide flash.
Il faut lire aussi les erreurs, cette erreur veut dire que tu utilises pas le bon type d'objet pour faire ton material, et pour cause, la classe utilise le BitmapData, comme indiquer sur la doc, et pas le Bitmap qui est la classe de ton image dans la library (ça aussi c'est dans la doc), ce sont deux type de classe différente. l'un contenant l'autre :

http://livedocs.adobe.com/flex/2/langref/f...lay/Bitmap.html
http://livedocs.adobe.com/flex/2/langref/f...BitmapData.html

Mais la, je dirais qu'il te manque quelques bases de code objet pour avancer ... désolé :/


TU es désagréable a prendre les gens de si haut.
Je débute, j'essaye de comprendre, j'ai lu la DOC, j'ai vu que j'utilise la mauvaise class mais je ne trouve pas l'équivalent de mon BitmapAssetMaterial dans Away3D.
Leonerep
Te prendre de haut ? si tel était le cas je t'aurais raccompagné à la garderie avec les 2 lignes de codes que tu cherches depuis hier, mais comme j'estime un minimum les gens, et que je pense qu'il sont capables d'être un peu mieux que des singes savant recopiant bêtement du code, et d'apprendre des choses, je ne le fait pas.

Lire la doc est vrai à tout les niveaux, et plutôt que de te plaindre tu devrais interroger sur les parties que tu ne comprend pas.

Citation
mais je ne trouve pas l'équivalent de mon BitmapAssetMaterial dans Away3D.

Tu peut toujours chercher elle n'existe pas, et d'ailleurs pourquoi diable veut tu qu'elle existe ? La classe BitmapAssetMaterial dans papervision est une classe pour simplifier la vie des gens qui pige pas grand chose au code. En regardant un peu on s'aperçoit que BitmapAssetMaterial est une classe étendu de la vrai classe qui fait le boulot, c'est à dire BitmapMaterial, mais qui va faire un petit boulot à la place du "codeur".

Je méprise ce genre de classe qui fait beaucoup de mal a l'apprentissage des gens, la preuve, du coup tu ne sait toujours pas utilisé ta library et tu connait pas les classes essentielles. Les éléments de ta library sont considérés comme des classes, Pour afficher une image avec les paramètres adéquat s'apellant "Gege" il faut faire :

Code
va bmp:Gege = new Gege();
addChild(Gege);


Comme je l'ai dit plus haut les image de ta library sont assimilé a des Bitmap dont j'ai fournis la documentation (je t'ai quand même bien mâché le boulot).
BitmapMaterial d'Away comme de paperVision utilise pour se créer la classe BitmapData, celle ci est contenu dans la classe Bitmap, ce que j'ai déjà dit plus haut également.

Tu as tout les éléments en main pour pouvoir résoudre ton problème. Je ne le ferais pas à ta place, cela dit, je peut toujours t'éclairer sur les chose que tu ne comprend pas.
christalys
Ok je comprends un peu mieux.
Je jette un coup d'oeil, merci pour ton aide
christalys
Leonerep merci gourou.gif

Je m'en suis sorti. Je prend petit un à petit away3d en main. Il y'a quelque différence avec PP3D mais ca devrait aller.

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.
Invision Power Board © 2001-2009 Invision Power Services, Inc.