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.
Vous pouvez voir le résultat final sur cette page.
Le code final est le suivant :
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(); |
bravo pour ces tuto sur les cam ,ce site est bien parti
toujours interessant ces petits tutos , j’avais d’ailleurs une question, penses qu on puisse encore simplifier la notation en remplaçant
Ani.Mate.To(arg1.transform,arg3,{« position »: new Vector3(arg2.transform.position.x,arg2.transform.position.y,arg2.transform.position.z)});
par
Ani.Mate.To(arg1.transform,arg3,{« position »: new Vector3(arg2.transform.position)});
Super! As-tu une idée comment on pourrait ajouter un effet de « ease-in/ease-out » entre les mouvements de caméra?
Regarde dans la doc du script animate, tu as des ease expliqués
bonjour, ça marche très bien, et c’est exactement ce dont j’avais besoin ! sauf un détail… comment remplacer la caméra 3 par le FPS pour que je démarre ma visite temps réel après un survol caméra ?
merci d’avance !!!
je veux dire le « first person controller » bien sûr…
merci pour ce tuto! mais la fonction Ani ne marche pas sur la dernière version de unity… y a t’il pas un autre script pour cela? merci