If you look at my early-project demo at
http://www.vicware.com/flyover/FlyOver03.html
you'll see the cartoonish satellite slowly rotating on its Y axis. But
as you see, it is
precessing. If the rotationX = 0 then it rolls perfectly and
symetrically, but at rotationX = -25
or anything other than 0, I have precession.
I have spent the last 24 hours looking at many of the posts here. I
tried the trick of putting
the satellite in it's own ObjectContainer3D as suggested, and
applyPosition(), and numerous other possible
solutions. I know 3D but I discovered away3d (fabulous) only recently,
and I have a feeling
I'm just doing something stupid. A brief outline of steps I tried:
for each (var child:Object3D in model.children) {
...
} else if (child.name == "Satellite1") {
child.pushfront = true;
child.ownCanvas = true;
child.moveTo(child.x + 100, child.y + 175, child.z);
child.rotationX = 0;
Then later in onEnterFrame: mesh3.rotationY += 1;
This works perfectly because rotationX = 0. But as soon as I change
rotationX (because I
want the satellite to point down a little), it doesn't work with the
local axis of the satellite model
correctly and I get precession.
As I said, I tried putting the model into it's own ObjectContainer3D:
satOne:Object3D=new ObjectContainer3D;
satOne=new ObjectContainer3D(child as Mesh);
view.scene.addChild(satOne);
satOne.moveTo(child.x + 100, child.y + 175, child.z);
satOne.centerPivot();
satOne.rotationX = -25; (In this case 0 works perfectly again like
above)
This doesn't change anything. I can't get the model to spin on its own
local axis.
Hopefully I'm just stupid. Does anyone have any idea? I'm hoping such
an
important simple axis localization is rudimentary and I'm just missing
something simple.
Thanks - away3d rocks.
Vic
--
To unsubscribe, reply using "remove me" as the subject.