What’s the best way to create a simple moving navmesh agent with animation? (e.g. a human enemy running to player)
I have run animation that moves the enemy (which I activate by calling
Run() function that sets some properties on
Animator) but I am not sure how to combine it with navmesh.
In one tutorial I saw Standard Assets ThirdPersonController’s .Move(…) used for that, but I am not sure if I should use it for that purpose, as I understand it was intended only for player characters?
Or should I use animation that runs in place?
The Unity manual has a page on this:
You have to use nav mesh agents for moving objects arround the scene, and animations to other things, but not to translate the object itself.
If a gameobject have a navmeshagent component and an animator, it will be able to move “automatic” by navmesh conponent (changing it transform.position and transform.rotation), so animation must do anything except move the transform.position/rotation of the object. What can do the animation is change the localposition and localrotation of childs, but not the gameobject itself.
If helped, accept the answer and close the question!
No, it’s not automatic at all. Check this manual page that gets you started. This older manual page also may be helpful with using NavMeshAgent with other components.