- Home /
Question by
JPM1987 · Apr 27, 2014 at 08:00 PM ·
mecanimnavmeshagent
Delay with NavMeshAgent and Mecanim
So my goal is that the player should walk to a defined position and then stops and let the user have control of the player.
The problem I have is that if the player is in the distance of the objekt (1.0f) the agent is disabled but the animation still goes on for 3 seconds.
Anyone encountered the same problem?
This is my code I am using:
void FixedUpdate () {
if (goLeftSustain) {
goToLeftSustain();
}
}
void goToLeftSustain() {
//Calculate distance between player and target object
distanceLeft = Vector3.Distance(targetPlayerLeftSustain.position, fireFigher.position);
//Define when player is in correct position to control left sustain
if (distanceLeft < 1.0f) {
stopLeft = true;
}
if (!stopLeft) {
//Use Mecanim for walking animation
animFirefighter.SetFloat(hash.speedForwardFloat, 1.0f, speedDampTime, Time.deltaTime);
//Set Direction
agent.destination = targetPlayerLeftSustain.position;
} else {
//Stop agent
agent.Stop(true);
//Stop Mecanim animation
animFirefighter.SetFloat(hash.speedForwardFloat, 0, speedDampTime, Time.deltaTime);
//Wait 4 secs for more realism then play animation
//StartCoroutine(WaitForLeftSustainOut(1.0f));
//goLeftSustain = false;
}
}
Edit:
So changing this line of Code does the trick:
animFirefighter.SetFloat(hash.speedForwardFloat, 0, speedDampTime, Time.deltaTime);
to
animFirefighter.SetFloat(hash.speedForwardFloat, -3.0f, speedDampTime, Time.deltaTime);
Can anyone explain it?
Comment
Your answer
Follow this Question
Related Questions
Animator component prevents NavMeshAgent from disabling/enabling dynamically 0 Answers
Animator and navmesh component on a parent of an FBX 0 Answers
weird _navAgent.desiredVelocity.magnitude changes.... 0 Answers
NavMeshAgent animation - sliding 2 Answers
Click to move, navAgent and mecanim = animation playing too early 0 Answers