2
내 문제는 현재 웨이 포인트쪽으로 이동할 때마다 이상한 방향을 향하고 경로를 완전히 따르지 않는다는 것입니다.AI가 웨이 포인트를 따라갈 때 이상한 방향으로 직면 UNITY
IEnumerator FollowPath() {
Vector3 currentWaypoint = path[0];
while (true) {
//transform.LookAt (currentWaypoint);
if (transform.position == currentWaypoint) {
PathRequestManager.RequestPath(transform.position,target.position,OnPathFound);
targetIndex=0;
targetIndex ++;
//Debug.Log(currentWaypoint);
if (targetIndex >= path.Length) {
targetIndex =0;
path = new Vector3[0];
//yield break;
}
currentWaypoint = path[targetIndex];
}
transform.LookAt (currentWaypoint);
transform.position = Vector3.MoveTowards(transform.position,currentWaypoint,speed * Time.deltaTime);
yield return null;
}
}
현재 * 길 찾기를 사용 중입니다. 완전한 소스 코드는 다음에서 찾을 수 있습니다 : https://github.com/SebLague/Pathfinding
현재 웨이 포인트에 도달하면 방향이 무작위로 변경되거나 임의로 방향을 향하고 다음 웨이 포인트를 통과하지 않습니다.
targetIndex=0;
targetIndex ++;
1
그래서 기본적으로는 처음 웨이 포인트보다 더 가지 않을 것이다에
방향이 없거나 위치가 정적 일 때 다른 웨이 포인트로가는 것을 잊어 버렸습니다. 그러나 내가 보았던 방향으로 방향을 추가했을 때 약 10 초 동안 이상한 방향을 향하고 다음 웨이 포인트로 간다. 또는 그가 현재의 웨이 포인트를보고 멈추어 서서 때때로 다음 웨이 포인트로 가지 않는다. –
'targetIndex = 0;을 없애십시오. – maksymiuk
나는 당신의 제안을 시도했지만, 여전히 웨이 포인트에 도달 한 후에 이상한 방향을 향하고 있습니다. 비록 내가 어떻게 든 오류가 어디에서 왔는지 알아 냈습니다. 이것은 애니메이션과이 코드 줄 "transform.LookAt (currentWaypoint);"에서옵니다. 나는 애니메이션을 제거하려고 시도했는데 어떻게 든 다음 웨이 포인트로 간다. 이 문제를 어떻게 해결할 수 있습니까? 애니메이션에는 정적 실행 만 있습니다. 그래서 그것은 유휴 또는 아무것도, 오직 애니메이션을 실행합니다. –