Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / По 2д карте контуров наставить стен разной длины

По 2д карте контуров наставить стен разной длины

Поделиться
MAMOHT-92Постоялецwww23 июня 201712:03#0
Изображение

есть вот такая генерируемая карта, я хочу по ней сделать 3д сцену из помещений, обнесенными стенами.
Что-то типа такого:

+ Показать

в чем соль: не хочу ставить однообразные стенки  размером в 1ин тайл, хочу разнообразия и разные модельки стенок разной длины, но кратной размерам тайлов.

т.е. заготовить набор моделек, внутренний угол, внешний и стенки длиной от 1 до 4 например и грамотно эти модельки наставить на карте. Из идей пока вначале по вертикали, а затем по горизонтали набрать вертикальных и горизонтальных стенок ну и на одном проходе найти L образные соединения. Беда в том, что 2 прохода и каждый раз смотреть минимум на 1 пиксель вокруг.

Есть у кого какие идеи?

VoidSpiritПостоялецwww23 июня 201712:09#1
MAMOHT-92
Идеи писал в предыдущей теме, но повторюсь - по сути, это просто рендеринг прямоугольников в массив, где каждая точка - тайл или, скажем - четверть тайла. Каждый прямоугольник рисуется в массив двумя "цветами" - стенка и внутренняя часть. Накладывающиеся прямоугольники объединяем по И: объединение "стенки" с "пустотой" дает "пустоту", "стенки" со "стенкой" - "стенку", чего угодно с фоном - оставляет накладываемые данные как есть.

Правка: 23 июня 2017 12:10

MAMOHT-92Постоялецwww23 июня 201712:37#2
VoidSpirit
у меня есть набор прямоугольников, я при желании могу искать линии не по всей карте, но там, где есть прямоугольники, но есть интересный случаи, как пример:


Изображение

стенки для комнаток в отдельности довольно мелкие и не разгуляешься, но вот благодаря проходу можно поставить одну большую красивую модельку если асбтрагироваться от комнат и работать только со стенами в отрыве от них.

----------
я подобным образом и отрисовываю комнаты - белое - это пол, черное - это стены, соединял комнаты я по условиям. Если моя идея выстрелит и у меня получатся норм уровни, то распишу что да как, особенно соединения комнат, ну и часть инфы можно найти в теме проего проэкта.

Правка: 23 июня 2017 12:39

MAMOHT-92Постоялецwww23 июня 201712:45#3
соединяю комнаты либо прямоугольником, либо большим Г образным соединением из двух прямоугольников и квадрата, если кому интересно, вот кусок по вертикальным соединениям и то, что он затрагивает:
+ простыня

С соединением их порядком и условием у меня проблем на данный момент нет, там я долго повозился, и все вроде ОК хотя кое какие условия надо добавить и чуть кое что изменить, но уже на уровне выше, в абстракциях и в грАфе.

Правка: 23 июня 2017 12:46

/ Форум / Программирование игр / 2D графика и изометрия

2001—2017 © GameDev.ru — Разработка игр