Моддинг PC игр
Авторизация



Naphtizin.net Статьи Работа с Map Editor.
По просьбам трудящихся решил написать статью по работе с программой Map Editor (сокращенно MED). Напомню, что эта программа служит для редактирования игровой локации в GTA, проще говоря для редактирования карты.
Map Editor работает с GTA3, GTA Vice City и GTA San Andreas, скачать его  можно здесь.

Начнем с пары моментов, которые вызывают трудности у людей первый раз открывших MED:

1) Программа не понимает пути содержащие кириллицу, так, что если у вас установлена игра в папку с русским названием (к примеру в папку "Игры" вместо "Games", в мои документы или просто скопирована на рабочий стол), то программа не будет отображать карту.
2) Программа не будет сохранять изменения до тех пор пока у файлов в папке maps стоит атрибут "только чтение". Поэтому первым делом идем в папку где установлена игра и кликаем по папке с GTA правой кнопкой мыши и в свойствах папки убираем галочку "только чтение" и жмем кнопку "Применить", в окошке с подтверждением выбираем пункт "К этой папке и ко всем вложенным папкам и файлам".


3) Не сохраняются повороты и перемещения уже существующих объектов кликом по вкладке "File > Save Install", только новых. Чтобы сохранить изменение положения существующих моделей нужно жать кнопку Save во вкладке "IPL".

Теперь можно приступать к работе с MED. Запускаем программу и жмем кнопку "Add"  

Вписываем название и указываем путь к игре.

 
Рассмотрим 4 основные вкладки программы:
IDE, IPL, Scene, Item
Для тех кто не в курсе нужно сразу уточнить, что карта в GTA не является сплошной, а состоит из районов.

Во вкладке IDE мы видим список районов (точнее список файлов с расширением IDE), каждый файл отвечает за то какие модели и текстуры содержатся в определенном районе.

Во вкладке IPL мы видим похожую картину, только здесь уже файлы с названиями районов имеют расширение IPL. Эти файлы отвечают за расположение моделей и некоторые другие параметры.

Вкладка Scene нужна для того чтобы загрузить район во вьюпорт.

Вкладка Item позволяет редактировать параметры конкретного объекта загруженного во вьюпорт.

Рассмотрим основные нас интересующие функции, а именно перемещение и удаление существующих объектов, и добавление собственных. Перейдем во вкладку Scene отметим галочкой интересующий нас район и нажмем кнопку "Render". После чего все 3d модели района загрузятся во вьюпорт программы. Можно включить отображение всех районов сразу, но если у вас слабый компьютер, то делать этого не стоит.
Для перемещения во вьюпорте используйте клавиши W,S,A,D либо стрелочки. R,F - перемещение вверх/вниз. Для увеличения скорости перемещения зажмите SHIFT. Во сколько раз увеличится скорость с шифтом можно изменить параметром Shift multiplier, который находится под кнопкой "Render". Там же можно изменить чувствительность мыши (ползунком Mouse speed) и выбрать время (Time in scene). Если вы изменили время, то вам потребуется еще раз нажать кнопку "Render".

Перемещение объектов:

Подлетим к какому либо объекту и дважды щелкнем по нему мышкой. Объект выделится красным цветом, а слева от вьюпорта автоматически откроется вкладка Item в которой мы будем редактировать местоположение выбранной модели.
В принципе тут всё предельно понятно. Синим цветом написано название района к которому принадлежит модель. Ниже идет идентификатор модели и название dff файла (файл геометрии). И наконец параметры расположения. Position X,  Position Y,  Position Z - позиция объекта в пространстве по трем осям и Rotation X, Rotation Y, Rotation Z - поворот для каждой оси. Кнопки "<" и ">" означают маленький шаг в пространстве (10 см), кнопки "<<" и ">>" означают большой шаг (10 м). Повернем нашу модель на 45 градусов по оси Z и переместим по оси Y на 8 метров. Нажмем кнопку "OK". Затем во вкладке IPL выберем пункт с названием нашего района и жмем кнопу "Save". Если попытаться сохранить стандартным способом "File > Save Install" либо горячей клавишей "CTRL+S", то информация о повороте и перемещении не сохраниться. Стоит отметить, что в более старой версии программы всё сохранялось на ура. На фичу это не похоже, так, что будем считать это неприятным багом.
Смотрим, что получилось:
Копирование объектов:

