Поиск укрытий в реальном времени

Форум для всего, что связано с ИИ.

Поиск укрытий в реальном времени

Сообщение 6@kJl@>l<@H 14 июн 2019, 12:15

:-h Привет всем форумчанам! Есть ИИ, есть другой ИИ, они воюют между собой [V] . Когда у одного из них ХП < 40, ему нужно найти укрытие [] . Пожелание: не хочу делать по вэйпоинтам :-s ! Сцена очень большая, да и впринципе, в [nuklear] сталкере [nuklear] , например, ИИ всё сами анализируют. Проверить, видно ли ИИ из конкретной точки можно так:

Синтаксис:
Используется csharp
bool canSee(Transform from, Transform to)
    {
        Vector3 direction = to.position - from.position;
        Quaternion look = Quaternion.LookRotation(direction);
        float angle = Quaternion.Angle(from.rotation, look);

        //  Debug.Log("ANGLE = "+angle);

        Ray ray = new Ray(from.position, direction);
        RaycastHit hit;

        if (Physics.Raycast(ray, out hit, maxSearchDistance, layerMask))
        {
            if (hit.transform.gameObject == to.gameObject & angle < eye_fov_range)
                return true;
            else
                return false;
        }
        return false;
    }
 
6@kJl@>l<@H
UNец
 
Сообщения: 4
Зарегистрирован: 14 июн 2019, 11:51

Re: Поиск укрытий в реальном времени

Сообщение 1max1 14 июн 2019, 12:36

в [nuklear] сталкере [nuklear] , например, ИИ всё сами анализируют

Откуда инфа?
не хочу делать по вэйпоинтам

Можно заранее кодом сгенерировать зоны на карте, в которые возможно побежать для укрытия, ну и потом пробегаться в цикле искать ближайшую и бежать к ней.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Поиск укрытий в реальном времени

Сообщение Jarico 14 июн 2019, 13:19

1max1 писал(а):
в [nuklear] сталкере [nuklear] , например, ИИ всё сами анализируют


ИИ не анализирует а работает по схемам описанным в скриптах...

Для сталкера даже моды есть которые дополняют стандартные схемы ведения боевых действий, если стандартные схемы не могли заставить ИИ кинуть гранату или вылечить союзника то со схемами они это умеют
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Поиск укрытий в реальном времени

Сообщение 6@kJl@>l<@H 14 июн 2019, 14:00

Jarico писал(а):
1max1 писал(а):
в [nuklear] сталкере [nuklear] , например, ИИ всё сами анализируют


ИИ не анализирует а работает по схемам описанным в скриптах...

Для сталкера даже моды есть которые дополняют стандартные схемы ведения боевых действий, если стандартные схемы не могли заставить ИИ кинуть гранату или вылечить союзника то со схемами они это умеют
Признаю, ошибся.
Последний раз редактировалось 6@kJl@>l<@H 14 июн 2019, 14:05, всего редактировалось 1 раз.
6@kJl@>l<@H
UNец
 
Сообщения: 4
Зарегистрирован: 14 июн 2019, 11:51

Re: Поиск укрытий в реальном времени

Сообщение 6@kJl@>l<@H 14 июн 2019, 14:03

1max1 писал(а):
не хочу делать по вэйпоинтам

Можно заранее кодом сгенерировать зоны на карте, в которые возможно побежать для укрытия, ну и потом пробегаться в цикле искать ближайшую и бежать к ней.

Как это можно сделать? (Как определить, что место безопасное?) Можно пример кода, пожалуйста?
6@kJl@>l<@H
UNец
 
Сообщения: 4
Зарегистрирован: 14 июн 2019, 11:51

Re: Поиск укрытий в реальном времени

Сообщение 1max1 14 июн 2019, 15:27

Заранее нельзя найти безопасные места, ведь в одном случае оно будет безопасное, а в другом - нет и зависит от расположения игрока. Можно только вейпоинты заранее кодом сгенерировать, а потом проверять в рантайме какой безопаснее. В таких алгоритмах не силен, но скорей всего будет что-то типа А*. Но проще конечно по вейпоинтам, расставленными ручками :)
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Поиск укрытий в реальном времени

Сообщение 6@kJl@>l<@H 14 июн 2019, 16:15

A* слишком замороченный. Ладно, и на том спасибо.
6@kJl@>l<@H
UNец
 
Сообщения: 4
Зарегистрирован: 14 июн 2019, 11:51

Re: Поиск укрытий в реальном времени

Сообщение seaman 14 июн 2019, 16:52

A* слишком замороченный.

зачем разбираться во внутренней работе. Нужно использовать готовый плагин и разбираться в его АПИ.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Поиск укрытий в реальном времени

Сообщение ~AvA~ 14 июн 2019, 20:07

Я не понял, а за что ты таки спрашиваешь?
Как проверить, безопасно ли укрытие.. или как в него добраться?

ИИ поведение пишется обычно через BehaviourTree (для Unity есть 4 где-то клакссных палгина, типа Behaviour Designer). Кажется в нем внутри есть уже кучу реализованных тасков для ИИ.
Аватара пользователя
~AvA~
UNIверсал
 
Сообщения: 396
Зарегистрирован: 17 фев 2015, 13:09

Re: Поиск укрытий в реальном времени

Сообщение waruiyume 14 июн 2019, 21:10

Выбираете случайным образом несколько точек вокруг NPC, отсеиваете точки в которые нельзя пройти, обходите оставшиеся точки в и назначаете им вес в зависимости от того на противника или от него бежать в направлении точки и как далеко бежать до неё, выбираете точку с минимальным весом.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону


Вернуться в Искуственный Интеллект

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1