Добрый день!
Подскажите, какой алгоритм лучше подходит для этой задачи. Объекты цельные, не разбитые на тайлы.
https://prnt.sc/uf11jl
Алгоритм https://shaunlebron.github.io/IsometricBlocks имеет проблему в случае пересечения объёмов. Это частый случай.
https://prnt.sc/uf13mq
Ещё натыкался на https://www.youtube.com/watch?v=yRZlVrinw9I, но пока не углублялся в детали.
Выглядит вроде нормально, может кто-то ломал уже голову?
https://prnt.sc/uf18d4
Может пригодится:
https://gamedev.ru/code/forum/?id=226930
https://habr.com/ru/post/269653/
В общем случае корректно отсортировать объекты в изометрии невозможно. Можно только для частных случаев (например, все объекты занимают на сетке строго квадратные места).
FordPerfect
Спасибо,читал, решения основаны на https://shaunlebron.github.io/IsometricBlocks.
Sbtrn. Devil
Печалька...
А в стратегиях вроде Age Of Empires 2 тоже отталкиваются от коробок? Для каждого персонажа есть некий объём? Кто-нибудь в курсе?
Sbtrn. Devil
> В общем случае корректно отсортировать объекты в изометрии невозможно. Можно
> только для частных случаев (например, все объекты занимают на сетке строго
> квадратные места).
почему? для любых прямоугольных зданий отлично все сортируется, если начинаются всякие угловые, ввиде букв Г или П - то там - да, универсальная сортировка невозможна
Да, для общего случая с пересечениями вряд ли получится:) Тоже бы хотел выход найти.
Рисуйте в обратном порядке , то что больше минимальной ячейки, разбивайте на меньшие.
leonardo98
> почему? для любых прямоугольных зданий отлично все сортируется,
Но если все стоят на земле в прямоугольной сетке и занимают непересекающиеся прямоугольники - да, похоже, тогда можно. Хотя и не совсем тривиально - в общем случае это будет построение BSP-дерева.
универсальный способ это хранить вместе с цветом, альфой еще и информацию о глубине. Не обязательно даже слишком точную если спрайты рисуются изначально вручную, можно в 3d редакторе сделать грубую болванку покрывающую спрайт и взять глубину из нее, отсекая лишнее по альфе.
Sbtrn. Devil
На картинке явно не здания) хоть и прямоугольные
А как насчет решения, которое было реализовано в Infinity engine..?
И ещё вдобавок... можно же на спрайте оставить информацию об отрезках, по которым он будет сортироваться...
mingw
Где можно ознакомиться с решением? Нашёл открытый порт gemrb, но нет времени перебирать исходники.
С отрезками интереснее, это что-то ближе к https://www.youtube.com/watch?v=yRZlVrinw9I, только там точка и отрезки. Может где-то проскальзывала статья?