2010-04-30 2 views
0

Je réalise un projet en utilisant la réalité augmentée FLARManager et la bibliothèque Papervision3D. Malheureusement, Papervision me pose beaucoup de problèmes.Mise en place d'un MovieMaterial derrière un modèle DAE dans Papervision3D

Ma scène3D contient un modèle DAE et un plan. L'avion a un MovieMaterial et joue une vidéo via FLVPlayback. Le DAE et le plan sont tous les deux dans le même conteneur DisplayObject3D. FLARManager transforme le conteneur pour que tout apparaisse à travers l'angle du marqueur.

Mon modèle DAE est un téléviseur, l'écran du téléviseur est transparent. Je veux avoir mon avion à l'intérieur de mon modèle DAE, de sorte que le film diffusé sur le matériel de l'avion semble être ce qui est en train de jouer sur le téléviseur.

Le problème est que, même si l'avion a un index Z plus bas que le téléviseur, il apparaît toujours devant le téléviseur. Comment mon avion et son MovieMaterial apparaissent-ils derrière le téléviseur, de sorte que certains de ses coins sont découpés par le téléviseur et la partie du téléviseur qui est transparente me laisse voir le film? Si c'est impossible, tout le monde a une idée de comment je pourrais obtenir l'effet désiré d'avoir un film sur l'écran de mon modèle de télévision DAE?

Merci.

Répondre

0

Je l'ai inventé moi-même. Lorsque vous avez un modèle DAE et que vous voulez le placer sur ViewportLayer, vous devez vous assurer de parcourir le modèle DAE de sorte que tous ses enfants soient ajoutés à la couche.

c'est comment vous le faites:

var daeViewportLayer:ViewportLayer = viewport.containerSprite.getChildLayer(aDae, true, true); 

Ce qui est important est le troisième paramètre, recurse = true, cela mettra le DAE et tous ses enfants sur la couche. Viewport.containerSprite peut être remplacé par n'importe quel parent DisplayObject3D du modèle DAE.

Questions connexes