Создание и редактирование миров

From Perimeter Community Wiki
Jump to navigation Jump to search

Создание миров

Официальный набор инструментов

Для создания и редактирования миров вам потребуется переработанная сборка инструментов, включающая в себя Surmap и Geotool, которые можно скачать по ссылке: https://disk.yandex.ru/d/7d_6RzWdXUPBnA

Для понимания, как устроены миры, прочитайте описание файлов мира на примере JUNCTION

Редактор миров – SurMap3

Редактор миров SurMap

Выберите мир для редактирования из папки Worlds через меню File -> Open World As... (для создания нового мира необходимо открыть пустой шаблон в папке 001_EMPTY 4x4 или 001_EMPTY 2x2).

Панель инструментов в левой части экрана позволяет изменять ландшафт (насыпать или копать), используя простейший набор цветов. Панель инструментов в левой верхней части экрана позволяет работать с дополнительными опциями:

6cgg6vX.jpg Перемещение по поверхности мира.

5Bvo8cD.jpg Приближение или удаление камеры.

sRWJZvR.jpg Тулзер (инструмент для насыпания\выкапывания. Параметры тулзера (радиус, форма и свойства кисти) настраиваются на вспомогательной панели внизу экрана.

AcJYLsX.jpg Установка на мир готовой фигуры (пирамида, параметры настраиваются на вспомогательной панели внизу экрана).

pcN9voH.jpg Установка на мир готовой фигуры (круг, параметры настраиваются на вспомогательной панели внизу экрана).

DbeX2D8.jpg Работа с зеро-слоем, внизу экрана необходимо установить радиус инструмента.

P3WvOur.jpg Установка модели из списка внизу экрана.

2SmRl3P.jpeg Наложение карты высот (карту необходимо выбрать из списка внизу экрана, после корректного размещения на мире нажать кнопку Put для перевода карты в рельеф).

lobi9pr.jpg Инструмент размытия контуров.

aPIp8AP.jpg Гео-инструмент для работы с рельефом (параметры настраиваются в нижней части экрана).

ixHbFYR.jpg Инструмент позволяет выделить прямоугольный участок мира и работать только в выделенной области.

По завершению работы с миром необходимо сохранить изменения через команду File -> Save World As... (для записи нового мира необходимо предварительно создать пустой каталог в папке Worlds). После завершения подготовки ландшафта можно наложить текстуру поверхности на мир. Предварительно подготовленную текстуру в формате TGA необходимо положить в папку мира, сохранив файл с текстурой под названием AllDamMap.tga (в папку также необходимо скопировать служебный файл leveledSurfaceTexture.tga - текстуру зерослоя).

SBqbcXl.jpg Данный инструмент используется в редакторе миров для наложения текстуры на готовый мир.

Все новые миры необходимо прописывать в списке миров - файле RESOURCE\Worlds\worlds.prm (в Legate Edition не актуально), в котором первая строка содержит количество миров, все остальные содержат имя файла и название папки (относительный путь к папке с миром).

Официальный редактор геотекстур – GeoTool

Редактор геотекстур GeoTool
Редактор не предназначен для редактирования текстуры поверхности (шкурки мира).
Внимание! В официальной поставке редактора не хватает ряда текстур в папке GeoTx. При запуске редактора возникают ошибки, где написан путь и название отсутствующей текстуры. Следует пройти по тому пути, продублировать близкий по названию файл и дать ему название из ошибки и перезапустить программу. Проделываем данное действие пока ошибки не пропадут.

Геотектуры - текстуры недр спанжа, обножаемые ковшами при терроформировании. Высота, на которой текстура поверхности сменяется на геотекстуру задается специальной картой глубины внутри output.vmp.

Для работы с геотекстурами на мире используется инструмент GeoTool.exe.
После запуска вам предложат выбрать мир из списка (список формируется с помощью worlds.prm, поэтому все новые миры необходимо предварительно прописать в этом файле).
Затем необходимо установить в верхней панели (включающей ряд слотов с установленным по умолчанию значением Empty) значения Clear, Mixer или Painter (список возможных значений выводится по правому клику).
Чтобы загрузить текстуру - выбираем слот левым кликом, затем выбираем текстуру в списке слева и переносим пункт списка на экран, зажав левую клавишу.

Если вам требуется открыть карту, то слоты геотекстур окажутся пустыми, чтобы загрузить геотекстуры карты нужно нажать "File > Load textures" и в папке с нужным вам миром открыть файл geoTx.xml

При работе с геотекстурами можно копать и насыпать, чтобы видеть как будут вести себя геотекстуры в игре. Для этого в редакторе есть специальный инструмент File:Geotool2.JPG, действие которого инвертируется зажатием клавиши Shift. Зажимая ctrl можно перемещать рампу клиппинга.

После завершения работы с геотекстурами необходимо записать изменения. При записи необходимо указать временной имя, для этого нажимаем File > Save Texture. В нашем примере было введено временное название "raw". После сохранения изменений в выбранной папке появятся 4 файла. Их необходимо перенести в каталог соответствующего мира, переименовав следующим образом:

 raw.geoLattice.bin -> geoLattice.bin
 raw.geoPal.xml -> geoPal.xml
 raw.pal.pal -> inGeo.act
 raw.xml -> geoTx.xml

Подготовка и редактирование скриптов миссий

Изучить в статье: Редактирование миссий

Редакторы сообщества

Компилятор карт - Perimeter Map Compiler

Perimeter Map Compiler
Компилятор карт ищет в реестре путь к установленному Периметру, но ищет он версию Codemasters, либо Завет Императора от 1С.

Поэтому самый простой способ указать ему, где установлена игра, это создать раздел в реестре "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\1C\PerimeterET" и создать в этом разделе ключ Install_Path (стоковый параметр), внутрь которого написать полный путь к корневому каталогу установленной игры.

Legate Edition не подходит, нужно указать путь к оригинальной версии!

Внимание, редактор представляет собой компилятор карт.

Требование к карте глубины, grayscale или RGB, 16bit предпочтительно tiff (tif не поддерживается).

Создаются компилятором карт (создатель - Don Reba), с помощью различных изображений в формате .bmp (8bit), .tiff(8-16bit), .tga(8bit) для редактирования которых лучше пользоваться Adobe Photoshop. К слову, можно в 3D-редакторе (3ds max, Maya, Z-brush, Blender, 3D-Coat) или редакторах ландшафтов (World Mashine) сделать серую модель рельефа нужного мира и рендерить карту глубины z-depth в виде Top (сверху) в ортопроекции (способ создания heightmap в 3Ds Max). После - без динамичного света и затенения рендерить модели с текстурой.

В связи с тем, что Кусты сейчас как бы и не установишь (с помощью PMC), то предлагаю свою схему установки мира, которая проверена и отработана.

  1. Прежде всего делаем запасную копию файла ПапкаПериметра\Resource\Worlds\worlds.prm.
  2. Затем в PMC открываем файл проекта, жмем "Install Map", закрываем PMC.
  3. Удаляем модифицированный PMC'ом вышеупомянутый worlds.prm, ставим на его место свою копию.
  4. Открываем worlds.prm, плюсуем к числу в самом начале файла единицу, затем пишем английское имя мира в самом конце списка наименований, с сохранением всех отступов (делайте их пробелами или Tab'ами, не суть важно). Имя мира должно быть написано заглавными буквами.
  5. В каталоге ПапкаПериметра\Resource\Worlds\ переименовываем папку с добавленным вами миром (UNREGISTERED) в то имя, которое было указано в worlds.prm.
  6. В папке ПапкаПериметра\Resource\Multiplayer\ переименовываем файлы UNREGISTERED с расширениями .dat, .gmp и .spg в имена, аналогичные имени, указанному в worlds.prm.
  7. Открываем в этой же папке .spg-файл Блокнотом. Он может довольно-таки долго загружаться. Меняем в самом начале в строке "worldName = "UNREGISTERED";" слово UNREGISTERED на world.prm-овское имя.
  8. В том же файле, после блока с именами, цветами и фракциями игроков, меняем в строке "originalSaveName = "resource\\battle\\UNREGISTERED.spg";" слово UNREGISTERED на world.prm-овское имя.
  9. Проделываем пункт 6 еще раз, но уже в папке ПапкаПериметра\Resource\Battle\ .
  10. Проделываем пункты 7 и 8 с .spg-файлом в папке ПапкаПериметра\Resource\Battle\ .
  11. Повторяем пункты 9 и 10 с файлами в папке ПапкаПериметра\Resource\Battle\Survival\ .
  12. Открываем btdbEditor'ом файл ПапкаПериметра\Resource\LocData\Russian\Text\Texts.btdb. В самом конце найдите пункт MapNames.UNREGISTERED, выделите его, и нажмите пункт меню "Edit -> Remove Item".
  13. Нажимаем пункт меню "Edit -> Add Item". В поле "Value Name" введите world.prm-овское имя мира (вид должен быть такой: MapNames.WORLDNAME). В поле "Value Data" вводите русскоязычное имя мира (рекомендуется заглавными буквами). Нажимайте кнопку "ОК".
  14. . Сохраняем файл с текстом на место прежнего. Впрочем, никогда не будет лишним сделать запасную копию файла. Можете запускать Периметр и любоваться на свой добавленный мир.

P.S.: обратите внимание, у вас может не работать без дополнительной обработки режим выживания (то есть через ~10 секунд после запуска засчитывается автопобеда)! Также возможен такой глюк, что на добавленном вами мире абсолютно все будет черным и невидимым. Пока что способ решения найден только один: отключить в настройках графики самозатенение.

Полезное для создания миров

Для создания маленького мира на троих, для ровного расположения игроков на карте, координаты следующие:
Player1: x1024, y292
Player2: x1657, y1389
Player3: x390, y1389

P-Launcher

Синхронизация карт в формате "Кустов" созданных в редакторе сообщества (разработчитк - Don Reba). Фактически, даже если бы проект был завершен, сайт rul-clan.ru все равно давно не работает, а значит и синхронизация карт с сервером тоже.

Статус: заброшен ¯\_(ツ)_/¯

Экстрактор текстур и карты глубины из игровых карт

Конвертер не работает с картами Периметр: Legate Edition, т.к. в этой версии карты (.vmp) сжаты.

Разработанный @!!ex’ом конвертер VMPtoTIFF (drive) предназначен исключительно для извлечения растровых текстур и карты глубины из игровых карт (World/NAME_MAP/_.vmp) для использования в своих целях. Для того, чтобы извлечь текстуры из карты игры, нужно .VMP файл перетянуть на файл VMPToTIFF.exe. В папке с бинарником .VMP появятся текстуры и карта высоты данной игровой карты.