Feb 13

Distort a mesh is very easy if you just move its vertices (do3d.geometry.vertices). In this example I move them with Tweener.
I placed an sphere in each vertice to highlight the effect. I use the same method to move each vertice and each sphere.
Drag and mouse wheel to move the cam.

Get Adobe Flash player

Source code
Sample

Get Adobe Flash player

Source code
Sample

Feb 09

I´ve been fighting with Augmented Reality this weekend and at the end I was able to make a example work, so I want to show you. This post is the first of a serie where I´ll be explaining and discussing about the different aspects of this topic from a Flash perspective. I hope you like this litle exercise.

http://www.vimeo.com/3134152
Jan 27

Los dias 6, 7 y 8 de Abril de 2009 Carlos Ulloa impartirá un curso avanzado intensivo en Londes para progamadores con experiencia previa en ActionScript y Papervision3D.
Según nos comenta Carlos en Espapervision3D:

“Este es un curso que tenia ganas
de hacer desde hace tiempo, dirigido a gente que ya sabe para asi
poder meternos en cosas realmente interesantes”

Las plazas son limitadas (20 en total). Por lo que si estás pensando en ir ya sabes…

Jan 25

Acabo de ver la charla en diferido (Adobe connect) de Ralph Hauwert como pre-entrevista de lo que será el FITC (Flash in the Can) de Amsterdam 2009. Pero lo que  más se ha comentado es sobre Papervision3D X,  la futura versión de este motor 3D. Los asistentes han hecho muchas preguntas de interés general como por ejemplo, si la nueva versión utilizará las mejoras de la nueva API de flash player 10, cuáles son las mejoras de rendimiento respecto a la versión 2.0, opiniones sobre el impacto de Unity3D en el mercado, etc, etc… Todas contestadas por Ralph. Ha sido muy esclarecedor. Os podría contar muchas cosas más, pero mejor que lo veáis vosotros mismos:

https://admin.na3.acrobat.com/_a204547676/p87587214/

Jan 14

Hace unos días se dió a conocer este motor de física para entornos 3D con Flash, orginalmente pensado para Papervision3D, pero que rápido la comunidad ha portado a Sandy 3D engine y Away3D.
En realidad esta librería es una traducción a ActionScript de la libería original escrita en C++.
Los que conozcan WoW engine , Bolt3D y sus limitaciones creo que verán la luz al ver los ejemplos de esta nueva librería. Por los ejemplos que he visto y las clases del proyecto, creo que será bastante sencillo su uso. Os paso unos enlances con ejemplos, casi todos son lo mismo, pero desde diferentes engines. Ahora los suyo sería que hagamos nuestras propias pruebas un poquito más originales.
Yo de momento solo he intentado llegar a ver qué rendimiento puede alcanzar con muchos elementos en pantalla. Para eso hice esta prueba en la que puedes ir agregando “cuerpos” con la tecla enter. Al pasar de 20 la cosa empieza a ir muy lenta. Pero este japo con el away3D, como se ve, le rinde muchísimo más. Habrá que hacer más pruebas

Home del proyecto

Ejemplo con Away3D 1

Ejemplo con Away3D 2
Ejemplo con Away3D 3
Ejemplo con Sandy3D
Ejemplo con Papervision3D 1
Ejemplo con Papervision3D 2 (una prueba mía)
Ejemplo con Papervision3D 3 (del autor)
Ejemplo con Papervision3D 4 (del autor)

Podéis descargar el código fuente del proyecto mediante un cliente de subversion desde este link:
http://jiglibflash.googlecode.com/svn/trunk/
Según afirma uno de sus autores, el proyecto acaba de empezar y todavía está en una fase muy temprana, por lo cuál todavía está lejos de quedar terminado.

Jan 07

Os presento la nueva lista que hemos creado. Se llama ESPapervision3D, y como su nombre indica es una lista pensada para la comunidad de habla hispana. Ya que los recursos en nuestro idioma son bastante escasos, creemos que esta lista podrá servir de mucha ayuda, y la vemos como un reto para aprender y profundizar sobre esta tecnología.
De momento no tiene tráfico, ya que está nuevecita, pero esperamos que crezca poco a poco.

Jul 21

Acabo de hacer una prueba con esta clase y me ha parecido de lo más útil. Hace poco hice una clase similar por no saber que existía (creo que por entonces no existía). Es una cámara que usamos en lugar de “Camera3D”, que nos da total control sobre ella, mediante movimientos de ratón (pinchar y arrastrar) y mediante el teclado.

Me parece idónea para movernos por la escena y explorarla desde todas las vistas posibles cuando estamos desarrollando con Papervision3D. Además podemos explorar en tiempo real, propiedades muy importantes como “fov”, “near plane” y “far plane” para el manejo del frustum culling (la explicación de todo esto vendrá en nuevo post), lo que nos evitará tener que cambiar y probar con numeritos “mágicos” tropecientas veces hasta que los objetos se vean como queremos.

La clase se encuentra en el mismo package de las cámaras (org.papervision3d.cameras).
Si no la encuentras hazle un “update” a tu repositorio, que lo más seguro es que tengas una versión desactualizada.

Aquí va una prueba sencilla de lo que estoy contando: Continue reading »

Jul 16

Basándonos en el ejemplo anterior de cómo crear una aplicación mediante el “BasicView”, vamos a utilizar todas las primitivas de Papervision3D (package objects.primitives).

De momento usaremos solamente un material, el WireframeMaterial, ya que el uso de materiales se detallará debídamente en otro post.

Aunque no es una primitiva tambien usaremos la clase UCS (objects.special), que no es sino un eje de coordenadas 3D visibles formadas por líneas (core.geom.Lines3D), que nos pueden ser muy útiles en algunos casos.

También aprovecho para implementar un movimiento de cámara con tweenings, de una primitiva a otra, y una navegación mediante botones fuera de la escena de Papervision, que servirán para navegar. Los botones son de la clase “ItemButton”, de los cuáles podéis ver la referencia en este post, aunque lógicamente sirve cualquiera. Continue reading »

Jul 15

Como bién dice en la documentación de Papervision3D (traduzco), el BasicView es una clase que nos brinda una plantilla para configurar rápidamente un proyecto de Papervision, creando automáticamente un viewport, escena, cámara y renderer (bucle de renderización). Como BasicView es una subclase de Sprite, la podemos añadir a cualquier DisplayObject.

En resumen: te facilita la vida para proyectos sencillos, evitando instanciar y declarar unas cuantas cosas.
La clase la podéis encontrar dentro del package “view” de Papervision3D Great White.

Veamos el mismo ejemplo del post “Papervision3D y Flex Builder: Primeros pasos“, pero ahora usando la clase “BasicView”. He quitado todos los comentarios que no vienen al caso para centrarnos en lo importante: Continue reading »

May 25

Este es el primer post sobre la tecnología 3D con flash llamada Papervision3D. Ya que estoy empezando con ello, iré posteando referencias sobre las pruebas que haga. Hay muchos tutoriales por ahí con los que empezar, pero creo que otro punto de vista nunca viene mal, y sobretodo si está en español (la mayoría no lo son)

Nota: Este artículo parte de cero en cuanto a que no solo explica el comienzo de un proyecto con papervision, sino también a cómo usar un cliente de subversion para actualizar y/o descargar el uso de código de terceras partes, la configuración de un proyecto en Flex Builder y conceptos básicos con los que empezamos a lidiar cuando damos el salto desde Flash a otro modo de desarrollar ActionScript Continue reading »