Michael, thats what the code I pointed him to does, but if I am understanding correctly, he wants the face to be a quad and not a triangle. Like I mentioned, lite does this automatically when possible, but I don't know how to do it in 2.x/3.x. I'm guessing there's some way to determine the 4th vertex that makes a quad from a 3 vertex face with the Mesh.vertices collection in conjunction with the face index, but I'm just guessing.
On Jun 29, 4:30 am, Michael Iv <[email protected]> wrote: > I don't have the a ready code but you should do it this way: > Each face has 3 vertices.Each vertex has a position vector number3D.You take > these 3 vertices positions and find their average so that to have the new > position in the middle of the face.Now you want the cube to be at some > distance from the face.Here comes the magnitude=length of the vectors. > Multiply each component of the average position vector by some factor that > you should figure out for yourself for needed distance.Or use > Number3D.scale() function that does just the same.And you will have you > object at a distance opposite the wanted face. Normals approach is the same > but you dont need to calc vertices average or something like that as normal > is already positioned in the middle of the face and is Number3D by itself. > Hope it helps > Cheers > > > > > > On Tue, Jun 29, 2010 at 11:11 AM, Fred <[email protected]> wrote: > > because i'm not able to do it ;-) > > > i'm a little bit confused with normals, can you leave me an example to > > show me the way ? > > > thanks. > > > On 29 juin, 00:07, Michael Iv <[email protected]> wrote: > > > Why don't you use face normals or face vertices to calc the coords. > > > Then use vector scalar multiplication in order to position you object > > > some distance from the given face > > > > Sent from my iPhone > > > > On Jun 28, 2010, at 11:34 PM, savagelook > > > > <[email protected]> wrote: > > > > honestly, im not sure how to do that in away3d. away3dlite on the > > > > other hand draws quads when possible and its really easy. Maybe > > > > someone else with deeper knowledge of how the primitives are drawn can > > > > help. > > > > > On Jun 28, 3:58 pm, Fred <[email protected]> wrote: > > > >> ok, thanks for the demo ! > > > > >> but i need to create a cube that equals to 2 triangles, so i need to > > > >> know which are the two triangles for creating a corresponding cube in > > > >> front of this 2 triangles ? > > > > >> On 28 juin, 19:12, savagelook <[email protected]> wrote: > > > > >>> Here's an excerpt from some code I did that picks faces on an > > > >>> object: > > > > >>> private function onMouseDown(event:MouseEvent3D):void { > > > >>> var sphere:Sphere = event.target as Sphere; > > > >>> if (event.drawpri is DrawTriangle) { > > > >>> var face:Face = (event.drawpri as > > > >>> DrawTriangle).faceVO.face as Face; > > > >>> /* Your code using the face */ > > > >>> } > > > > >>> } > > > > >>> Once you have the face object from your click event, you can use its > > > >>> attributes to determine the size and location of the cube you want > > > >>> to > > > >>> create. You'll likely want to position and align your cube along > > > >>> the > > > >>> normal of the selected face. > > > > >>> You can see the full code here:http://savagelook.com/demos/ > > > >>> face_picking/sandbox.html > > > >>> (right click on the view to view source) > > > > >>> On Jun 28, 12:47 pm, Fred <[email protected]> wrote: > > > > >>>> Hi, > > > > >>>> I'm trying to create an app where the user can add a cube after > > > >>>> cliking on an object. > > > >>>> (This object is coming from a 3ds model, it's a cube but i need it > > > >>>> comes from 3ds.) > > > > >>>> Today, i can detect the click on an object and create the cube at > > > >>>> the > > > >>>> point clicked (using the mouse3dEvent infos). > > > > >>>> But now i need to create a cube with the same size than the face > > > >>>> clicked and i don't find a simple way to do it . > > > > >>>> Any help is welcome ! > > > > >>>> thanks. > > > >>>> Fred > > -- > Michael Ivanov ,Programmer > Neurotech Solutions Ltd. > Flex|Air > |3D|Unity|www.neurotechresearch.comhttp://blog.alladvanced.nethttp://www.meetup.com/GO3D-Games-Opensource-3D/ > Tel:054-4962254 > [email protected] > [email protected]
