Уровни для S.T.A.L.K.E.R., часть 1

Материал из MODFAQ.RU — моддинг игр серии S.T.A.L.K.E.R., The Elder Scrolls и Fallout
Перейти к: навигация, поиск

Уровни для S.T.A.L.K.E.R., часть 1

Дата публикации

26 июня 2007 (16 лет) [1]

Автор Эдуард Клишин
Связанная статья
Уровни для S.T.A.L.K.E.R., часть 2

На протяжении двух месяцев с момента выхода S.T.A.L.K.E.R. разработчики в поте лица трудились над SDK. Совсем недавно в Сети появилась бета-версия официального «чернобыльского» инструментария для создания мультиплеерных карт. Конечно, модмейкеры тут же принялись за сборку уровней и дополнений. По ходу дела выявились различные баги и недочеты, но на то она и бета. Главное, что принципы работы в ней точно такие же, как будут в релизе.

Мы одними из первых получили доступ к SDK, внимательно его изучили и прямо сейчас можем представить детальный рассказ о том, как делать мультиплеерные карты для игры[2][3]. Редактор для сингловых уровней появится чуть позже.

Видео

Подготовка к моделированию

Установив бета-версию MP-SDK, мы первым делом заглянули в главный каталог и обнаружили там редактор карт (главная программа из набора), компилятор уровней, редактор персонажей и частиц и небольшой официальный файл справки (HTML-документ).

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

1.jpg
Анатомия редактора.


Запустите редактор карт (LevelEditor.exe). Перед вами появятся две инструментальные панели, на них вынесены компоненты для переключения между режимами отображения объектов. А также кнопки для работы с объектами, строка состояния (занимает нижнюю часть приложения) и окно 3D-вида, под которое отведена большая часть программы.

Главное меню, содержащее основные команды для открытия, сохранения, импорта файлов, располагается не в самом верху (как во многих других редакторах), а на панели справа. Насколько мы поняли, сделано это было умышленно, чтобы увеличить главное окно. При необходимости вы можете свернуть панель справа, кликнув по кнопке с изображением черной стрелочки в самом верху панельки. При этом окно перспективы заметно растянется и займет всю рабочую область редактора. Еще одна особенность — наличие технической информации в левом верхнем углу окна перспективы (FPS, общее число источников освещения, игровое время).

С устройством редактора разобрались. Давайте посмотрим, как обстоят дела с навигацией в окне 3D-вида. Для изменения положения камеры в горизонтальном/вертикальном направлении достаточно зажать клавишу Shift на клавиатуре и передвинуть мышь с зажатой левой/правой кнопкой. Чтобы изменить угол наклона камеры, зажмите клавишу Shift и переместите мышь на новое место с зажатыми левой и правой кнопкой. Управление очень напоминает навигацию в графическом пакете Maya, так что если вы знакомы с этим моделлером, то без труда разберетесь и с редактором «Сталкера».

Создавать карты не очень удобно. Сначала необходимо смоделировать игровой уровень в Maya 8.5, затем — экспортировать текстуры и модели в формат, понятный движку «Сталкера» (специальные экспортеры для Maya включены в SDK), подгрузить все объекты (ландшафт и элементы окружения) в редактор, собрать на основе всего этого полноценную локацию, добавить на карту монстров, NPC и скомпилировать уровень. Схема, мягко говоря, непростая, особенно для тех, кто никогда в жизни не занимался 3D-моделированием.

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

Работа с объектами

Научимся добавлять на карту различные элементы. Активируйте режим работы с объектами на панели в правой части редактора. Для этого в поле Edit Mode кликните по кнопке Object. Затем в поле Commands щелкните по кнопке Multiple Append для вызова библиотеки 3D-моделей. В появившемся окне Select Library Object раскройте каталог levels\mp_atp_test и поставьте флажки напротив элементов mp_atp_buildings (набор зданий в виде одной тестовой модели), mp_atp_terrain (тестовый ландшафт местности) и щелкните по кнопке Ok. Вы увидите, что выбранные из библиотеки объекты появятся на карте.

Прежде чем двигаться дальше, выберите пункт меню File\Save на панели в правой части редактора и сохраните уровень: приложение имеет нехорошую привычку выпадать в Windows, особенно если у вас установлена Vista, с XP проблем меньше.

Описанный выше метод добавления объектов отлично работает, если речь идет об импорте на уровень большого числа элементов, и совершенно не годится для поштучного добавления элементов. Чтобы поместить на уровень одну модель, достаточно активировать режим работы с объектами (Edit Mode\Objects), щелкнуть по кнопке Add (добавить) на панели инструментов (четвертая от начала) в верхней части редактора, выбрать из списка Objects на панели в правой части приложения нужный элемент и щелкнуть левой кнопкой мышки по любому месту на карте.

2.jpg
Редактор позволяет собирать игровые сцены на основе готовых объектов, сами же 3D-модели изготавливаются в Maya.


