پیدا کردن یک نقطه شانسی در یونیتی ( هوش مصنوعی سطح متوسط )

بدون ديدگاه

در برخی مواقع ما نیاز داریم تا یک نقطه رو بصورت شانسی بر روی navmesh پیدا کنیم تا کاراکترهای های بتوانند در به ان سمت نگاه کرده و یا حرکت کنند . که هدف ما اینکه کمی رفتار هوش مصنوعی رو واقعی تر جلوه بدهیم برای اینکار از زیر برای پیدا کردن یک نقطه شانسی استفاده میکنیم

void FindRandomPoint()
    {
        float walkRadius = 30f;
        Vector3 randomDirection = Random.insideUnitSphere * walkRadius;
        randomDirection += transform.position;
        NavMeshHit hit;
        NavMesh.SamplePosition(randomDirection, out hit, walkRadius, 1);
        Vector3 finalPosition = hit.position;
        // go to random point
        nav.SetDestination(finalPosition);
    }

نوشتن دیدگاه