Etant toujours débutant et en plein progression sur Unity et la programmation en c#, je rencontre souvent des problèmes que j'essaye tant bien que mal de régler mais cet fois ci je vois blanc même si j'ai essayé de me débrouiller seul mais faut faut s'avouer vaincu des fois et rendre els armes et demander de l'aide.
bref passons a mon problème les amis, donc ca peut paraître simple pour certain et j'aurai aimer que ce soit le cas pour moi ( je m’égare encore, excusez moi j'aime écrire), j'essaye de donner une condition a mon NavMeshAgent pour realiser une animation en fonction de sa vitesse qui est a la base = a 0, mon animation est en type Blend tree avec 2 animation Float, la première " idle " ==0 et deuxième "walk" ==1, ce que j'aimerai realiser c'est de poser une condition " si je clique sur ma souris, la vitesse de mon agent passe a 1 jusqu'a la fin de sa course" sauf que je sais pas comment poser une telle condition, enfin la ou ca me pose probleme c'est comment dire jusqu'a la fin de sa course et ensuite la vitesse repassera a 0, ce qui va me permettre de jouer mon animation sans aucun soucis, voici mon script :
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class ClickToMve : MonoBehaviour {
//Variables
public RaycastHit HitInfo = new RaycastHit();
private NavMeshAgent Agent;
// Use this for initialization
void Start () {
Agent = GetComponent<NavMeshAgent>();
Agent.speed = 0f;
}
// Update is called once per frame
void Update () {
if (Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray.origin, ray.direction, out HitInfo))
Agent.destination = HitInfo.point;
Agent.speed = 1f;
}
}
}
voila ca fait quelques jours que je cherche je voulais pas déranger le monde mais bon j'ai le dos au mur,
merci d'avance pour votre aide !