-AUTEUR(S): Franck. (Merci les tutos de youtube, de khrys et des vieux du fofo!)
-DESCRIPTION : Un path finder. (qui fait faire un chemin a un ennemi par exemple).
-UTILISATION : Placer le script sur le gameObject. Dans l'inspector mettre le nombre de checkPoints (que l'object va utilisé pour faire sa ronde), plus un.
Sur la scene placer des empty pour tracer le chemin de ronde.(Donc un empty de moins que la totalite des checkPoints!)
Glisser les empty de la scène sur les checkPoints du script dans l'inspector, cela indiquera l'ordre d'utilisation des empty.Ne pas se servir du checkPoint 0, il est reservé!
2 vitesses permettent de régler: la vitesse de déplacement et la vitesse de rotation quand l'object passe d'un checkpoint a un autre.
-SCRIPT :
Code : Tout sélectionner
var checkPoint : Transform[];
var vitesse : float = 1.0;
var vitesseRotation : float = 1.0;
private var pointActuel : int = 0;
function Awake(){
checkPoint[0] = transform;
}
function Update(){
var point : Vector3 = checkPoint[pointActuel].position;
var destination: Vector3 = point - transform.position;
var controller : CharacterController = GetComponent(CharacterController);
var bouger = controller.SimpleMove(destination.normalized * vitesse * Time.deltaTime);
if(destination.magnitude < 1){
pointActuel ++;
}
if(pointActuel > checkPoint.Length - 1){
pointActuel = 0;
}
transform.rotation = Quaternion.Slerp(transform.rotation,
Quaternion.LookRotation(checkPoint[pointActuel].position - transform.position), vitesseRotation * Time.deltaTime);
transform.rotation.x = 0;
transform.rotation.z = 0;
}