Алгоритм ИИ для 3D игр
| |
Agny | Дата: Понедельник, 14 Октября 2013, 12:20 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Здравствуйте.
У меня такой вопрос. Разрабатывал 3D игру и нужен был ИИ для врагов. В интернете есть куча статей про алгоритм A* и ещё другие, но они все работают с тем что разбивают поле на квадраты. Мне это не подходит. Мне нужно что бы враги двигались в 8-и направлениях и взгляд их был постоянно направлен героя( как бы просчеты в реальном времени без разбиения на квадраты). Я в принципе уже написал свою версию как сам это видел(он у меня хоть и работает как в 2D по принципу вижу препятствие, пытаюсь его обойти), но хотел бы посмотреть как это делается в профессиональных играх. Не встречал ли кто статей или книг где подобное описывалось?
Все задания проходят очень легко если вы не знаете что они очень сложны.
Сообщение отредактировал Agny - Понедельник, 14 Октября 2013, 12:25 |
|
| |
Undead | Дата: Понедельник, 14 Октября 2013, 12:55 | Сообщение # 2 |
NeoAxis User
Сейчас нет на сайте
| Разбиение поля на квадраты совсем не обязательно. А* - алгоритм поиска пути в графе. Могу вечером скинуть ссылок по теме.
Вcем зла.
|
|
| |
JessyStorm | Дата: Понедельник, 14 Октября 2013, 13:07 | Сообщение # 3 |
заслуженный участник
Сейчас нет на сайте
| Тебя интересует алгоритм поиска пути в 3д пространстве, а не алгоритм ИИ, как я понял.
https://www.artstation.com/artist/jessystorm
|
|
| |
Agny | Дата: Понедельник, 14 Октября 2013, 13:18 | Сообщение # 4 |
частый гость
Сейчас нет на сайте
| Цитата Undead ( ) Разбиение поля на квадраты совсем не обязательно. А* - алгоритм поиска пути в графе. Могу вечером скинуть ссылок по теме.
Спасибо буду очень благодарен
Цитата JessyStorm ( ) Тебя интересует алгоритм поиска пути в 3д пространстве, а не алгоритм ИИ, как я понял.
Не знаю, может как то я неправильно выразился, но что бы было понятней что я именно хотел, вот ссылка на мой проект:
http://gcup.ru/forum/9-33442-1#559150
Только там смотрите внимательнее. Там две ссылки - одна на саму игру, другая для меню для неё
Все задания проходят очень легко если вы не знаете что они очень сложны.
|
|
| |
Valter | Дата: Суббота, 30 Ноября 2013, 10:43 | Сообщение # 5 |
почетный гость
Сейчас нет на сайте
| Цитата Agny ( ) Мне нужно что бы враги двигались в 8-и направлениях и взгляд их был постоянно направлен героя В 8 направлениях? вперёд, назад, влево, вправо, вверх, вниз, а ещё 2 направления это куда? Взгляд направлен на героя, как по мне это вообще к ИИ не относится, так визуальный эффект, без всяких заморочек - где герой туда и взгляд (если надо можно проверить на препятствия).
Цитата Agny ( ) но они все работают с тем что разбивают поле на квадраты. Мне это не подходит. Беда вот в чём, компьютер не может делать иначе, всё(!) в нем бьётся на части, если только вы не придумаете свою архитектуру компьютера (что ну очень сложно, я бы сказал невозможно, но не очень люблю это слово), иначе вы не сделаете. Дискретная структура, она и в Африке дискретная, с чем её не подавай.
Попробуйте лучше разобраться. A* Вам не подошел не потому что, он "бьёт на квадраты", а потому, что Вы поверхностно пробежались, не поняли и решили сделать что-то своё. Сформулируйте чётко цель, того, что Вам нужно. Сейчас это "размышление философа о том, о сём", нет никакой конкретеки, мне кажется Вы сами не знаете чего хотите (вариант, "хочу крутую систему ИИ, чтобы он следил за героем не годится, с такой "целью" написать какую-то систему не получится, конкретезируйте ставьте чёткие, логичные цели, либо возложите эту работу на программиста или скриптёра). Компьютер не умеет додумывать.
Сообщение отредактировал Valter - Суббота, 30 Ноября 2013, 10:43 |
|
| |
kvestpro | Дата: Среда, 04 Декабря 2013, 20:30 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| Valter, говоря о восьми направлениях, он имел в виду движение по вертикали, горизонтали и диагонали по плоской поверхности. Agny, можешь просто уменьшить размер квадратов, тогда будет незаметно. Без сетки никак,
Инверсная кинематика в Unity Алгоритм поиска пути Jump Point Search
|
|
| |
Agny | Дата: Четверг, 05 Декабря 2013, 17:05 | Сообщение # 7 |
частый гость
Сейчас нет на сайте
| Valter, если решил по умничать, то скажу сразу , такой ответ мне не нужен. Твой ответ означает: " Я сам не знаю но решил отписаться".
kvestpro написал правильно - в восьми направлениях это значит ещё и движение по диагонали.
К тому же я выложил даже ссылку на проект, где реализовал то что я имел ввиду и безо всяких разбиений на квадраты как это сам я видел. Вычисление "пути" происходить с помощью математических формул. Получилось хоть и грубо, но вполне работает.
Я заводил эту тему потому что хотел узнать , как я уже писал: "хотел бы посмотреть как это делается в профессиональных играх". На этот вопрос вы мне не ответили...
Форумы видимо предназначены только для того что бы на них собирались флудильщики. На форумах никогда ничему не научат, и нормального не подскажут.
Всё равно самому придется думать. Так что спасибо всем.
Все задания проходят очень легко если вы не знаете что они очень сложны.
|
|
| |
|