Форум: "Игры";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
ВнизГород... Найти похожие ветки
← →
K.o.Z © (2003-08-26 15:32) [0]Уважаемые мастера, как мне лучше всего хранить карту города?(такого же большого, как в Мафии)
← →
NailMan © (2003-08-26 16:15) [1]Ну как в мафии я не знаю, но могу предложить такую схему:
Так как город структура довольно однообразная по элементам, то сам террейн можно хранить в виде неких блоков-модулей. Скажем по кварталам. Квартал - это матрица, в поля которой можно заполнить каким-либо покрытием: асфальтом, бетоном(фундамент дома), зеленью и т.д. Скажем пример:
______ _____________
| |
Б | А | Т
| |
______| |_____________
Естесственно сам террейн тут будет на картах высот или как иначе, но основу задает 2мерная матрица в которой обозначен тип поверхности. 3 измерение задают высоты.
Ну а дома просто ставишь статичным объектом на бетонные элементы мартицы.
Можно динамически подгружать следующий квартал - экономия места.
Типа так.
← →
lokid7 © (2003-08-26 19:45) [2]Я кстати делаю также, как и NailMan + частичный вывод на экран + динамическая загрузка
Вот.
← →
K.o.Z © (2003-08-26 21:21) [3]очень конструктивное предложение ...
const
quadsize = 128;
quadkol = 5;
type
SSector = record
height: glfloat;
landscape: glbyte;
end;
SQuad = record
name: PChar;
field: array [0..quadsize-1, 0..quadsize-1] of SSector;
end;
SMap = array [0..quadkol-1] of SQuad;
а потом SMap просто будет хран. в файле.... думаю такой вид будет приемлем
Подскажите где взять текстуры ландшафта??
P.S.
А где вот хранить всякие фонари, мусорные ящики и тлф. будки, они ж не будут занимать целую ячейку? ;)
← →
NailMan © (2003-08-27 13:42) [4]Да потырь из той же самой мафии или ГТА. Заодно приобретешь опыт влома ресурсов(если они не в доступном виде).
Насчет мелких предметов навроде фонарей, баков и т.д есть такая мысль:
Задаешь 2Д координаты объекта в нужной точке.
Когда у тебя сгенерируется сетка террейна на основе карты, то находишь точку пересечения сетки(точнее соотв треугольника) и лучом исходящий из положения фонаря на 2Д и направленный вертикально(вертикальная координата на 2Д ессно =0). Получается полноценные 3Д координаты. Туда и помещаешь фонарь(его основание).
← →
mrAld © (2003-08-28 12:42) [5]Карту лучше хранить в виде графов или деревьев. По крайней мере структура получается удобней в использовании.
← →
K .o.Z (2003-08-29 01:32) [6]Не нашел никаких материалов о графах, будьте добры - дайте ссылку
← →
mrAld © (2003-08-29 12:45) [7]Незнаю насчёт ссылок - мы это проходили на втором курсе :)
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c