
Etiquetas: viewport buttonMode
Cuando tenemos un elemento clicable en Papervision3d, al hacer roll over y roll out sobre el elemento, no sale el handCursor (la "manita") por defecto. Para activarlo, tenemos que activar/desactivar la propiedad buttonMode del viewPort cuando hagamos over y out sobre el elemento. En resumen, al hacer over sobre un elemento, hacemos:
viewport.buttonMode=true;
y al hacer out en un elemento:
viewport.buttonMode=false;

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:
contenedor = new DisplayObject3D();
var planoA = new Plane(new MovieAssetMaterial("CaraA"), 400, 400, 4, 4);
var planoB = new Plane(new MovieAssetMaterial("CaraB"), 400, 400, 4, 4);
planoB.z = 1;
planoB.rotationY = -180;
contenedor.addChild(planoA);
contenedor.addChild(planoB);
escena.addChild(contenedor);

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:
mstack = new ModifierStack(new LibraryPv3d(), plano);
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:
bend = new Bend(0, 1);
mstack.addModifier(bend);
-Por último, cada vez que se haga un cambio en el modificardor, debemos aplicarlo (algo asi como ordenar que se renderice):
mstack.apply();
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:

Etiquetas: Viewport3D BasicRenderEngine interactive animated MovieAssetMaterial
En Papervision greatWhite podemos añadir eventos a los elementos 3D .
Otra opción es crear los elementos 3D a partir de MovieClips interactivos que tienen asociados eventos. Por ejemplo, tenemos un MovieClip con tres botones dentro, y creamos una esfera con ese MovieClip como material. Para que se respeten los eventos de ese clip al convertirlo en material3D, debemos configurar los siguientes parámetros:
-al crear la instancia de Viewport3D debemos especificar que es interactivo:
//los parametros son: (ancho,alto,autoEscalar,interactivo) viewport = new Viewport3D(400,400,false,true);
-al crear el material debemos especificar que es interactivo y animado:
//los parametros son: (ID de linkage,transparente,animado)var material:MovieAssetMaterial = new MovieAssetMaterial("MenuPPV",true,true);
material.interactive = true;
Tras el salto, el código completo y la demo.

Etiquetas: DAE load Viewport3D BasicRenderEngine Camera3D
Google Sketchup es uno de los programas mas sencillos de modelado 3D. Además la versión gratuita es bastante completa, y más que suficiente para hacer modelos sencillos.
Una vez hemos descargado Google Sketchup y hecho el primer modelo, tenemos que seguir los siguientes pasos:
-Exportar el modelo como Google Earth 4. Esto creará un archivo .kmz
-Renombrar el archivo .kmz a .zip.
-Descomprimir el archivo y buscar dentro el .dae y las texturas (si las hay).
Tras el salto, el 3D en movimiento y el código para cargar el modelo.

Etiquetas: InteractiveScene3DEvent BasicRenderEngine Viewport3D displayObject3D

Etiquetas: Lines3D addNewLine Line3D BasicRenderEngine Viewport3D

Etiquetas: Viewport3D BasicRenderEngine PointLight3D ViewPort3D GouraudMaterial

Etiquetas: Viewport3D BasicRenderEngine Scene3D Camera3D MovieMaterial MaterialList DisplayObject Viewport3D Vertex3D