Ok it appears to be working that way, however i am not able to say
(Model as Mesh).applyRotations(); ... it throws an null reference
error because (Model as Mesh) returns null:

private function onLoaderSuccess(event:LoaderEvent):void
                {

                        this.Model = event.loader.handle as ObjectContainer3D;
                                this.Model.rotationY = 90;
                                        (this.Model as Mesh).applyRotations();
                        trace(this.Model.rotationY);
                        initAnimations();

                }

is there a reason for this? I also tried it in the enterFrame event ,
with the same result.

On Nov 29, 10:46 am, Fabrice <[EMAIL PROTECTED]> wrote:
> well, thats because you say to lookat but pass a null targetobject and  
> you say to the PathAnimator to set the aligntopath to true.
> so by default the class asumes you just want to move an item along the  
> path without altering its orientation.
> because you can't look at something and align to path at the same time.
>
> http://away3d.com/tutorials/tutorial-how-to-use-the-pathanimator-class
> take a closer look at the examples at the end of the tut.
>
> Fabrice
>
> On Nov 29, 2008, at 3:48 PM, cellis wrote:
>
>
>
> > Hey fabrice,
>
> > I have an example uploaded of what i'm trying to do.
>
> >http://away3d-dev.googlegroups.com/web/Applied3DGameProject.zip?gda=p...
>
> > feel free to edit the points as you like. Basically the dog (thanks
> > Katopz!) doesn't point in the direction of motion.
>
> > Do you see what i mean now?
>
> > On Nov 22, 5:33 am, Fabrice <[EMAIL PROTECTED]> wrote:
> >> I understand you want the car ispathdriven but I'm not sure I have a
> >> clear picture of what you want the car be able to do.
> >> There are tons of options, but here a few directions that might help
> >> you.
>
> >> Say you want it stays free, yet within the bounderies of the road,
> >> witch is defined by thepath.
>
> >> 1/ to use a container or a dummy object. they are driven by thepath.
> >> in container case, the car would be in  it.
> >> 2/ just define a distance. then when you move the car just check the
> >> distance from the car to the dummy or container position.
>
> >> this allows you to check direction, like for instance "you're going
> >> wrong way", you just need to compare pathanimator.time with actual  
> >> time.
> >> the increase the time, just make your acceleration angular, based on
> >> the rotations of the object into the container. since the container  
> >> is  pathdriven with an align topath,
> >> the direction vector is equal to the rotations props of the  
> >> container.
>
> >> you can also, if your road is not pathextruded, just ask positions
> >> based on time and apply the result to your object.
> >> getPositionOnPath( p:Number3D, t:Number). But here you miss indeed  
> >> the
> >> directional vector. I will add a getter for the directional vector.  
> >> It
> >> will return the last generated one of the animated object.
> >> if you want to do it yourself just save the vector in the orientateAt
> >> handler.
>
> >> Say now that you want car to follow a randompath. define just 3
> >> segments.
> >> add a segmentListener.
> >> on event, just calculate a radius from actual object position, set
> >> first segment end to a random angle based on that radius.
> >> then push(shift) thepathinfo, smoothpath. If done right, thepath
> >> should "scroll" itself under the car.
>
> >> if the car just drives arround and you want to save power by not
> >> recalculating a new segment each event, just pop shift thepathinfo,
> >> and give a longerpathdefinition with enough variation.
>
> >> Hope it helps a bit.
>
> >> Fabrice
>
> >> On Nov 22, 2008, at 9:38 AM, cellis wrote:
>
> >>> ok it is starting to make some sense now...
>
> >>> in regards to thepathanimation and rotations... perhaps this will
> >>> clarify what i am trying to do
>
> >>> 1. generate a randompathfor the car to follow ... this is simple,
> >>> just a series of Number3D points (for instance a road)
> >>> 2. pass generatedpathto pathanimation
>
> >>> so i cannot do the rotations by hand ... these need to be setup
> >>> dynamically on the fly and then passed to the rotations.
>
> >>> then, if the series define a curve (not a straight line), i need to
> >>> calculate direction using either Atan2(), Catmull - Rom (splines),  
> >>> or
> >>> something else (i'm open to suggestions, these are just what books  
> >>> and
> >>> other people have been telling me). For instance...this from another
> >>> forum--
>
> >>> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> >>> "In general terms, the direction the car is pointing is along its
> >>> velocity vector, which is the first derivative of its position  
> >>> vector.
>
> >>> For example, if the car is going in a circle (of radius r) around  
> >>> the
> >>> origin every n seconds then the x component of the car's position is
> >>> given by:
>
> >>> x = r.sin(2πt/n)
>
> >>> and the x component of its velocity vector will be:
>
> >>> vx = dx/dt = r.(2π/n)cos(2πt/n)
>
> >>> Do this for all of the x, y and z components, normalize the  
> >>> resulting
> >>> vector and you have your direction."
> >>> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> >>> ^^ Do you have some insight has to how that formula can be applied
> >>> with apathanimator, or should i set up a custom tween/animation?
>
> >>> On Nov 16, 1:37 pm, Fabrice <[EMAIL PROTECTED]> wrote:
> >>>> The rotations property is an array of number3D's, each one is the
> >>>> representation of the rotation for the animated object along  
> >>>> thepath
> >>>> at the start of a CurveSegment.
> >>>> but since you use the align topath, you have only one axis free. 2
> >>>> others being used by the code.
>
> >>>> so say you have 2 curveSegments defined and want your object  
> >>>> align on
> >>>> pathand having a rotation arround thepathdirection.
> >>>> rotations property would be for instance
>
> >>>> var a:Array = [new Number3D(20, 0,0), new Number3D(-20, 0,0), new
> >>>> Number3D(0, 0,0) ];
> >>>> rotations = a;
>
> >>>> so your object will start align topathwith a 20, in middel at -20
> >>>> and will exit thepathwith ) rotation.
>
> >>>> The reason it might look  like its a Z rotation while its a X  
> >>>> one, is
> >>>> the direct result of the way you define yourpath.
> >>>> Onepathgoing in z would be affected another way than apathdefine
> >>>> along the x axis.
> >>>> That's why thePathhas a WorldAxis property.
>
> >>>> to rotate your model if its sidewards, use first
> >>>> model.rotationY = 90;
> >>>>   (model as Mesh).applyRotations();
>
> >>>> now its pointing on thepathusing the pathanimator. And it has
> >>>> nothing to do with the rotations applied while its animated.
> >>>> Its a rotation at mesh level.
>
> >>>> also not that in some cases, changing of world quadrants can also
> >>>> influence the behavior. To avoid those, just be sure yourpath
> >>>> definition gets an offset big enough
> >>>> to stay within one quadrant. mmm I stop now, don't want to confuse
> >>>> you :)
>
> >>>> Fabrice
>
> >>>> On Nov 16, 2008, at 5:43 PM, cellis wrote:
>
> >>>>> Hey fabrice,
>
> >>>>> i tried passing
>
> >>>>> rotations:[90,90,90]; //to thepathData, but i'm not sure it
> >>>>> worked...
>
> >>>>> i'm not quite sure of the syntax to use here: should it be an
> >>>>> anonymous object?
>
> >>>>> could you please post an example of apathdata object declared?
> >>>>> here
> >>>>> is mine
>
> >>>>>      var animInit:Object =
> >>>>>                        {
> >>>>>                                duration:5000,
> >>>>>                                lookat:false,
> >>>>>                                aligntopath:true,
> >>>>>                                targetobject:null,
> >>>>>                                offset:new Number3D(0, 100, 0),
> >>>>>                                rotations:[90,90,90],
> >>>>>                                fps:30,
> >>>>>                                easein:false,
> >>>>>                                easeout:false
> >>>>>                        }
>
> >>>>> Again, thanks alot!
>
> >>>>> On Nov 15, 11:16 am, Fabrice <[EMAIL PROTECTED]> wrote:
> >>>>>> Sure you can,
>
> >>>>>> just say
> >>>>>> object.rotationY = 90; //--> or whatever is needed
> >>>>>> then
> >>>>>> (object as Mesh).applyRotations();//rotates internally the mesh
> >>>>>> geometry
> >>>>>> //--> rotationY is now back to zero if you trace, while your mesh
> >>>>>> is
> >>>>>> remains rotated on the Y axis
>
> >>>>>> the rotations property on the PathAnimator are there to allow to
> >>>>>> have
> >>>>>> rotations along thepath.
> >>>>>> say you have an aircraft, you define apaththat goes from air to
> >>>>>> ground where you want it crash.
> >>>>>> when align topathprop is set the aircraft would point at thepath
> >>>>>> direction.
> >>>>>> but if you want the aircraft has also some roll influence while
> >>>>>> following thepath, just pass a rotations array, a series of
> >>>>>> Number3d,
> >>>>>> acting per CurveSegments
> >>>>>> the Number3d are representing in this case the rotational  
> >>>>>> influence
> >>>>>> (rotx, roty, rotz). they are applyed or a linear fashion between
> >>>>>> start
> >>>>>> and end of the segments.
> >>>>>> if less Number3D's are passed than the length of thepath, the  
> >>>>>> last
> >>>>>> influence is kept until the end of thepath.
>
> >>>>>> Note that it can work pretty confusing, so I suggest you start  
> >>>>>> with
> >>>>>> just 2 segments and play,
> >>>>>> best way would be to comment all other segments into yourpath
> >>>>>> definition, then gradually add rotations andpathsegments.
>
> >>>>>> Fabrice
>
> >>>>>> On Nov 15, 2008, at 4:41 PM, cellis wrote:
>
> >>>>>>> Awesome!
>
> >>>>>>> That worked Fabrice.
>
> >>>>>>> Now i have another problem and i'm not sure if i have to bust  
> >>>>>>> out
> >>>>>>> the
> >>>>>>> trig for this. My object animates along thepath, but doesn't
> >>>>>>> point in
> >>>>>>> that direction. For instance if it was a Car object, instead of
> >>>>>>> looking like it is driving forward on thatpath, it looks instead
> >>>>>>> like
> >>>>>>> it is drifting along thepath. Are there any built in functions
> >>>>>>> for
> >>>>>>> this or do i have to do the rotation by hand?
>
> >>>>>>> I was unsure as to how to use the rotations property on thepath
> >>>>>>> data...
>
> >>>>>>> Thanks alot!
>
> >>>>>>> On Nov 15, 7:14 am, Fabrice <[EMAIL PROTECTED]> wrote:
> >>>>>>>> I've posted a tutorial on this a few days ago...
>
> ...
>
> read more »

Reply via email to