Создание террейна в Terrain Builder по готовой карте высот

Вообще то уроков по созданию карты уйма, даже можно найти с исходниками готовой карты, к тому же советую посмотреть уроки MegaBlackGeneral’а на ютубе 
там он все очень подробно разжевал. Но возможно этот урок кому то покажется более разжеванным и понятным

 

Террейн билдер в отличие от Визитора понимает довольно много различных форматов карт высот, но я использую формат .xyz — самый наверно простой и точный вариант, плюс его понимает большинство левел-редакторов.

Способ создания карты высот с маской и саткой в программе L3DT

А сейчас предположим что у вас имеется:
сама карта высот в формате .xyz
сатка (satmap) — спутниковая карта местности в формате *.bmp
Сатка отрисовывается в далеке и является спутниковой картой при нажатии на «M»
И Маска (maskmap) — по максе у нас кладуться детальные текстуры (что под ногами), и рассаживается трава.

 

Для начала нам нужно определиться с папкой проекта и закинуть в нее все нужные для работы исходники.

Создаем на диске P папку с названием вашего проекта, в ней папку source (P:\my_map\source)

и в нее кидаем наши исходники созданные ранее (сатку, маску, и саму карту высот в формате .xyz или .bmp)

ВАЖНО! satmap и maskmap лучше делать в формате .BMP, если у вас сатка больших размеров в .png, то она будет импортироваться в TB гораздо дольше чем .bmp

 

Теперь нам нужен конфиг который определяет по какому цвету ложится та или инная детальная текстура

В папке source создаем текстовик с именем layers.cfg

И копируем в него эти строки:

class Layers
{
class osk_grass
{
texture = #(rgb,1,1,1)color(0.5,0.5,0.5,1,cdt);
material = «my_map\data\osk_grass.rvmat»;
};
class osk_sand
{
texture = #(rgb,1,1,1)color(0.5,0.5,0.5,1,cdt);
material = «my_map\data\osk_sand.rvmat»;
};
class osk_rock
{
texture = #(rgb,1,1,1)color(0.5,0.5,0.5,1,cdt);
material = «my_map\data\osk_rock.rvmat»;
};
};

class Legend
{
picture=»my_map\source\MapLegend.png»;
class Colors
{
osk_grass[]={{0,255,54}};
osk_sand[]={{255,204,0}};
osk_rock[]={{241,0,28}};
};
};

В графе «texture» можно указать как текстуру с тегом _mco, либо задать цвет.

material — указываем путь к материалу который должен лежать в P\:my_map\data

О материалах читайте здесь

ВАЖНО! как в названии материала, так и текстуры лучше приписать префикс из нескольких букв типа «qwert_grass» — иначе могут быть проблемы с травой

Map Legend — можно взять эту и поместить в папку source

MapLegend

В классе «Colors» задается цвет в RGB палитре, который у вас указан в маске (maskmap.bmp)

 

Открываем Террейн Билдер, создаем новый mapframe

В выпадающем окошке жмем OK, и попадаем в такое окно

 

Name — менять дефолтное название не обязательно

Output root folder — указываем путь до нашей папки «my_map»

Нажимаем кнопку «Create subfolders» — создадуться нужные террейн билдеру папки, где будут храниться кэши вашего террейна, в частности папка «source» в которой будут хранитсья все наши исходники и файл конфигурации слоев.

EastingNorthing — долготу\широту лучше вбивать эти — «200000.000; 0.000»

(ВАЖНО! если вбить другие значения, не будут работать дороги проложенные способом «road shape»)

 

Переходим на вкладку Samples

Grid size — выставляем реальный размер вашей карты высот

Cell size — размер пикселя (или множитель), т.е. если карта высот 2048x2048px * 7.5 = 15360 — получается размер одного пикселя будет целых 7.5 игровых метров, а размер карты получится 15×15 километров. (слишком низкий размер не стоит задавать, могут начаться глюки типа проваливания сквозь землю, или боты не смогут ориентироваться на местности)

SatelliteSurface mask source — задаются размеры сатки\маски — желательно чтобы они совпадали или были кратными 2, он их все равно либо сожмет либо растянет. Resolution — просто показывает кратность по отношению к террейну, т.е. Если у вас карта получается 15360, а сатка с маской таких же размеров, то резолюшн будет 1 (т.е. соотношение 1:1), если в 2 раза меньше — то будет стоять 2 (т.е. 1:2),

Satellite/Surface tiles — здесь указывается размер слоя (Layer). При таких значениях размера карты значение 1024 будет оптимальным. Если в игре на сатке появились атрефакты — измените значение и сгенерируйте заного слои.

Desired overlap — перекрытие слоев в пикселях. лучше оставить как есть.

Texture layer — здесь выставляем на сколько метров будет растягиваться наша детальная текстура (та что под ногами). Значение стоит выбирать исходя из размера текстуры. Если выбрать слишком низкое значение — не будет плавного перехода между двумя разными текстурами.

Переходим на вкладку Processing

Пока у нас ничего не доступно, потому что не указан layers.cfg

Выбираем его из нашей папки (P\:my_map\source), жмем кнопочку Rebuild terrain, и OK

Мапфрейм создан, теперь нужно закинуть наши файлы в террейн билдер. Делать это можно перетаскиванием файлов прямо в главное окно редактора, выбирая при этом в выпадающем окошке что импортим (maskmap, satmap или terrain.xyz)

После импорта они все появятся в правом столбике «Layer manager«, но надо проверить встали ли они по нужным нам координатам. Поочередно жмакаем правой кнопкой мыши на каждой из картинок, и проверяем координаты:

Если координаты не те — вбиваем наши, что указывали выше в мапфрейме, так же указываем размеры реальной карты. После исправлений возращаемся в конфигурацию мапфрейма жмякнув по нему 2 раза мышкой в том же столбике под «Layers manager». (если нету, идем в Window и ставим галочку )

Переходим на последнюю вкладку и снова жмякаем Rebuild Terrain. Теперь в главном окне билдера должен появится наш террейн. Переключение между саткоймаскойтеррейном осуществляется этими кнопочками в шапке программы   

Ну а теперь можно глянуть как выглядит террейн пока без текстур, запустив бульдозер этой кнопочкой