Jerome

Thanks very much, I think this gives me what I need. Off to try this
out, I am trying to implement a very very limited planetarium type
application, I need to show the apparent angle of the Moon as seen
from an observer on Earth as it varies over the course of a day...

Cheers
Mark

On Oct 21, 11:30 am, elguapoloco
<[email protected]> wrote:
> Hello,
>
> There's a trick in 3D to have full control over the camera: You need a
> target and a parent (also called handle). The target is a point in 3D
> space where the camera looks at and the handle allows you to move the
> camera around the 3D scene but more importantly rotate it around any
> axis while keeping its transformation. I would usually do this:
>
> // The handle
> var _cameraHandle:ObjectContainer3D = new ObjectContainer3D;
>
> // The target
> var _cameraTarget:ObjectContainer3D = new ObjectContainer3D;
>
> // The camera
> var camera:Camera3D = new Camera3D;
> cameraHandle.addChild( camera );
>
> // This 3 piece rig will allow for endless options in animating the
> camera's movements!
> // You can now add the camera to the scene as usual, and in the render
> loop update the camera target and animate the camera's handle
> // You can apply tweens to the target, the handle and the camera
> independently for smooth motion
> // I would use the handle for rotations and the camera for moving
> along x, y and z.
>
> // For example orbting with a radius of 1000
> camera.z = -1000;
>
> // This would be the onEnterFrame event where you handle the 3D render
> call
> private function enterFrameHandler ( event : Event ) : void
> {
>    _cameraHandle.yaw(1);
>   camera.lookAt( _cameraTarget.position );
>
>   render();
>
> }
>
> In a planetarium setup you could move the target and handle to the
> planet's position. Update the camera's z to the radius of orbit you
> want. Rotating the handle to follow the mouse (hover around its
> center). The beauty of this is that by offsetting the position of the
> target you can frame the shot in different ways for nice cinematic
> effects!
>
> Hope this makes sense!
>
> Cheers,
>
> Jerome.

Reply via email to