Papervision GreatWhite: crear un plano con dos caras |
Etiquetas: Plane DisplayObject3D Viewport3D BasicRenderEngine |
|
Existen dos maneras de crear una plano con dos caras en Papervision3D: -Crear un cubo con una profundidad de 1pixel, y utilizar las caras delantera y trasera como caras del plano. -Crear un contenedor DisplayObject3D, y meter dentro dos planos. El plano "b" debe tener una profundidad de 1 y una rotatión de -180º. El segundo método es el que me parece más cómodo, ya que gestionar los materiales con un cubo es más engorroso que con un plano. Un ejemplo de plano con dos caras podrías ser: |
AS3Dmod: utilización básica con Papervision |
Etiquetas: Bend ModifierStack Phase LibraryPv3d viewport3D BasicRenderEngine Plane |
|
AS3Dmod es una libreria de modificadores para objetos 3D. Actualmente AS3Dmod dispone de 7 modificadores (doblar, deformar...) que funcionan con Papervision3D, Away3D, Sandy3D y Alternativa3D. Aunque hay muy poca documentación (sobre todo en castellano), es bastante fácil de utilizar. Los pasos para poder utilizarla son los siguientes: -Descargar AS3Dmod: -Saber utilizar alguno de los 4 motores 3D compatibles. Puedes ver tutoriales de Papervision3D y Away3D en esta misma página. -Una vez tenemos nuestra escena 3D en alguno de los motores, creamos una instancia de ModifierStack. El "modifier stack" es un link entre el objeto que queremos modificar y los modificadores:
Podemos ver como se pasan como parámetro un objeto indicando la librería que vamos a utilizar (en este caso Papervision), y el objeto que vamos a modificar (un plano). -Ahora necesitamos crear un modificador, y añadirlo a mstack. Para el ejemplo he utilizado "Bend", que recibe como parámetros la fuerza y el lugar donde se aplica:
-Por último, cada vez que se haga un cambio en el modificardor, debemos aplicarlo (algo asi como ordenar que se renderice):
Para este ejemplo he utilizado una clase de AS3Dmod que se llama Phase. Esta clase sirve para crear una animación tipo seno. Es decir, nosotros incrementamos su valor, y ella controla de que siempre esté entre -1 y 1. Es decir, si incrementamos su valor en 0.5 en cada fotograma, cuando llegue a 1 volverá sobre sus pasos hasta valer -1, y viceversa. Este es el código completo comentado: |
Away3D: Manejo de eventos de ratón para Away 2.2 |
Etiquetas: View3D addOnMouseDown MouseEvent3D object Plane |
|
Para interactuar con el ratón en objetos 3d en Away3D 2.2, tenemos que seguir 2 pasos: -Añadir el evento al objeto, utilizando la función addOnMouseDown (en este caso para detectar que hemos presionado en el objeto). A addOnMouseDown le pasamos como parámetro la función en la que se recoje el evento:
-Recoger el objeto pulsado en la función, por medio del parámetro object:
El código completo: |