Thanks for your help Fabrice.

I tried the Explode option but it wouldn't allow me to change the
individual materials at various stages (not that you would know this
was required as I never mentioned it).

I went back to my previous method and fixed it by setting faceMaterial
to null.

Thanks again

Jim

On Jan 17, 9:02 pm, Fabrice3D <[email protected]> wrote:
> Again, you can use the Explode class not only as generator of new meshes like 
> in previous mail, but also it ensures that each face is not sharing any 
> vertex with
> another face. Just ignore the "unique mesh" boolean.
> in short: you have all you need after you have use Explode with plane.faces 
> array
> you can animate, alter as with multiple meshes, except here you just need 
> keep track of the indexes.
>
> Fabrice
>
> On Jan 17, 2010, at 8:40 PM, jimalliban wrote:
>
> > Thanks Fabrice. I'll certainly give that a go if all else fails.
> > Everything is currently in place to work with my system and scrapping
> > that would mean more or less starting again.
>
> > I basically need to have full control over all the triangles in a
> > plane. This includes altering the vertices and individual materials.
>
> > These additional triangles seem as though they are the result of a bug
> > in the Away framework. Can't seem t get rid of them.
>
> > On Jan 17, 7:05 pm, Fabrice3D <[email protected]> wrote:
> >> dunno what you want to achieved exactly, but if you want all triangles to 
> >> be independant,
> >> you can do this in 3 or 4 lines of code...
>
> >> step 1: var p:Plane = new Plane
> >> step2: Explode(p, boolean as unique mesh);
>
> >> done :)
>
> >> nice to note here, that it works on any Mesh object, not just planes...
>
> >> Fabrice
>
> >> On Jan 17, 2010, at 4:46 AM, jimalliban wrote:
>
> >>> Hi All
>
> >>> I'm trying to make a grid of triangles to produce a plane that can be
> >>> broken apart for an Augmented reality project. Each triangle needs to
> >>> be double sided, but setting bothsides to true results in 2 triangles.
> >>> One is the proper triangle in the correct place with the UV mapping.
> >>> The other has all the default properties - 0, 0, 0, random
> >>> ColorMaterial, 100 * 100 etc etc. Have a look at this image to see
> >>> what I mean
>
> >>>http://augmatic.co.uk/store/triangles.png
>
> >>> It's not finished yet but here is the method:
>
> >>>                private function buildTriangleGrid():void
> >>>            {
> >>>                    _triangles = new Vector.<Triangle>();
>
> >>>                    var camelBmd:Camels = new Camels(0, 0);
> >>>                    var camelMat:BitmapMaterial = new 
> >>> BitmapMaterial(camelBmd);
>
> >>>                    var gridWidth:int = _segW * _triangleSize;
> >>>                    var griHeight:int = _segH * _triangleSize;
>
> >>>                    var a:Vertex;
> >>>                        var b:Vertex;
> >>>                        var c:Vertex;
> >>>                        var d:Vertex;
>
> >>>                        var uva:UV;
> >>>                        var uvb:UV;
> >>>                        var uvc:UV;
> >>>                        var uvd:UV;
>
> >>>                    var i:int;
> >>>                    var j:int;
> >>>                    for (i = _segH; i >  0; i--)
> >>>                    {
>
> >>>                            for (j = 0; j < _segW * 2; j++)
> >>>                            {
> >>>                                    var triangle:Triangle = new Triangle();
> >>>                                    triangle.bothsides = true;
>
> >>>                                    if (j % 2 == 0)
> >>>                                    {
> >>>                                            /*
> >>>                                            0 __ 1
> >>>                                             \      |
> >>>                                               \    |
> >>>                                                 \  |
> >>>                                               \2
> >>>                                            */
>
> >>>                                            var halfJ:int = j * 0.5;
>
> >>>                                            triangle.vertices[0] = new 
> >>> Vertex(halfJ * _triangleSize -
> >>> (gridWidth * 0.5),
> >>>                                                                           
> >>>                                          i * _triangleSize,
> >>>                                                                           
> >>>                                          0);
> >>>                                            triangle.vertices[1] = new 
> >>> Vertex((halfJ + 1) * _triangleSize -
> >>> (gridWidth * 0.5),
> >>>                                                                           
> >>>                                          i * _triangleSize,
> >>>                                                                           
> >>>                                          0);
> >>>                                            triangle.vertices[2] = new 
> >>> Vertex((halfJ + 1) * _triangleSize -
> >>> (gridWidth * 0.5),
> >>>                                                                           
> >>>                                          (i - 1) * _triangleSize,
> >>>                                                                           
> >>>                                          0);
>
> >>>                                            a = triangle.vertices[0];
> >>>                                                    b = 
> >>> triangle.vertices[1];
> >>>                                            c = triangle.vertices[2];
> >>>                                            d = new Vertex(0, (i - 1) *
> >>> _triangleSize, 0);
>
> >>>                                           uva = new UV(0, 1);
> >>>                                           uvb = new UV(1, 1);
> >>>                                           uvc = new UV(1, 0);
> >>>                                           uvd = new UV(0, 0);
> >>>                                    }
> >>>                                    else
> >>>                                    {
>
> >>>                                            /*
> >>>                                            0
> >>>                                            | \
> >>>                                            |   \
> >>>                                            |         \
> >>>                                            1 ____2
> >>>                                            */
>
> >>>                                    }
> >>>                                    triangle.addFace(new Face(a, b, c, 
> >>> camelMat, uva, uvb, uvc));
> >>>                                    _triangles.push(triangle);
> >>>                                    addChild(triangle);
> >>>                            }
> >>>                    }
> >>>            }
>
> >>> Hope someone can help
>
> >>> Cheers
>
> >>> Jim

Reply via email to