J'essaye de créer un bouton qui permet de tourner autour d'un objet.
Normalement en restant appuye sur le bouton, ca continuera de tourner mais je n'ai pas encore implanter cette partie.
Mon problème c'est que j'arrive pas à obtenir le résultat que je veux.
Ma caméra tourne bien autour mais j'arrive pas à régler l'angle de déplacement ni à remettre la caméra à la même auteur.
Si vous connaissez la technique que ce soit sur le plan mathématique ou programmation, je suis preneur.
Voici mon code
Code : Tout sélectionner
var target : Transform;
var damping = 1.0;
var bouton;
var distance ;
var rotationDamping = 1.0;
function OnGUI () {
btnGauche = GUI.Button(Rect(20,80,100,40),"gauche");
if(btnGauche){
//var rotation = Quaternion.LookRotation(target.position - transform.position);
distance = Mathf.Sqrt( (target.position.x - transform.position.x) * (target.position.x - transform.position.x) +
(target.position.y - transform.position.y) * (target.position.y - transform.position.y) +
(target.position.z - transform.position.z) * (target.position.z - transform.position.z) );
wantedRotationAngle = target.eulerAngles.y;
currentRotationAngle = transform.eulerAngles.y;
currentRotationAngle = Mathf.LerpAngle (currentRotationAngle, wantedRotationAngle, rotationDamping *Time.deltaTime);
currentRotation = Quaternion.Euler (0, currentRotationAngle, 0);
GameObject.Find("Main Camera").transform.position = target.position ;
GameObject.Find("Main Camera").transform.position -= currentRotation * Vector3.right * distance ;
transform.position.y = 0.5;
transform.LookAt (target);
}
}