Для того чтобы скопировать объект выделим его двойным щелчком. Затем нажмем правую кнопку мыши и во всплывающем окошке выберем пункт "Copy".
Перейдем во вкладку IPL, выберем название нашего района и кликнем правой кнопкой мыши в то место куда хотим скопировать модель, во всплывающем окошке выберем пункт "Paste".
Объект вставится в то место куда мы указали. После чего в автоматически открывшейся вкладке Item его можно пододвинуть и повернуть.
Откроем вкладку IPL, выберем название нашего района и нажмем кнопку "Save".
Смотрим, что получилось:
Чтобы скопировать объект в другой район надо так же выделить его двойным кликом, выбрать пункт "Copy".
Перемещаемся во вьюпорте в нужный район. У меня это "Docks", открываем вкладку IPL, выбираем название этого района, кликаем правой кнопкой мыши в нужное место и вставляем модель командой "Paste".
Сохраняемся:
Смотрим:

Удаление объектов:

Чтобы удалить объект достаточно выделить его двойным кликом и нажать кнопку "Delete" на клавиатуре, либо при правом клике выбрать из всплывающего окна "Delete Object".
После этого не забудьте сохраниться "File > Save Install" (при удалении объектов эта функция работает).
Либо сохранимся во вкладке IPL:
У всех больших объектов в GTA таких как здания, дороги, части рельефа есть лоды. Лод (LOD) если кто не в курсе это низко детализированная модель которая загружается вместо основной на значительном расстоянии и служит для уменьшения нагрузки на процессор. У маленьких объектов в GTA лодов нет. Поэтому, если вы удалите какой-нибудь большой объект, то не забудьте удалить его лод. Делается это так:

Загрузим для примера район "Airpot" во вкладке Scene. Выделим двойным кликом завод находящийся напротив Sunshine Autos, щелкнем по ней правой кнопкой мыши и выберем "Delete Object".
Теперь перейдем в режим лодов. Откроем вкладку "View" и выберем пункт "Long distance", после чего нажмем кнопку "Render" во вкладке Scene.
Выделим двойным кликом лод и удалим.
Теперь можно сохраниться. Перейти в режим нормальных моделей можно во вкладке "View", выбрав пункт "Normal Distance" и нажав кнопку "Render" во вкладке Scene.

Не все объекты в GTA можно бесследно удалить. Большинство зданий при удалении оставляют дыры в ландшафте.

Добавление собственных объектов:

Для того, чтобы вставить свою модель в GTA, нам понадобиться непосредственно сама модель в формате dff, текстура в формате txd и файл коллизии в формате col. Все три файла должны иметь одинаковое название. У меня они называются sbildb.dff, sbildb.txd и sbildb.col.
Нам понадобиться загрузить все три файла в архив gta3.img, который находится в папке models. Но если файлы с расширением dff и txd можно просто загрузить в gta3.img, то файл коллизии col необходимо поместить внутрь файла коллизии с названием выбранного района. Выберем район в который будем добавлять свой объект. У меня это будет "Nbeachbt". В Map Editor'e есть встроенный менеджер файлов gta3.img, но он глючный и я буду пользоваться программой Img Tool. Также нам понадобиться программа Collision File Editor II для добавления нашего sbildb.col внутрь файла коллизии района Nbeachbt.
Откроем программу Img Tool. Нажмем "File > Open" и укажем путь к архиву gta3.img, который находится в папке models (у меня это C:\Games\GTA Vice City\models\gta3.img).
В списке файлов найдем nbeachbt.col - это коллизия района nbeachbt. Выделим его и нажмем "Commands > Extract" и сохраним его себе на компьютер.
Откроем сохраненный файл программой Collision File Editor II. Для этого запустим программу и нажмем "File > Open" и выберем файл.
Внутри файла мы увидим много других файлов коллизии. Нажмем "Edit > Add" и выберем файл коллизии нашей модели (sbildb.col).
После чего наша коллизия появится в самом низу списка. Кликнем по ней мышкой и она отобразится во вьюпорте.
Нажмем "File > Save" и выйдем из программы.
Вернемся в Img Tool. Выделим файл nbeachbt.col и нажмем "Commands > Delete".
Нажмем "Commands > Add" и добавим файлы sbildb.dff, sbildb.txd и измененный nbeachbt.col.
Все три файла окажутся внизу списка. Нажмем "Commands > Rebuild Archive" и подождем пока пересоберется архив. После этого программу можно закрыть.

 
Всеми  этими манипуляциями мы извлекли файл с коллизиями района из архива, добавили в него коллизию своего объекта, заменили файл коллизий района в архиве на новый и добавили в архив файл модели объекта (dff) и его текстуру (txd).

