Hey Frabrice,

I updated from the svn, but unless I'm doing something wrong it's
still not quite fixed. If you do a scale from a (0,0,0) point then
scales can't affect the position.
Here's a quick example I made to try and highlight the issue better:

http://sibhod.com/away3d/scalesTest.swf

These are two identical pathExtrudes, except the y positions are
inverted. The top extrude is constructed with 'null' for the scales
arg, and the bottom extrude has a scales array graduating from (2, 2,
2) to (1, 1, 1). This isn't how it's supposed to work, right?

Thanks!

On Jan 29, 11:00 am, sibhod <[email protected]> wrote:
> Thanks for the quick response! I'll update my files.
>
> On Jan 29, 8:54 am, Fabrice <[email protected]> wrote:
>
> > Hey sibhod,
> > thanks for pointing out that one.
> > was little but nasty.
>
> >http://www.closier.nl/playground/PathExtrude_scalefix.swf
>
> > this is the test code I've quickly typed to make that fixe
>
> > var aPoints = [];
> >                         //square
>
> >                         aPoints.push(new Number3D(-100, 100, 0));
> >                         aPoints.push(new Number3D(0, 100, 0));
> >                         aPoints.push(new Number3D(100, 100, 0));
> >                         aPoints.push(new Number3D(100, 0, 0));
> >                         aPoints.push(new Number3D(100, -100, 0));
> >                         aPoints.push(new Number3D(0, -100, 0));
> >                         aPoints.push(new Number3D(-100, -100, 0));
> >                         aPoints.push(new Number3D(-100, 0, 0));
> >                         aPoints.push(new Number3D(-100, 100, 0));
>
> >                         var aPath:Array = [ new Number3D(-500, 0, 0), new 
> > Number3D(-250, 0,  
> > 0),  new Number3D(0, 0, 0)];
>
> >                         var path:Path = new Path(aPath);
>
> >                         var aScale = [];
> >                         aScale.push(new Number3D(1, 1, 1));
> >                         aScale.push(new Number3D(1, 1, 3));
>
> >                         pathextrude= new PathExtrude(path, aPoints, aScale, 
> > null,
> > {smoothscale:true, flip:false, aligntopath:true, coverall:true,  
> > scaling:6, closepath:false, recenter:false, material:mat, subdivision:
> > 10, bothsides:false});
>
> >                         this.scene.addChild(pathextrude);
>
> > displays now exactly as expected.
>
> > svn is updated
>
> > Fabrice
>
> > On Jan 29, 2009, at 7:12 AM, sibhod wrote:
>
> > > I updated to the latest svn trunk, and tried many different methods,
> > > but the "scales" prop on PathExtrude still doesn't work the way I
> > > expect it.
>
> > > For example, if I have a simple square profile extruded on a one-
> > > segment path that runs from (100, 100, 100) to (-100, -100, -100) it
> > > appears like a diagonal rectangular box. The problems appear when I
> > > attempt to usescales, with or without smoothscale. If I want the box
> > > to taper as it extrudes, I pass ascalesparam: new Array(new Number3D
> > > (1,1,1), new Number3D(3, 3, 3)). Not only does the profile scale, but
> > > the v1 point is now well beyond (-100, -100, -100), and appears to be
> > > multiplied by the scale as well.
>
> > > Also, the extrude seems to add an extra segment to the profile that
> > > returns to the last point in the extrude path, unscaled. I've found a
> > > cheap work-around where my path generator divides each segment
> > > position by its scale, but I wanted to see if I am doing something
> > > wrong.
>
> > > Thanks again!
>
> > > On Jan 26, 7:46 pm, sibhod <[email protected]> wrote:
> > >> I haven't had a chance to try out your suggestions, but I wanted to
> > >> that you so much for your help! I'll be sure to post my results  
> > >> when I
> > >> finally have some.
>
> > >> On Jan 15, 5:33 pm, Fabrice <[email protected]> wrote:
>
> > >>> ThepathExtrudedo not change the points coordinates except if you
> > >>> pass aligntopath:true
> > >>> the scale works per Curvesegments, and a scale Number3D is required
> > >>> for that segment.
> > >>> you just pass a series of Number3D's in an array and they will  
> > >>> affect
> > >>> the whole segment. Smoothscale prop will define if its interpolating
> > >>> the scale influence
> > >>> or apply same value from start to end of the segment. the last past
> > >>> Number3D will be used until the code reaches the last point.
> > >>> Look at the second example here
>
> > >>>http://www.closier.nl/blog/?p=73
>
> > >>> You also need to use the lastest, some updates were done, where  
> > >>> indeed
> > >>> last points were not taken in account.
> > >>> especially when you use the smoothPath() to the path you pass to the
> > >>> class. I will check if indeed the problem is remaining in case of  
> > >>> scale.
>
> > >>> Note that there are some more changes done during past 2 days.
>
> > >>> theextrudesupports now
> > >>> multiple textures
> > >>> mapping per step/entire extrusion remains unchanged. But you can now
> > >>> in case of mulitple texture texture per segment.
>
> > >>> the default mapping is also changed, where the points were evenly
> > >>> distributed on the texture, making very difficult to update
> > >>> the geometry profile without ruining the texture, you have now by
> > >>> default a projection that is applied based on percent/distance.
> > >>> so what is left is your left point, what is right on the texture the
> > >>> right point as in the other mode "_mapfit:false", but now the uv's  
> > >>> are
> > >>> set respecting the distance between both.
>
> > >>> smoothpath and average path are fixed in Path class, but are under
> > >>> "rebuild" in thepathextrude, (its in comments)
> > >>> and should be back online in few days.
>
> > >>> A few other details were improved/corrected as well.
>
> > >>> Fabrice
>
> > >>> On Jan 16, 2009, at 12:05 AM, sibhod wrote:
>
> > >>>> I've been doing some tests withPathExtrude, and I've noticed
> > >>>> something odd with using thescalesprop. It appears that the scale
> > >>>> value not onlyscalesthe projected points, but also the  
> > >>>> coordinates
> > >>>> for that point.
>
> > >>>> For example if Iextrudea square along a circle path, I get a donut.
> > >>>> When I try changing thescalesvalue it changes both the  
> > >>>> thickness of
> > >>>> the donut, and their distance from the center of the donut. Also,  
> > >>>> the
> > >>>> last point in the path doesn't seem to be affected by scale,  
> > >>>> neither
> > >>>> path or position.
>
> > >>>> Am I using theextrudewrong? Is this how scaling is supposed to  
> > >>>> work?

Reply via email to