Size: a a a

Unity Floodилка

2021 April 19

🐸

🐸Гринирский🐸... in Unity Floodилка
Для 8dir длина вектора до цели
источник

🐸

🐸Гринирский🐸... in Unity Floodилка
А стоимость шага - либо цена ноды, либо цена ноды*вес поворота
источник

🐸

🐸Гринирский🐸... in Unity Floodилка
Но мой алгоритм не параллелится! У меня путь учитвает предыдущие построенные - меняются ноды
источник

T_

Trell _ in Unity Floodилка
Да эта фигня
источник

T_

Trell _ in Unity Floodилка
Переслано от 🐸Гринирский🐸...
Для 4dir просто сумма до цели x+y
источник

T_

Trell _ in Unity Floodилка
Переслано от 🐸Гринирский🐸...
Для 8dir длина вектора до цели
источник

🐸

🐸Гринирский🐸... in Unity Floodилка
Я вот этого избегал, поэтому так сделал
источник

🐸

🐸Гринирский🐸... in Unity Floodилка
Я про изменение графа
источник

T_

Trell _ in Unity Floodилка
Тоесть ты изменил немного алгоритм да?
источник

🐸

🐸Гринирский🐸... in Unity Floodилка
Я его с нуля писал )) добавил в вес учёт поворота и менял вес всех нод пути
источник

🐸

🐸Гринирский🐸... in Unity Floodилка
источник

🐸

🐸Гринирский🐸... in Unity Floodилка
Снижение веса на нодах пути позволило объединять дороги
источник

🐸

🐸Гринирский🐸... in Unity Floodилка
Увеличение веса ноды от поворота - избегать лесенок
источник

🐸

🐸Гринирский🐸... in Unity Floodилка
Это, как раз, часть "жадного" алгоритма в а*
источник

🐸

🐸Гринирский🐸... in Unity Floodилка
Чтобы искать напрямую путь
источник

🐸

🐸Гринирский🐸... in Unity Floodилка
Просто в 4dir диагоналей нет, поэтому быстрее считать так
источник

🐸

🐸Гринирский🐸... in Unity Floodилка
Для 8dir можно и легче формулу, без корня сделать, с одним умножением
источник

🐸

🐸Гринирский🐸... in Unity Floodилка
Типа min(x,y)*1.41f + max(x,y)-min(x,y)
источник

🐸

🐸Гринирский🐸... in Unity Floodилка
Но я не нашел как моделек для 8dir
источник

🐸

🐸Гринирский🐸... in Unity Floodилка
Поэтому и не использовал 8dir
источник