I believe the problem is with the lookAt's upAxis. lookAt first points
the z axis at the target and then tries to align a local up axis with
the scene's Y_AXIS. So, as your faces move they keep adjusting to
match their up axes with the scene's Y_AXIS.

Unless you want to use parenting, the only way I know to fix this is
to use an "up object" to aim the up axis at after the lookAt has been
done. I have a test of an up object with a link to the code here:
http://moosemouse.com/up-object-test.html

I have been using this for something quite different so it may not
immediately make sense to your project. But I *think* this is one way
to fix your problem. It is late so I am calling it a night, but let me
know if you would like further clarification.

Best,
Shawn



On Jun 24, 8:08 pm, savagelook <[email protected]> wrote:
> http://www.savagelook.com/demos/normals_align/sandbox.html
>
> I started on the alignment but I had a problem.  For some reason the
> planes keep rotating along the normals even after adding the lookAt()
> call when I'm updating the linked planes.  Can anyone who knows 3d
> math better than me explain why this is happening, its in the link
> above.  Thanks, its driving me nuts and I can't figure it out.
>
> On Jun 24, 12:04 pm, savagelook <[email protected]> wrote:
>
> > Shoot, I forgot to mention I didn't do the alignment yet.  I'm gonna
> > make another demo soon using planes to show the alignment part.
> > Should look pretty neat with just the planes and an invisible source
> > mesh.
>
> > On Jun 24, 10:44 am, Peter Kapelyan <[email protected]> wrote:
>
> > > Hmm it doesn't seem aligned to the face (those things should be turning 
> > > too,
> > > no?).
>
> > > On Thu, Jun 24, 2010 at 9:00 AM, savagelook 
> > > <[email protected]>wrote:
>
> > > >http://savagelook.com/blog/away3d/away3dlite-normals-and-face-linking
>
> > > > normals and face linking in away3dlite.  The face linking is not a
> > > > rolled up class like FaceLink in Away3D since the modifications were
> > > > minimal.  I did make changes to Face.as to include a normal and center
> > > > at creation time, so as long as you don't deform the mesh, everything
> > > > should work.  If you do deform the mesh (like with as3mod or manually)
> > > > you would just need to recalculate the normal and center for each face
> > > > affected.
>
> > > > One note, katopz mentioned that you could access a face's vertices
> > > > through face.mesh.vertices, but I never got around to trying that.  By
> > > > doing that and maintaining your own vectors of face centers and
> > > > normals, you could create this face linking code without making
> > > > changes to Face.as, if you were so inclined.
>
> > > > On Jun 23, 11:37 am, savagelook <[email protected]> wrote:
> > > > > Thanks for the insights katopz.
>
> > > > > For anyone interested I have just got face linking (on steroids)
> > > > > working in lite.  All credit goes to the original FaceLink author as
> > > > > 98% is just copied code from there.  The rest is just minor
> > > > > computational changes using Vector3D in the absence of Number3D.  The
> > > > > code I have now requires minor changes to Face.as, but I'm going to
> > > > > see if I can also do it without changing the source and maintain a
> > > > > good framerate.  I'll post it up once I have it all ironed out.
>
> > > > > On Jun 22, 3:38 am, katopz <[email protected]> wrote:
>
> > > > > > Hey guys
>
> > > > > > it's for speed reason, dot access is slower, so private _vertices is
> > > > just
> > > > > > bypass that dot and acting like referrer, you can saw bypass like 
> > > > > > this
> > > > every
> > > > > > where in lite libs
>
> > > > > > if you really want to access vertices you can use mesh.vertices and
> > > > provide
> > > > > > faceIndex for each face, or mesh.faces[index]
>
> > > > > > for normal comment out there is just under development for light
> > > > somehow,
> > > > > > it's not in my field btw
>
> > > > > > hth
>
> > > > > > On 22 June 2010 14:10, Michael Iv <[email protected]> wrote:
>
> > > > > > > I talked to Rob Bateman about this issue a few weeks ago in 
> > > > > > > relation
> > > > to
> > > > > > > another class. He said that some properties became private in 
> > > > > > > order
> > > > to not
> > > > > > > be exposed for a regular user .(Still don't understand a reason 
> > > > > > > for
> > > > > > > this).But you can still access most of these using arcane 
> > > > > > > namespace.
>
> > > > > > > On Tue, Jun 22, 2010 at 6:56 AM, savagelook <
> > > > [email protected]>wrote:
>
> > > > > > >> While I'm still hoping for answers to my questions, I wanted to 
> > > > > > >> note
> > > > > > >> that I uncommented the normals code in the faces in away3dlite 
> > > > > > >> and
> > > > it
> > > > > > >> works well.  I also was able to use it to put basic face linking
> > > > > > >> functionality into lite.  I'll post it up on my blog soon if any 
> > > > > > >> is
> > > > > > >> interested.
>
> > > > > > >> On Jun 21, 11:33 am, savagelook <[email protected]>
> > > > wrote:
> > > > > > >> > Also, why are the vertices of faces now private with no 
> > > > > > >> > getters or
> > > > > > >> > setters?  Why were mapping coordinates used to calculate the
> > > > normals
> > > > > > >> > instead of the vertices like in Away3D 3.x?
>
> > > > > > >> > On Jun 21, 11:09 am, savagelook <[email protected]>
> > > > wrote:
>
> > > > > > >> > > I would also like to know why the normals are commented out 
> > > > > > >> > > in
> > > > > > >> > > away3dlite, as of the latest trunk revision (2613)?  In the 
> > > > > > >> > > mean
> > > > time
> > > > > > >> > > I'm going to use them and see if they work as expected.
>
> > > > > > >> > > On May 3, 1:33 am, Michael Iv <[email protected]> wrote:
>
> > > > > > >> > > > You are right , I just like to keep things sorted as much 
> > > > > > >> > > > as
> > > > > > >> possible .
> > > > > > >> > > > Actually I thought also about Vertex Vectors , but then
> > > > desired to
> > > > > > >> try this
> > > > > > >> > > > out .
> > > > > > >> > > > v1.normalize x2 IS TYPING MISTAKE   :)
> > > > > > >> > > > Why they commented normal?
>
> > > > > > >> > > > Thanks For Help
>
> > > > > > >> > > > On Mon, May 3, 2010 at 5:24 AM, Ken Railey <
> > > > [email protected]>
> > > > > > >> wrote:
> > > > > > >> > > > > So using the texture coordinates is a bit of an 
> > > > > > >> > > > > unorthodox
> > > > > > >> approach.  I
> > > > > > >> > > > > would take the cross product of two face edges and 
> > > > > > >> > > > > normalize
> > > > that.
> > > > > > >>  Beyond
> > > > > > >> > > > > that, I am not sure why to are normalizing v1 twice (or 
> > > > > > >> > > > > even
> > > > once,
> > > > > > >> just skip
> > > > > > >> > > > > it).  Also, that call to new Vector3D() when initializing
> > > > normVect
> > > > > > >> is
> > > > > > >> > > > > wasted, since it gets overwritten on the next line.
>
> > > > > > >> > > > > Also, after a quick glance at svn it seems like the Face
> > > > class had
> > > > > > >> a normal
> > > > > > >> > > > > at some point that is just commented out.  Maybe try 
> > > > > > >> > > > > using
> > > > that?
>
> > > >http://code.google.com/p/away3d/source/browse/trunk/fp10/Away3DLite/s...
>
> > > > > > >> > > > > On Sun, May 2, 2010 at 4:38 PM, Michael Iv <
> > > > [email protected]>
> > > > > > >> wrote:
>
> > > > > > >> > > > >> Hi Guys , I was looking for Normal Face Vector in Lite 
> > > > > > >> > > > >> and
> > > > found
> > > > > > >> none . I
> > > > > > >> > > > >> tried to write my own . From my check It seems working 
> > > > > > >> > > > >> ...
> > > > But I
> > > > > > >> would like
> > > > > > >> > > > >> to get a confirmation from Math
> > > > > > >> > > > >> experts here  .
> > > > > > >> > > > >> I used the tuvs to create 2 vectors on the Face plane, 
> > > > > > >> > > > >> then
> > > > did
> > > > > > >> cross
> > > > > > >> > > > >> product . Was that right ?
>
> > > > > > >> > > > >> Here is the code:
> > > > > > >> > > > >> var face:Face=sp.faces[45];
> > > > > > >> > > > >>                 var v1:Vector3D=new
> > > > > > >> Vector3D(face.t0,face.u0,face.v0);
> > > > > > >> > > > >>                 var v2:Vector3D=new
> > > > > > >> Vector3D(face.t1,face.u1,face.v1);
> > > > > > >> > > > >>                 v1.normalize();
> > > > > > >> > > > >>                 v1.normalize();
> > > > > > >> > > > >>                 var normVect:Vector3D=new Vector3D();
> > > > > > >> > > > >>                 normVect=v1.crossProduct(v2);
> > > > > > >> > > > >>                normVect.normalize();
>
> > > > > > >> > > > >> Thanks.
>
> > > > > > >> > > > >> --
> > > > > > >> > > > >> Michael Ivanov ,Programmer
> > > > > > >> > > > >> Neurotech Solutions Ltd.
> > > > > > >> > > > >> Flex|Air |3D|Unity|
> > > > > > >> > > > >>www.neurotechresearch.com
> > > > > > >> > > > >> Tel:054-4962254
> > > > > > >> > > > >> [email protected]
> > > > > > >> > > > >> [email protected]
>
> > > > > > >> > > > --
> > > > > > >> > > > Michael Ivanov ,Programmer
> > > > > > >> > > > Neurotech Solutions Ltd.
> > > > > > >> > > > Flex|Air |3D|Unity|www.neurotechresearch.com
> > > > > > >> > > > Tel:054-4962254
> > > > > > >> > > > [email protected]
> > > > > > >> > > > [email protected]
>
> > > > > > > --
> > > > > > > Michael Ivanov ,Programmer
> > > > > > > Neurotech Solutions Ltd.
> > > > > > > Flex|Air |3D|Unity|
> > > > > > >www.neurotechresearch.com
> > > > > > >http://blog.alladvanced.net
> > > > > > >http://www.meetup.com/GO3D-Games-Opensource-3D/
> > > > > > > Tel:054-4962254
> > > > > > > [email protected]
> > > > > > > [email protected]
>
> > > > > > --
> > > > > > Regards
> > > > > > -----------------------------------------------------------
> > > > > > Todsaporn Banjerdkit, katopz,http://sleepydesign.com
> > > > > > Away3DLite and JigLibFlash Developer Team
>
> > > --
> > > ___________________
>
> > > Actionscript 3.0 Flash 3D Graphics Engine
>
> > > HTTP://AWAY3D.COM

Reply via email to