Flash, Papervision3D

febrero 2010

Posicionar vértices en Papervision3D

Los elementos 3D (planos, esferas, modelos 3d, etc) están compuestos de triángulos.

Por ejemplo, si creamos un plano en Papervision3D con un WireframeMaterial con la siguiente sintaxis:

 

obtenemos un resultado parecido a este:

vertex papervision3d

Los vértices de un objeto están almacenados en un Array (vertex) dentro de la propiedad geometry del objeto. Por ejemplo, en el caso de nuestro plano podemos recorrer los vértices con este bucle:

 

Los números que he colocado sobre la imagen anterior, indican el orden en el que aparecen los vértices en esta matriz. Podemos observar que un plano por n x m segmentos, tiene (n+1) x (m+1) vértices.

En nuestro caso, el plano de 4×3 segmentos, tiene 5×4 vértices, ordenados de abajo arriba y de izquierda a derecha.

Estos vértices tienen unas coordenadas, que dan a la malla la apariencia de plano, y se pueden modificar. Por ejemplo imaginemos que queremos hacer un carrusel circular compuesto por 8 planos.

Podemos crear los 8 planos, y distribuirlos en el círculo mirando al centro, con lo que obtendríamos algo asi (click en la imagen para ver):

vertex papervision planes

El efecto es resulton, pero si nos fijamos, los planos aparecen rígidos y no se adaptan a la forma del círculo. Para solucionarlo, podemos posicionar los vértices de los planos en el círculo, en lugar de los propios planos, con lo que obtendríamos algo asi (click en la imagen para ver):

vertex plane papervision3d

Aunque en principio puede parecer muy complejo «posicionar vértices», en realidad haciendo un par de ejemplos se entiende perfectamente, y en algunos proyectos puede mejorar mucho los resultados. Dejo los fuentes comentados, para poder probar las dos opciones y ver las diferencias.

 

Y los archivos fuente:

Descargar fuentes