Faces (triángulos 3d) en Papervision3D
Además de acceder a los vértices de un objeto en 3D, podemos acceder a los triángulos (caras) formados por estos vértices.
La matriz que contiene todos los triángulos de una figura se encuentra dentro de la propiedad geometry.faces del objeto.
Por ejemplo para recorrer todas las caras de un plano y poner a cada una un color aleatorio, podemos hacer:
1 2 3 |
for (var i:uint = 0; i < plane.geometry.faces.length; i++ ) { plane.geometry.faces[i].material = new ColorMaterial(Math.random() * 0xffffff); } |
bteniendo algo parecido a esto:
Un par de detalles útiles a la hora de trabajar con las caras en Papervision son:
-cada cara tiene un id (propiedad id)numérico único. Este id nos puede valer por ejemplo para asociar en una matriz cada cara a un material.
-Si añadimos un evento de ratón a un objeto, el evento InteractiveScene3DEvent que se propaga tiene una propiedad face3d, que hace referencia a la cara que ha recibido el evento (por ejemplo un click)