Стоит отметить, что файлы коллизий районов продублированы в соответствующих папках в папке maps. Сама игра грузит коллизии из архива gta3.img, а Map Editor из папки maps. Так что если мы хотим чтобы MED отображал нашу коллизию нужно заменить файл nbeachbt.col в соответствующую папку в папке maps на новый. У меня он находится по такому пути C:\Games\GTA Vice City\data\maps\nbeachbt\nbeachbt.col.

Откроем снова MapEditor, загрузим наш район nbeachbt во вкладке Scene и перейдем во вкладку IDE. Кликнем по строке с названием нашего района и нажмем кнопку "New Item".
Откроется окно Item Definition, в котором укажем модель и текстуру нашего объекта кнопками "Browse" в полях "Model Name" и "Texture Name".
Рассмотрим подробней это окно:
1 - Функции предварительного просмотра модели
2 - Просмотр текстуры
3 - Просмотр модели
4 - Просмотр коллизии

5 - Номер объекта
6 - Кнопки выбора модели и текстуры
7 - Количество составных частей в модели
8 - Дистанция прорисовки
9 - Начальное и конечное время отображения модели
10 - Флаги отвечающие за отображение модели в игре

Оставим все параметры по умолчанию и нажмем кнопку "OK". Теперь наша модель добавилась в перечень объектов района. Осталось только ее установить в нужном месте. Для этого перейдем во вкладку IPL, выберем строку с названием района и нажмем кнопку "New".
В появившемся окне кликнем по строке IDE с названием нашего района и во второй колонке в самом низу укажем нашу модель.
Нажмем кнопку "OK" и неподалёку появится наша модель.
С помощью кнопок Position X, Position Y и Position Z во вкладке Item установим модель на нужное место и повернем на нужный градус с помощью ползунка Rotation Z и нажмем кнопку "OK".
Нажмем "File > Save Install" чтобы сохраниться. Но так как эта функция работает не всегда, настоятельно рекомендую нажать кнопку "Save" во вкладках IDE и IPL указав какой район мы хотим сохранить.
Смотрим:
Всё написанное в этой статье распространяется не только на Vice City, но и на GTA 3 и San Andreas:

За исключением того, что в San Andreas нет нужды запихивать свой файл коллизии в общий файл коллизий района. Нужно просто все три файла dff, txd, col поместить внутрь архива gta3.img.

Есть один неприятный момент в плане добавления собственных моделей в GTA - это лимиты на количество объектов. В каждой игре они свои. Обойти их во всех трех случая можно при помощи специальных программ: Grand Theft Auto III Limit Adjuster, VC Limit Adjuster, San Andreas Exe Limit Ajuster.

Вот в принципе и всё.

Файлы:

Map Editor v0.32 Beta
Collision File Editor II v0.4 BETA
Img Tool v2.0
Grand Theft Auto III Limit Adjuster
VC Limit Adjuster
San Andreas Exe Limit Ajuster
Файлы проекта (sbildb.dff, sbildb.txd, sbildb.col)
 

Комментарии   

 
#176 SashaProjectMickey 06.06.2013 08:32
Цитирую Naphtizin:
Цитирую SashaProjectMickey:
ок, понял попробую)
следующий вопрос, у меня их много поднакопилось :-)

На количество архивов тоже есть лимит


так то мне надо освободить архив gta3.img , поэтому мне желательно перекинуть машины из этого же архива в новый архив
 
 
#177 Naphtizin 14.06.2013 11:44
На сайте Naphtizin.net возобновил работу форум.
 
 
#178 SashaProjectMickey 18.06.2013 11:17
видел чувак) спасибо)