Чтобы переместить объект, необходимо кликнуть по нему левой кнопкой мышки (для выделения) и задействовать режим перемещения элементов Move (5-й инструмент на панели в верхней части редактора). Далее для передвижения элемента в направлении одной из координатных осей — X, Y или Z — нужно кликнуть по кнопке с изображением соответствующей оси на панели инструментов (располагаются сверху) и передвинуть мышь с зажатой левой кнопкой. Обратите внимание, система координат в редакторе отличается от стандартной. При перемещении объекта по оси Z вы будете передвигать элемент по X, двигая его по оси Y — смещать модель вверх (Z), наконец, передвигая конструкцию по X, вы на самом деле сдвинете модельку по оси Y. Поначалу это кажется жутко неудобным, но привыкаешь буквально за 10-15 минут.

Поворот объектов осуществляется аналогичным образом, единственное отличие состоит в том, что вместо инструмента Move придется активировать модификатор Rotate (6-й от начала). Если вам нужно удалить какой-либо элемент со сцены, выделите его и нажмите клавишу Delete.

Чтобы создать точную копию элемента, снова выделите объект, поместите его в буфер обмена с помощью комбинации клавиш Ctrl+C, а затем подгрузите клон на карту (Ctrl+V).

В редактор встроена возможность масштабировать любые объекты. Да здравствуют деревья 10-метровой высоты, гигантские кустики и крохотные постройки (надеемся, что в финальной версии SDK нам и монстров разрешат масштабировать, вот тогда по-настоящему повеселимся). Чтобы изменить габариты моделей, активируйте инструмент Uniform Scale на панели в верхней части редактора (7-й от начала), выберите ось, относительно которой собираетесь растянуть объект (кнопки X, Y и Z), и переместите мышь с зажатой левой кнопкой.

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

Да будет свет

Любая карта для «Сталкера» должна содержать источники света и специальные объекты свечения. Если их не будет, то карту не удастся скомпилировать и опробовать в игре — редактор просто выдаст ошибку при компиляции. Чтобы поместить на уровень объект свечения, щелкните по кнопке Glow в поле Edit Mode для активации соответствующего режима работы, кликните по кнопке Add на панели инструментов (четвертая по счету) в верхней части редактора и щелкните левой кнопкой мышки по карте.

Вы увидите, что на карте появился какой-то непонятный плоский объект белого цвета. Это и есть элемент свечения. Чтобы компилятор уровней корректно его воспринял, необходимо покрыть его текстурой. Выделите созданный компонент на карте, щелкните по нему правой кнопкой мышки и в контекстном меню выберите пункт Properties. В появившемся окне свойств элемента отыщите параметр Texture и щелкните по кнопке с изображением многоточия. В окне браузера текстур выберите любое изображение, например glow\glow_anamorphic, нажмите Ok и закройте окно инспектора свойств объекта. Активируйте режим работы с источниками освещения — Light в поле Edit Mode и поместите на карту два-три источника освещения (так же, как добавляли одиночные элементы).

Компиляция и тестирование

Чтобы завершить создание новой карты, нужно поместить на уровень стартовые позиции для игроков. Достаточно кликнуть по кнопке Spawn Elements в поле Edit Mode на панели в правой части редактора, выбрать из списка Spawns стартовую позицию нужного типа (в нашем случае это элемент типа $rpoint), нажать клавишу A на клавиатуре для активации режима размещения объектов и кликнуть по произвольному месту на карте. Перемещение и поворот стартовых позиций производится так же, как и с простыми статическими объектами.

3.jpg
Большой мультиплеерный уровень, созданный нами на основе стандартных объектов примерно за полчаса.


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

На панели справа в поле Scene выберите пункт меню Scene\Options. В появившемся окне свойств найдите атрибут Level Path и впишите в поле название уровня, которое вы задали карте при сохранении. После этого кликните по кнопке Draft напротив комментария Quality. Закройте окно свойств и на панели в правой части приложения кликните по кнопке Compile\Build.

Подготовительный этап закончен, осталось скомпилировать полученные файлы карты в формат, понятный игре. Выберите пункт меню Пуск\Выполнить и в окне пропишите команду [Path] [level_name]. Здесь [Path] — полный путь к компилятору xrLC.bat, который находится в директории \level_editor установленного SDK, например: E:\X-Ray SDK\level_editor\xrLC.bat. [level_name] — название компилируемого уровня.

При работе с длинными путями используйте командную строку (активируется командой cmd в окне Выполнить).

Последний шаг — импорт скомпилированного уровня в игру. Зайдите в корневой каталог «Сталкера» и создайте в нем папку \Gamedata. После этого скопируйте файл level_editor\gamedata\config\mp\map_list.ltx, располагающийся в директории с SDK, в каталог gamedata\config\mp установленной игры. Скопируйте папку с названием вашего уровня из директории level_editor\gamedata\levels SDK в папку gamedata\levels «Сталкера», файл user_floor_dirty_gr.dds из каталога level_editor\gamedata\textures\user — с SDK в папку gamedata\textures\user с установленной игрой, а textures.ltx из level_editor\gamedata\textures — в игровую папку gamedata\textures. Наконец, проследуйте в каталог gamedata\config\mp установленной игры, откройте «Блокнотом» файл map_list.ltx и добавьте в конец блока [deathmatch] название вашей карты без расширения:

[deathmatch]

;fog_net

testers_mp_pool

mp_igroprom

Где mp_igroprom — название мультиплеерной карты.

* * *

Мы разобрали основные принципы создания новых карт для «Сталкера». Но тема, конечно же, не закрыта. В одном из ближайших номеров журнала мы продолжим делать рассказ о создании уровней для «Сталкера».

Источники