- Home /
NavMeshAgent start from current position and specific view
I want to make First Person Controller to navigate from points selected by mouse. Actions like mouse wheel and pan are taken in order to select points of the route, but the perfect view which is set for the Main Camera will be changed. So, can anybody know how to keep the view and make NavMeshAgent start from current position? I can only make NavMeshAgent keep specific view, but every time it will start from last position not current postion. Here is how I realize it.
//routePoints - points selected by mouse
void OnStartRoute()
{
if (routePoints.Count > 1)
{
GameObject man = GameObject.Find("First Person Controller");
NavMeshAgent navAgent = man.GetComponent<NavMeshAgent>();
pointsIndex = 0;
camMain.transform.rotation = rotation;
NavMeshPath path = new NavMeshPath();
if (navAgent.CalculatePath(routePoints[pointsIndex], path))
{
`` camMain.transform.position = new Vector3(navAgent.path.corners[0].x, 2.5f, navAgent.path.corners[0].z);
navAgent.SetDestination(routePoints[pointsIndex]);
isStartRoute = true;
}
else
{
return;
}
}
}
void Update()
{
if(isStartRoute)
{
float remainDis = navAgent.remainingDistance;
if(remainDis<5f)
{
if(pointsIndex<routePoints.Count-1)
{
pointsIndex++;
NavMeshPath path = new NavMeshPath();
if (navAgent.CalculatePath(routePoints[pointsIndex], path))
{
navAgent.SetPath(path);
}
`` else
{
` isStartRoute = false;
return;
}
}
}
if (remainDis == 0f)
{
isStartRoute = false;
}
}
}
Anybody help? Thanks!
Your answer
Follow this Question
Related Questions
Checking if mouse dragged from one point to another 2 Answers
How to check if my player agent is at the end of the position 2 Answers
Camera rotation around player while following. 6 Answers
How To Re-use model Like Subway Surfer & Temple Run Game? 3 Answers
How can I collect the positions of my waypoint objects which mark out a path or route? 2 Answers