HI Rib,
here is the code snipet of my transformation,
but you answered the main question:
"if you
do not fire the transform setter (and simply modify the properties
within
it), then the euler angles will not update on the camera object. "

here is the main part of the transformation that tween any object
matrix then positions and 3D rotations:

//added on scene init:
cameraTarget=new Object3D  ;
startQuaternion=null;
endQuaternion=null;
currentQuaternion=null;
//added to any object in the scene
thing.addOnMouseDown(onMouseClickOnObject);

function onMouseClickOnObject(e:MouseEvent3D):void {
        if (e.target!=null) {
                cameraTarget.transform=e.target.transform;
                if (e.target is Plane) {
                        cameraTarget.moveUp(200);
                        cameraTarget.pitch(90);///because plane need a 90 
rotationX to be
straight
                }

                if (e.target is Plane!=true) {
                        cameraTarget.moveForward(200);
                        cameraTarget.roll(90),cameraTarget.yaw(180);
                }

                createTween(cameraTarget);
        }

}
function createTween(target:Object3D):void {

        camera.slerp=0;///this is an extra propertie added to object3D, you
can also use the embed extra propertie
        var tweenObject:Object={};
        tweenObject.x=target.x;
        tweenObject.y=target.y;
        tweenObject.z=target.z;
        //tweenObject.bezierThrough=[{x:0,y:0,z:0,slerp:.2}];
        tweenObject.ease="easeOut.Elastic";
        tweenObject.slerp=1;
        tweenObject.onUpdate=camera_updateCallback;

        startQuaternion=Quaternion.createFromMatrix(camera.transform);//this
is a method I added to the Quaternion class
        endQuaternion=Quaternion.createFromMatrix(target.transform);

        TweenMax.to(camera, 1, tweenObject);

}
function camera_updateCallback():void {
        currentQuaternion=Quaternion.slerp
(startQuaternion,endQuaternion,camera.slerp);///this is another method
I added to the Quaternion class
        camera.transform.copy3x3(Quaternion.quaternion2Matrix
(currentQuaternion));////quaternion2Matrix is one more method I added
to the Quaternion class
}

the method added to the quaternion class are here:
http://groups.google.com/group/away3d-dev/browse_thread/thread/4056d80422f13929/e7895f56f9befcdf?lnk=gst&q=vector+quaternion#e7895f56f9befcdf


Reply via email to