Away3D : Caméra et mouvements de caméra

Le 5 mai 2011 - 3D, Molehill, Tutoriaux  -  Pas de commentaires
tutorial-away3d-part2

Il y a 3 différentes caméras sur Away3D : Camera3D, TargetCamera3D et HoverCamera3D. La caméra s'ajoute sur la vue View3d, de deux façons :

var camera:Camera3D = new Camera3D();
var view:View3D = new View3D({camera:camera});

ou

var camera:Camera3D = new Camera3D();
var view:View3D = new View3D();
view.camera = camera;

Les principales propriétés de la camera sont zoom, focus, position, tilt et pan :
zoom et focus : un peu comme sur un vrai appareil photo, le zoom ne fait que recadrer une image tandis que le focus va créer un écrasement des objets.

pan et tilt vont s'occuper des rotations de la caméra. pan est la rotation de la caméra (en degrés) sur un plan horizontal, tilt sur un plan horizontal.

position est comme son nom l'indique la position de la caméra. Elle est sous la forme d'un vecteur, Vector3D.

Par défaut la caméra est placé en 0, 0, 0 donc vous devez donner une valeur z négative (assez importante, personnellement je met entre -900 et -1000).

 

Camera3D
C'est la caméra de base. Elle étend la classe Object3D, on peut donc le manipuler comme n'importe quel objet. Les déplacements de caméra se font de façon linéaires, mais il est possible de jouer avec pan et tilt ou avec la méthode lookAt(target:Vector3D, upAxis:Vector3D = null) qui permet de regarder un point donné.

Pour les mouvements/déplacements sur les axes X, Y, Z, vous pouvez utiliser ces méthodes :

camera.moveUp(10);
camera.moveDown(10);
camera.moveLeft(10);
camera.moveRight(10);
camera.moveForward(10);
camera.moveBackward(10);

La méthode camera.moveLeft(10); va réaliser un mouvement latérale à gauche de 10px.

 

TargetCamera3D
Cette caméra étend Camera3D. Elle est vérouillée sur un objet donné (un peu a la manière de la méthode lookAt) comme ceci :

camera.target = sphere;

Maintenant si on utilise la méthode camera.moveLeft(10); cette fois-ci la caméra va effectué une rotation de 10px autour de l'objet vers la gauche.

Comparaison:

This movie requires Flash Player 9

Gauche/droite pour déplacer la caméra, haut/bas pour le zoom.

 

HoverCamera3D
Elle étend TargetCamera3D. Elle est comme son nom l'indique « flottante ». L'avantage de cette caméra est de pouvoir naviguer autour des objets plus facilement et de façon plus fluide. Pour le déplacement on va maintenant utiliser ceci :

camera.panAngle = 45;
camera.tiltAngle = 20;

Pour les transitions utilisez un enterFrame ou vous augmenterez les valeurs de panAngle et tiltAngle. Vous devez mettre a jour pan et title avec la fonction hover : camera.hover(); ainsi que mettre a jour la vue avec view.render();
Si le mouvement n'est pas assez fluide, vous pouvez augmenter la valeur du paramètre steps qui est par défaut à 8.

Pour continuer avec Away3D:
Tutorial 1 : Installation et première animation
Tutorial 3 : Primitives, les principaux objets dont vous aurez besoin
Tutorial 4 : Materials (à venir)
Tutorial 5 : Lights, les différents éclairages (à venir)

Laisser un commentaire