زمانی که از Navigation در یونیتی برای جهت یابی استفاده میکنید، ممکن است بخواهید وقتی Agent شما به مقصد میرسد، از این موضوع با خبر شوید.
مراحل انجام کار
میتوانیم با استفاده از کد زیر بررسی کنیم که آیا به مقصد رسیده است یا نه:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
private bool reached(NavMeshAgent agent) { if (!agent.pathPending) { if (agent.remainingDistance <= agent.stoppingDistance) { if (!agent.hasPath || agent.velocity.sqrMagnitude == 0f) { return true; } } } return false; } |
البته میتوانیم این کد را به صورت زیر ، به صورت خلاصه و تنها در یک شرط بررسی کنیم:
1 2 3 4 |
private bool reached(NavMeshAgent agent) { return ((!agent.pathPending && agent.remainingDistance <= agent.stoppingDistance) && (!agent.hasPath || agent.velocity.sqrMagnitude == 0f)); } |
نظرات ثبت شده بدون دیدگاه