Unity 3D. Déplacement de caméra. Tutoriel 16

Ce tutoriel fait suite directe au tutoriel 15 dans lequel je vous expliquais comment changer de vue caméra. Dans celui-ci, nous allons voir comment déplacer la caméra principale vers les coordonnées de position et de rotation des 2 autres caméras qui serviront de repères.

Je vais pour cela utiliser la classe Ani.Mate que vous pouvez trouver sur le wiki d’Unity. Celle-ci est équivalente au système de Tween de flash.

Télécharger Ani.Mate

Vous pouvez voir le résultat final sur cette page.

Le code final est le suivant :

?View Code LANGUAGE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var cam1:GameObject;
var cam2:GameObject;
var cam3:GameObject;
 
function switchCam(){
cam2.active=false;
cam3.active=false;
 
yield WaitForSeconds(1);
 
aniCam(cam1,cam2,10);
yield WaitForSeconds(10);
 
aniCam(cam1,cam3,8);
 
}
 
function aniCam(arg1:GameObject,arg2:GameObject,arg3:Number){
Ani.Mate.To(arg1.transform,arg3,{"position": new Vector3(arg2.transform.position.x,arg2.transform.position.y,arg2.transform.position.z)});
 
Ani.Mate.To(arg1.transform,arg3,{"rotation":Quaternion.Euler(arg2.transform.eulerAngles.x,arg2.transform.eulerAngles.y,arg2.transform.eulerAngles.z),"drive":Ani.Drive.Slerp});
}
 
switchCam();

Unity 3D. Utilisation de caméras multiples dans une scène. Tutoriel 15

Voici un tuto qui fait suite à une demande du forum et dans lequel je vous explique comment basculer d’une caméra à l’autre. C’est en fait très simple et vous avez le script complet après la vidéo.

?View Code LANGUAGE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var cam1:GameObject;
var cam2:GameObject;
var cam3:GameObject;
function switchCam(){
cam2.active=false;
cam3.active=false;
yield WaitForSeconds(5);
cam1.active=false;
cam2.active=true;
yield WaitForSeconds(5);
cam2.active=false;
cam3.active=true;
}
switchCam();