Pregunta

Estoy haciendo un proyecto usando la realidad aumentada de Flarmanager y la biblioteca Papervision3D. Desafortunadamente, Papervision me está dando muchos problemas.

Mi escena3D contiene un modelo DAE y un avión. El avión tiene un Moviematerial y está reproduciendo un video a través de Flvplayback. El DAE y el plano están dentro del mismo contenedor DisplayObject3D. Flarmanager transforma el contenedor para que todo aparezca a través del ángulo del marcador.

Mi modelo DAE es un televisor, la pantalla del televisor es transparente. Quiero tener mi avión dentro de mi modelo DAE, de modo que la película que se reproduce en el material del avión parece ser lo que se está reproduciendo en la televisión.

El problema es que, incluso si el avión tiene un índice Z más bajo, entonces el televisor, siempre aparece frente al televisor.

¿Cómo tengo mi avión y su moviematerial aparece detrás de la televisión, de modo que el televisor se corta algunas de sus esquinas y la parte de la televisión que me permite ver la película? Si es imposible, ¿alguien tiene una idea de cómo podría obtener el efecto deseado de tener una película en la pantalla de mi modelo DAE TV?

Gracias.

¿Fue útil?

Solución

Lo pensé yo mismo. Aquí va:

Cuando tiene un modelo DAE y desea ponerlo en un Viewportlayer, debe asegurarse de recurrir a través del modelo DAE, para que todos sus niños se agregue a la capa.

Así es como lo haces:

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

Lo importante es el tercer parámetro, recurse = verdadero, esto pondrá al DAE y a todos sus hijos en la capa.

Viewport.ContainerSprite puede ser reemplazado por cualquier Padres DiscipeObject3d del modelo DAE.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top