Size: a a a

2021 January 31

Z

ZZZubec(Salamandr) in Alprog I/O
Если у вас трудности именно с этим, я могу помочь.
источник

P

Pavel in Alprog I/O
Про геометрию на лету не очень понял. Вопрос про треугольники тоже не понял.
Вопрос про то что точка на длинном треугольнике может оказаться не на идеальном пути?
источник

P

Pavel in Alprog I/O
Или про оптимизацию геометрии?
источник

P

Pavel in Alprog I/O
Если у вас есть на примете хорошие плюсовые библиотеки для оптимизации геометрии (как 2D подойдут, так и 3D думаю тоже), то был бы признателен
источник

Z

ZZZubec(Salamandr) in Alprog I/O
Pavel
Про геометрию на лету не очень понял. Вопрос про треугольники тоже не понял.
Вопрос про то что точка на длинном треугольнике может оказаться не на идеальном пути?
Да
источник

Z

ZZZubec(Salamandr) in Alprog I/O
Pavel
Если у вас есть на примете хорошие плюсовые библиотеки для оптимизации геометрии (как 2D подойдут, так и 3D думаю тоже), то был бы признателен
Могу написать
источник

P

Pavel in Alprog I/O
Даже так
источник

Z

ZZZubec(Salamandr) in Alprog I/O
Но не на с++, любой другой язык выберите
источник

AE

Alexey Eremin in Alprog I/O
Pavel
Если у вас есть на примете хорошие плюсовые библиотеки для оптимизации геометрии (как 2D подойдут, так и 3D думаю тоже), то был бы признателен
источник

AE

Alexey Eremin in Alprog I/O
отличная компактная либа, много что может. советую посмотреть
источник

AE

Alexey Eremin in Alprog I/O
а по поводу навмешей у Havok AI оч крутая документация, но для доступа к ней нужн девелоперский аккаунт
источник

Z

ZZZubec(Salamandr) in Alprog I/O
Да и сам havok платный же
источник

P

Pavel in Alprog I/O
А ну представим у нас есть 2D уровень где по есть по центру где-нибудь горизонтальная полоса метр на 500 метров, где нет никаких препятствий. Сразу над ней начинаются препятствия.
Есть большой шанс что у нас получится хотя бы один треугольник на пол километра, и когда мы будем мы строить путь через этот участок и попадём в этот треугольник нам нужно будет как-то решить какую точку треугольника нам нужно взять чтобы пытаться строить путь дальше. Углы могут быть очень далеко, центр тоже может быть далеко от нашего прямого пути, как и центры граней. Самый простой способ оказался построить прямую через него в сторону цели.
источник

P

Pavel in Alprog I/O
Alexey Eremin
отличная компактная либа, много что может. советую посмотреть
Спасибо!
источник

Z

ZZZubec(Salamandr) in Alprog I/O
Pavel
А ну представим у нас есть 2D уровень где по есть по центру где-нибудь горизонтальная полоса метр на 500 метров, где нет никаких препятствий. Сразу над ней начинаются препятствия.
Есть большой шанс что у нас получится хотя бы один треугольник на пол километра, и когда мы будем мы строить путь через этот участок и попадём в этот треугольник нам нужно будет как-то решить какую точку треугольника нам нужно взять чтобы пытаться строить путь дальше. Углы могут быть очень далеко, центр тоже может быть далеко от нашего прямого пути, как и центры граней. Самый простой способ оказался построить прямую через него в сторону цели.
Вершины треугольника всегда будут графами
источник

P

Pavel in Alprog I/O
ZZZubec(Salamandr)
Вершины треугольника всегда будут графами
Вершины не всегда самые удачные точки, они могут оказаться очень далеко и наша оценка такого пути будет не такая точная
источник

P

Pavel in Alprog I/O
Представим мы идём через прямоугольнцю комнату 10 на 10 метров. Из точки которая в центре одной стены в точку в центре другой. Если комната разбита на треугольники, то все вершины будут в углах
источник

Z

ZZZubec(Salamandr) in Alprog I/O
Но любая точка принадлежащая трехугольному или любому полигону никогда не попадет в дыру. Потому что сам полигон и есть поверхность по которой можно ходить. А дыры в меше, как раз являются отсутствием в этом месте полигона
источник

P

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

Z

ZZZubec(Salamandr) in Alprog I/O
Дык все препятствия должны быть обогнуты, то есть на месте препятствия в меше будет дыра
источник