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 use scales, with or without smoothscale. If I want the box
to taper as it extrudes, I pass a scales param: 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 the scales prop. It appears that the scale
value not only scales the 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 the scales value 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