Пятница, 08 Ноября 2024, 19:08

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Проблема с AI в Unity [РЕШЕНО]
Sonik315Дата: Вторник, 30 Августа 2016, 19:20 | Сообщение # 1
был не раз
Сейчас нет на сайте
Здравствуйте , столкнулся с одной проблемой когда писал AI для врага . По началу казалось что всё нормально , враг движется в мою сторону и поворачивается ко мне . Всё меняется когда количество врагов увеличивается , они сливаются друг с другом .
ФОТОГРАФИЯ
Может это из-за того что у каждого врага путь до ГГ строиться одинаково ?
В общем я точно не знаю т.к. только начинающий , прошу вас помочь с данной проблемой .
Вот сам код
Код

public Transform player;
    public float speed = 5;
    public float seeDistance = 100;
    private NavMeshAgent nav;
    public AnimationClip idle;
    public AnimationClip walk;

    void Start()
    {
        player = GameObject.FindWithTag("Player").transform;
        nav = GetComponent<NavMeshAgent>();
        GetComponent<Animation>().AddClip(idle, "idleChicken");
        GetComponent<Animation>().AddClip(walk, "muveChicken");

    }
    void Update () {
       

        if ((Vector3.Distance(transform.position, player.transform.position) < seeDistance)
             &&(Vector3.Distance(transform.position , player.transform.position) > 1.7))
        {
            GetComponent<Animation>().CrossFade("muveChicken");
            nav.enabled = true;
            nav.SetDestination(player.position);
        }
        else
        {
            GetComponent<Animation>().CrossFade("idleChicken");
            nav.enabled = false;
        }
    }

Спасибо заранее за отзывчивость :D :)


Иногда именно те, кто, казалось бы, ничего из себя не представляет, делает то, что никто и представить не мог.

Сообщение отредактировал Sonik315 - Среда, 31 Августа 2016, 10:49
URGINSANДата: Вторник, 30 Августа 2016, 19:33 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
Sonik315, надо им хотяб коллайдеры (на весь их размер) дать, чтоб они друг через друга не переходили. И ригидбоди повесить с галочкой - isKinematic

Я на драйве
Sonik315Дата: Вторник, 30 Августа 2016, 19:40 | Сообщение # 3
был не раз
Сейчас нет на сайте
URGINSAN, я всё это уже перепробовал , но не помогает . Коллайдер на них висит . А вот с RigidBody проблемка , если ставлю на курицу она сама по себе отталкивается от стен и всё , в общем совсем неуправляемая .

Иногда именно те, кто, казалось бы, ничего из себя не представляет, делает то, что никто и представить не мог.
NecrolichДата: Вторник, 30 Августа 2016, 19:40 | Сообщение # 4
почетный гость
Сейчас нет на сайте
Вроде бы нужно запечь сам колайдер у курицы для нав меша.
Sonik315Дата: Вторник, 30 Августа 2016, 19:45 | Сообщение # 5
был не раз
Сейчас нет на сайте
Necrolich, Извини немного не понял , что означает запечь ? Я просто начинающий не знаю всех терминов :D :D :D

Иногда именно те, кто, казалось бы, ничего из себя не представляет, делает то, что никто и представить не мог.
LertmindДата: Вторник, 30 Августа 2016, 19:53 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
Sonik315, возможно Necrolich ошибся, ну или я не знаю, потому что запекается обычно NavMesh: Building a NavMesh.
Rigidbody обязаны быть, нельзя двигать объекты с коллайдерами и без Rigidbody. Если не управлямые, то наверно забыл последовать совету "И ригидбоди повесить с галочкой - isKinematic".
Код не разбирал, но обычно нужно специально прописать поведение AI в группе. Попробуй задавать им случайную скорость, случайные отклонения или почитай ресурсы про Crowd AI. Например, здесь неплохая демонстрация в принципе Unreal Engine 4 Detour Crowd AI Controller.


Сообщение отредактировал Lertmind - Вторник, 30 Августа 2016, 19:54
Sonik315Дата: Вторник, 30 Августа 2016, 19:56 | Сообщение # 7
был не раз
Сейчас нет на сайте
Сумел добавить RigidBody но это ничего не дало .

Добавлено (30 августа 2016, 19:56)
---------------------------------------------
Lertmind, Спасибо за информацию намёк понял , будем читать )) Может что и выйдет :D :D :D


Иногда именно те, кто, казалось бы, ничего из себя не представляет, делает то, что никто и представить не мог.
LertmindДата: Вторник, 30 Августа 2016, 20:21 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
Sonik315, для анимации желательно использовать Mecanim. В проекте-примере - Mecanim Example Scenes - как раз есть движение медведя, посмотри как там реализовано. Куча бегающих агентов тоже присутствует.
Sonik315Дата: Вторник, 30 Августа 2016, 20:34 | Сообщение # 9
был не раз
Сейчас нет на сайте
Lertmind, Спасибо огромное , обязательно посмотрю , и кстати проблемку уже решил дело всё в настройках NavMeshAgent .
Фотография
там по стандарту был очень малый радиус реагирования . Но ссылку всё равно обязательно посмотрю )))
ОГРОМНОЕ ВСЕМ СПАСИБО!


Иногда именно те, кто, казалось бы, ничего из себя не представляет, делает то, что никто и представить не мог.
EchoITДата: Вторник, 30 Августа 2016, 20:56 | Сообщение # 10
старожил
Сейчас нет на сайте
Sonik315, мьсё, у вас проблемы с масштабами в игре. Судя по радиусу NavMesh, курицы со скриншотов - просто гиганты какие-то. :D

Долгожданный анонсик: State of War
LertmindДата: Вторник, 30 Августа 2016, 21:10 | Сообщение # 11
заслуженный участник
Сейчас нет на сайте
EchoIT, похоже в сантиметрах.
Sonik315Дата: Среда, 31 Августа 2016, 10:47 | Сообщение # 12
был не раз
Сейчас нет на сайте
EchoIT, я уже это понял :D :D :D Ну это не страшно , я ведь только учусь ) ошибки не желательны но без них некуда , ведь на них же учишься :D respect

Иногда именно те, кто, казалось бы, ничего из себя не представляет, делает то, что никто и представить не мог.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг