Size: a a a

2021 February 14

P

Pavel in Alprog I/O
Ksanf Fillum
@gameraccoon по поводу навмешей и нахождения оптимальной точки на грани треугольника и проблемы больших треугольников
https://www.gdcvault.com/play/1014514/AI-Navigation-It-s-Not
второй доклад (с 20 минуты), там пацан как раз рассказывает про то, как они это решали (решение на 29 минуте)
Посмотрел с начала, они немного другую проблему решали все таки, но это тоже тема, я не дошел до разбиения навмеша для такого, но думаю придется делать что-то как в последнем докладе из трех.

А вот именно для A* у них на скриншотах видно как раз суть проблемы которую я описывал. Если представить что это посчитанные пути (возможно именно пути у них чуть по другому считаются), то видно ниже центра и сверху слева насколько длиннее был бы оценен путь по сравнению с финальным сглаженным путем. Но у них навмеш видно что хорошим алгоритмом сгенерирован (у меня это было бы значительно хуже в такой ситуации) и уровни вроде без мелких препятствий, так что думаю это вполне норм по центрам треугольников считать оценки.
источник

АТ

Александр Тужик... in Alprog I/O
А какую задачу ты решаешь?
источник

P

Pavel in Alprog I/O
Зашакалило картинку что-то черезчур, попробую перескриншочу (а нет, не перескриншочу, все сломалось)
источник

Z

ZZZubec(Salamandr) in Alprog I/O
нормальная картинка, я тоже посмотрел немного
источник

P

Pavel in Alprog I/O
Александр Тужик
А какую задачу ты решаешь?
я уже все решил, у меня все хорошо, не надо помощи, спасибо :)
источник

АТ

Александр Тужик... in Alprog I/O
Pavel
я уже все решил, у меня все хорошо, не надо помощи, спасибо :)
да я и не помогу
источник

АТ

Александр Тужик... in Alprog I/O
я в навграфах не силён
источник

АТ

Александр Тужик... in Alprog I/O
просто что ты делаешь?
источник

АТ

Александр Тужик... in Alprog I/O
может мне пригодится в будущем )
источник

АТ

Александр Тужик... in Alprog I/O
просто ты написал "они немного другую проблему решали все таки", я задаю логичный вопрос )
источник

P

Pavel in Alprog I/O
Александр Тужик
просто что ты делаешь?
а, я выше описывал проблему которую я решал во время работы с намешами. что есть A* который ищет оптимальный путь по графу, но к сожалению нельзя однозначно представить полигон навмеша как узел графа (нужно выбрать одну точку, чтобы для нее считать оценки). И что есть три типичных варианта (брать центр полигона, брать вершину ближе всего по пути, или центр грани ближе всего по пути) во время построения пути через A*.  Ну и что ни один из вариантов не дает идеальных результатов.
источник

P

Pavel in Alprog I/O
Ну и что я впиливал костыль, который сначала находит точку пересечения линии до цели условно и грани полигона и рассматривает эту точку, а потом вроде рассматривает вершины, если не получилось.
источник

АТ

Александр Тужик... in Alprog I/O
Типа, что путь ты ищешь по ломанному пути
источник

АТ

Александр Тужик... in Alprog I/O
А хочешь находить ближайший сглаженный?
источник

P

Pavel in Alprog I/O
Ну да, это может дать неправильные оценки и выбрать не самый близкий путь.
источник

P

Pavel in Alprog I/O
Особенно, помогает если цель просто в прямой видимости (что самый частый вариант)
источник

АТ

Александр Тужик... in Alprog I/O
А как ты реализовал обход динамических препятствий?
источник

АТ

Александр Тужик... in Alprog I/O
Или у тебя нету?
источник

Z

ZZZubec(Salamandr) in Alprog I/O
я раньше комбинировал, ну как у них. То есть считаю общий путь допустим по тем же центрам, а потом сглаживаешь его.
https://youtu.be/Q0O2TZWrEEw
источник

Z

ZZZubec(Salamandr) in Alprog I/O
но как видим, толком ничего не сохранилось
источник