Игромания - Игрострой. Уровни для S.T.A.L.K.E.R., часть 1 — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Игромания - Игрострой. Уровни для S.T.A.L.K.E.R., часть 1 — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
(* * *)
(Косметические правки. <<< aka_sektor)
 
Строка 1: Строка 1:
 
На протяжении двух месяцев с момента выхода '''S.T.A.L.K.E.R.''' разработчики в поте лица трудились над '''SDK'''. Совсем недавно в Сети появилась бета-версия официального «чернобыльского» инструментария для создания мультиплеерных карт. Конечно, модмейкеры тут же принялись за сборку уровней и дополнений. По ходу дела выявились различные баги и недочеты, но на то она и бета. Главное, что принципы работы в ней точно такие же, как будут в релизе.
 
На протяжении двух месяцев с момента выхода '''S.T.A.L.K.E.R.''' разработчики в поте лица трудились над '''SDK'''. Совсем недавно в Сети появилась бета-версия официального «чернобыльского» инструментария для создания мультиплеерных карт. Конечно, модмейкеры тут же принялись за сборку уровней и дополнений. По ходу дела выявились различные баги и недочеты, но на то она и бета. Главное, что принципы работы в ней точно такие же, как будут в релизе.
 +
  
 
Мы одними из первых получили доступ к SDK, внимательно его изучили и прямо сейчас можем представить детальный рассказ о том, как делать мультиплеерные карты для игры. Редактор для сингловых уровней появится чуть позже.
 
Мы одними из первых получили доступ к SDK, внимательно его изучили и прямо сейчас можем представить детальный рассказ о том, как делать мультиплеерные карты для игры. Редактор для сингловых уровней появится чуть позже.
Строка 6: Строка 7:
  
 
Установив бета-версию '''MP-SDK''', мы первым делом заглянули в главный каталог и обнаружили там редактор карт (главная программа из набора), компилятор уровней, редактор персонажей и частиц и небольшой официальный файл справки (HTML-документ).
 
Установив бета-версию '''MP-SDK''', мы первым делом заглянули в главный каталог и обнаружили там редактор карт (главная программа из набора), компилятор уровней, редактор персонажей и частиц и небольшой официальный файл справки (HTML-документ).
 +
  
 
Подробно описывать каждую утилиту набора мы не будем: многие из них очень сырые, часто глючат, интерфейсы далеко не всегда удобные — словом, есть еще над чем работать. Мы же заострим внимание лишь на редакторе карт, который позволяет создавать новые уровни для многопользовательского режима, — переделывать оригинальные локации, увы, не разрешается (возможно, это временное явление).
 
Подробно описывать каждую утилиту набора мы не будем: многие из них очень сырые, часто глючат, интерфейсы далеко не всегда удобные — словом, есть еще над чем работать. Мы же заострим внимание лишь на редакторе карт, который позволяет создавать новые уровни для многопользовательского режима, — переделывать оригинальные локации, увы, не разрешается (возможно, это временное явление).
 +
  
 
''Анатомия редактора:'' http://storage8.static.itmages.ru/i/13/0630/h_1372612054_2833096_5df1aa0f04.jpg
 
''Анатомия редактора:'' http://storage8.static.itmages.ru/i/13/0630/h_1372612054_2833096_5df1aa0f04.jpg
 +
  
 
Запустите редактор карт ('''LevelEditor.exe'''). Перед вами появятся две инструментальные панели, на них вынесены компоненты для переключения между режимами отображения объектов. А также кнопки для работы с объектами, строка состояния (занимает нижнюю часть приложения) и окно 3D-вида, под которое отведена большая часть программы.
 
Запустите редактор карт ('''LevelEditor.exe'''). Перед вами появятся две инструментальные панели, на них вынесены компоненты для переключения между режимами отображения объектов. А также кнопки для работы с объектами, строка состояния (занимает нижнюю часть приложения) и окно 3D-вида, под которое отведена большая часть программы.
 +
  
 
Главное меню, содержащее основные команды для открытия, сохранения, импорта файлов, располагается не в самом верху (как во многих других редакторах), а на панели справа. Насколько мы поняли, сделано это было умышленно, чтобы увеличить главное окно. При необходимости вы можете свернуть панель справа, кликнув по кнопке с изображением черной стрелочки в самом верху панельки. При этом окно перспективы заметно растянется и займет всю рабочую область редактора. Еще одна особенность — наличие технической информации в левом верхнем углу окна перспективы (FPS, общее число источников освещения, игровое время).
 
Главное меню, содержащее основные команды для открытия, сохранения, импорта файлов, располагается не в самом верху (как во многих других редакторах), а на панели справа. Насколько мы поняли, сделано это было умышленно, чтобы увеличить главное окно. При необходимости вы можете свернуть панель справа, кликнув по кнопке с изображением черной стрелочки в самом верху панельки. При этом окно перспективы заметно растянется и займет всю рабочую область редактора. Еще одна особенность — наличие технической информации в левом верхнем углу окна перспективы (FPS, общее число источников освещения, игровое время).
 +
  
 
С устройством редактора разобрались. Давайте посмотрим, как обстоят дела с навигацией в окне 3D-вида. Для изменения положения камеры в горизонтальном/вертикальном направлении достаточно зажать клавишу '''Shift''' на клавиатуре и передвинуть мышь с зажатой левой/правой кнопкой. Чтобы изменить угол наклона камеры, зажмите клавишу '''Shift''' и переместите мышь на новое место с зажатыми левой и правой кнопкой. Управление очень напоминает навигацию в графическом пакете '''Maya''', так что если вы знакомы с этим моделлером, то без труда разберетесь и с редактором «Сталкера».
 
С устройством редактора разобрались. Давайте посмотрим, как обстоят дела с навигацией в окне 3D-вида. Для изменения положения камеры в горизонтальном/вертикальном направлении достаточно зажать клавишу '''Shift''' на клавиатуре и передвинуть мышь с зажатой левой/правой кнопкой. Чтобы изменить угол наклона камеры, зажмите клавишу '''Shift''' и переместите мышь на новое место с зажатыми левой и правой кнопкой. Управление очень напоминает навигацию в графическом пакете '''Maya''', так что если вы знакомы с этим моделлером, то без труда разберетесь и с редактором «Сталкера».
 +
  
 
Создавать карты не очень удобно. Сначала необходимо смоделировать игровой уровень в '''Maya 8.5''', затем — экспортировать текстуры и модели в формат, понятный движку «Сталкера» (специальные экспортеры для Maya включены в SDK), подгрузить все объекты (ландшафт и элементы окружения) в редактор, собрать на основе всего этого полноценную локацию, добавить на карту монстров, NPC и скомпилировать уровень. Схема, мягко говоря, непростая, особенно для тех, кто никогда в жизни не занимался 3D-моделированием.
 
Создавать карты не очень удобно. Сначала необходимо смоделировать игровой уровень в '''Maya 8.5''', затем — экспортировать текстуры и модели в формат, понятный движку «Сталкера» (специальные экспортеры для Maya включены в SDK), подгрузить все объекты (ландшафт и элементы окружения) в редактор, собрать на основе всего этого полноценную локацию, добавить на карту монстров, NPC и скомпилировать уровень. Схема, мягко говоря, непростая, особенно для тех, кто никогда в жизни не занимался 3D-моделированием.
 +
  
 
В настоящей статье мы не будем затрагивать этапы разработки карты, связанные с моделированием и текстурированием в Maya, а расскажем лишь о том, как можно собрать уровень на основе уже имеющихся в редакторе объектов, скомпилировать его и опробовать в игре.
 
В настоящей статье мы не будем затрагивать этапы разработки карты, связанные с моделированием и текстурированием в Maya, а расскажем лишь о том, как можно собрать уровень на основе уже имеющихся в редакторе объектов, скомпилировать его и опробовать в игре.
 +
  
 
= Работа с объектами =
 
= Работа с объектами =
  
 
Научимся добавлять на карту различные элементы. Активируйте режим работы с объектами на панели в правой части редактора. Для этого в поле '''Edit Mode''' кликните по кнопке '''Object'''. Затем в поле '''Commands''' щелкните по кнопке '''Multiple Append''' для вызова библиотеки 3D-моделей. В появившемся окне '''Select Library Object''' раскройте каталог '''levels\mp_atp_test''' и поставьте флажки напротив элементов '''mp_atp_buildings''' (набор зданий в виде одной тестовой модели), '''mp_atp_terrain''' (тестовый ландшафт местности) и щелкните по кнопке '''Ok'''. Вы увидите, что выбранные из библиотеки объекты появятся на карте.
 
Научимся добавлять на карту различные элементы. Активируйте режим работы с объектами на панели в правой части редактора. Для этого в поле '''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''' проблем меньше.
 
Прежде чем двигаться дальше, выберите пункт меню '''File\Save''' на панели в правой части редактора и сохраните уровень: приложение имеет нехорошую привычку выпадать в '''Windows''', особенно если у вас установлена '''Vista''', с '''XP''' проблем меньше.
 +
  
 
''Редактор позволяет собирать игровые сцены на основе готовых объектов, сами же 3D-модели изготавливаются в Maya:'' http://storage1.static.itmages.ru/i/13/0630/h_1372612352_3941438_10a004ae9f.jpg
 
''Редактор позволяет собирать игровые сцены на основе готовых объектов, сами же 3D-модели изготавливаются в Maya:'' http://storage1.static.itmages.ru/i/13/0630/h_1372612352_3941438_10a004ae9f.jpg
 +
  
 
Описанный выше метод добавления объектов отлично работает, если речь идет об импорте на уровень большого числа элементов, и совершенно не годится для поштучного добавления элементов. Чтобы поместить на уровень одну модель, достаточно активировать режим работы с объектами ('''Edit Mode\Objects'''), щелкнуть по кнопке '''Add''' (добавить) на панели инструментов (четвертая от начала) в верхней части редактора, выбрать из списка '''Objects''' на панели в правой части приложения нужный элемент и щелкнуть левой кнопкой мышки по любому месту на карте.
 
Описанный выше метод добавления объектов отлично работает, если речь идет об импорте на уровень большого числа элементов, и совершенно не годится для поштучного добавления элементов. Чтобы поместить на уровень одну модель, достаточно активировать режим работы с объектами ('''Edit Mode\Objects'''), щелкнуть по кнопке '''Add''' (добавить) на панели инструментов (четвертая от начала) в верхней части редактора, выбрать из списка '''Objects''' на панели в правой части приложения нужный элемент и щелкнуть левой кнопкой мышки по любому месту на карте.
 +
  
 
Чтобы переместить объект, необходимо кликнуть по нему левой кнопкой мышки (для выделения) и задействовать режим перемещения элементов '''Move''' (5-й инструмент на панели в верхней части редактора). Далее для передвижения элемента в направлении одной из координатных осей — '''X''', '''Y''' или '''Z''' — нужно кликнуть по кнопке с изображением соответствующей оси на панели инструментов (располагаются сверху) и передвинуть мышь с зажатой левой кнопкой. Обратите внимание, система координат в редакторе отличается от стандартной. При перемещении объекта по оси Z вы будете передвигать элемент по X, двигая его по оси Y — смещать модель вверх (Z), наконец, передвигая конструкцию по X, вы на самом деле сдвинете модельку по оси Y. Поначалу это кажется жутко неудобным, но привыкаешь буквально за 10-15 минут.
 
Чтобы переместить объект, необходимо кликнуть по нему левой кнопкой мышки (для выделения) и задействовать режим перемещения элементов '''Move''' (5-й инструмент на панели в верхней части редактора). Далее для передвижения элемента в направлении одной из координатных осей — '''X''', '''Y''' или '''Z''' — нужно кликнуть по кнопке с изображением соответствующей оси на панели инструментов (располагаются сверху) и передвинуть мышь с зажатой левой кнопкой. Обратите внимание, система координат в редакторе отличается от стандартной. При перемещении объекта по оси Z вы будете передвигать элемент по X, двигая его по оси Y — смещать модель вверх (Z), наконец, передвигая конструкцию по X, вы на самом деле сдвинете модельку по оси Y. Поначалу это кажется жутко неудобным, но привыкаешь буквально за 10-15 минут.
 +
  
 
Поворот объектов осуществляется аналогичным образом, единственное отличие состоит в том, что вместо инструмента '''Move''' придется активировать модификатор '''Rotate''' (6-й от начала). Если вам нужно удалить какой-либо элемент со сцены, выделите его и нажмите клавишу '''Delete'''.
 
Поворот объектов осуществляется аналогичным образом, единственное отличие состоит в том, что вместо инструмента '''Move''' придется активировать модификатор '''Rotate''' (6-й от начала). Если вам нужно удалить какой-либо элемент со сцены, выделите его и нажмите клавишу '''Delete'''.
 +
  
 
Чтобы создать точную копию элемента, снова выделите объект, поместите его в буфер обмена с помощью комбинации клавиш '''Ctrl+C''', а затем подгрузите клон на карту ('''Crtl+V''').
 
Чтобы создать точную копию элемента, снова выделите объект, поместите его в буфер обмена с помощью комбинации клавиш '''Ctrl+C''', а затем подгрузите клон на карту ('''Crtl+V''').
 +
  
 
В редактор встроена возможность масштабировать любые объекты. Да здравствуют деревья 10-метровой высоты, гигантские кустики и крохотные постройки (надеемся, что в финальной версии SDK нам и монстров разрешат масштабировать, вот тогда по-настоящему повеселимся). Чтобы изменить габариты моделей, активируйте инструмент '''Uniform Scale''' на панели в верхней части редактора (7-й от начала), выберите ось, относительно которой собираетесь растянуть объект (кнопки X, Y и Z), и переместите мышь с зажатой левой кнопкой.
 
В редактор встроена возможность масштабировать любые объекты. Да здравствуют деревья 10-метровой высоты, гигантские кустики и крохотные постройки (надеемся, что в финальной версии SDK нам и монстров разрешат масштабировать, вот тогда по-настоящему повеселимся). Чтобы изменить габариты моделей, активируйте инструмент '''Uniform Scale''' на панели в верхней части редактора (7-й от начала), выберите ось, относительно которой собираетесь растянуть объект (кнопки X, Y и Z), и переместите мышь с зажатой левой кнопкой.
 +
  
 
Прежде чем приступать к следующему этапу работы, добавьте на уровень различные строения, растительность, при необходимости задайте им новое местоположение и угол поворота.
 
Прежде чем приступать к следующему этапу работы, добавьте на уровень различные строения, растительность, при необходимости задайте им новое местоположение и угол поворота.
 +
  
 
= Да будет свет =
 
= Да будет свет =
 +
  
 
Любая карта для «Сталкера» должна содержать источники света и специальные объекты свечения. Если их не будет, то карту не удастся скомпилировать и опробовать в игре — редактор просто выдаст ошибку при компиляции. Чтобы поместить на уровень объект свечения, щелкните по кнопке '''Glow''' в поле '''Edit Mode''' для активации соответствующего режима работы, кликните по кнопке '''Add''' на панели инструментов (четвертая по счету) в верхней части редактора и щелкните левой кнопкой мышки по карте.
 
Любая карта для «Сталкера» должна содержать источники света и специальные объекты свечения. Если их не будет, то карту не удастся скомпилировать и опробовать в игре — редактор просто выдаст ошибку при компиляции. Чтобы поместить на уровень объект свечения, щелкните по кнопке '''Glow''' в поле '''Edit Mode''' для активации соответствующего режима работы, кликните по кнопке '''Add''' на панели инструментов (четвертая по счету) в верхней части редактора и щелкните левой кнопкой мышки по карте.
 +
  
 
Вы увидите, что на карте появился какой-то непонятный плоский объект белого цвета. Это и есть элемент свечения. Чтобы компилятор уровней корректно его воспринял, необходимо покрыть его текстурой. Выделите созданный компонент на карте, щелкните по нему правой кнопкой мышки и в контекстном меню выберите пункт '''Properties'''. В появившемся окне свойств элемента отыщите параметр '''Texture''' и щелкните по кнопке с изображением многоточия. В окне браузера текстур выберите любое изображение, например '''glow\glow_anamorphic''', нажмите '''Ok''' и закройте окно инспектора свойств объекта. Активируйте режим работы с источниками освещения — '''Light''' в поле '''Edit Mode''' и поместите на карту два-три источника освещения (так же, как добавляли одиночные элементы).
 
Вы увидите, что на карте появился какой-то непонятный плоский объект белого цвета. Это и есть элемент свечения. Чтобы компилятор уровней корректно его воспринял, необходимо покрыть его текстурой. Выделите созданный компонент на карте, щелкните по нему правой кнопкой мышки и в контекстном меню выберите пункт '''Properties'''. В появившемся окне свойств элемента отыщите параметр '''Texture''' и щелкните по кнопке с изображением многоточия. В окне браузера текстур выберите любое изображение, например '''glow\glow_anamorphic''', нажмите '''Ok''' и закройте окно инспектора свойств объекта. Активируйте режим работы с источниками освещения — '''Light''' в поле '''Edit Mode''' и поместите на карту два-три источника освещения (так же, как добавляли одиночные элементы).
 +
  
 
= Компиляция и тестирование =
 
= Компиляция и тестирование =
  
 
Чтобы завершить создание новой карты, нужно поместить на уровень стартовые позиции для игроков. Достаточно кликнуть по кнопке '''Spawn Elements''' в поле '''Edit Mode''' на панели в правой части редактора, выбрать из списка '''Spawns''' стартовую позицию нужного типа (в нашем случае это элемент типа '''$rpoint'''), нажать клавишу '''A''' на клавиатуре для активации режима размещения объектов и кликнуть по произвольному месту на карте. Перемещение и поворот стартовых позиций производится так же, как и с простыми статическими объектами.
 
Чтобы завершить создание новой карты, нужно поместить на уровень стартовые позиции для игроков. Достаточно кликнуть по кнопке '''Spawn Elements''' в поле '''Edit Mode''' на панели в правой части редактора, выбрать из списка '''Spawns''' стартовую позицию нужного типа (в нашем случае это элемент типа '''$rpoint'''), нажать клавишу '''A''' на клавиатуре для активации режима размещения объектов и кликнуть по произвольному месту на карте. Перемещение и поворот стартовых позиций производится так же, как и с простыми статическими объектами.
 +
  
 
''Большой мультиплеерный уровень, созданный нами на основе стандартных объектов примерно за полчаса:'' http://storage3.static.itmages.ru/i/13/0630/h_1372613023_6210741_b3d71c6282.jpg
 
''Большой мультиплеерный уровень, созданный нами на основе стандартных объектов примерно за полчаса:'' http://storage3.static.itmages.ru/i/13/0630/h_1372613023_6210741_b3d71c6282.jpg
 +
  
 
Ландшафт местности сформирован, декорации установлены, источники освещения, а также стартовые позиции добавлены. Самое время скомпилировать уровень и опробовать его в игре.
 
Ландшафт местности сформирован, декорации установлены, источники освещения, а также стартовые позиции добавлены. Самое время скомпилировать уровень и опробовать его в игре.
 +
  
 
На панели справа в поле '''Scene''' выберите пункт меню '''Scene\Options'''. В появившемся окне свойств найдите атрибут '''Level Path''' и впишите в поле название уровня, которое вы задали карте при сохранении. После этого кликните по кнопке '''Draft''' напротив комментария '''Quality'''. Закройте окно свойств и на панели в правой части приложения кликните по кнопке '''Compile\Build'''.
 
На панели справа в поле '''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]''' — название компилируемого уровня.
 
Подготовительный этап закончен, осталось скомпилировать полученные файлы карты в формат, понятный игре. Выберите пункт меню '''Пуск\Выполнить''' и в окне пропишите команду '''[Path] [level_name]'''. Здесь '''[Path]''' — полный путь к компилятору '''xrLC.bat''', который находится в директории '''\level_editor''' установленного SDK, например: '''E:\X-Ray SDK\level_editor\xrLC.bat. [level_name]''' — название компилируемого уровня.
 +
  
 
При работе с длинными путями используйте командную строку (активируется командой '''cmd''' в окне '''Выполнить''').
 
При работе с длинными путями используйте командную строку (активируется командой '''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\textures.ltx''' — в игровую папку '''gamedata\config\mp'''. Наконец, проследуйте в каталог '''gamedata\config\mp''' установленной игры, откройте «Блокнотом» файл '''map_list.ltx''' и добавьте в конец блока '''[deathmatch]''' название вашей карты без расширения:
 
Последний шаг — импорт скомпилированного уровня в игру. Зайдите в корневой каталог «Сталкера» и создайте в нем папку '''\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\textures.ltx''' — в игровую папку '''gamedata\config\mp'''. Наконец, проследуйте в каталог '''gamedata\config\mp''' установленной игры, откройте «Блокнотом» файл '''map_list.ltx''' и добавьте в конец блока '''[deathmatch]''' название вашей карты без расширения:
  
'''[deathmatch]'''
 
  
''';fog_net'''
+
<code>[deathmatch]
  
'''testers_mp_pool'''
+
;fog_net
 +
 
 +
testers_mp_pool
 +
 
 +
mp_igroprom</code>
  
'''mp_igroprom'''
 
  
 
Где '''mp_igroprom''' — название мультиплеерной карты.
 
Где '''mp_igroprom''' — название мультиплеерной карты.
 +
  
 
= * * * =
 
= * * * =
  
 
Мы разобрали основные принципы создания новых карт для «Сталкера». Но тема, конечно же, не закрыта. Продолжение рассказа о создании уровней для «Сталкера»: [http://stalkerin.gameru.net/wiki/index.php?title=Игромания_-_Игрострой._Уровни_для_S.T.A.L.K.E.R.,_часть_2 Игромания - Игрострой. Уровни для S.T.A.L.K.E.R., часть 2]
 
Мы разобрали основные принципы создания новых карт для «Сталкера». Но тема, конечно же, не закрыта. Продолжение рассказа о создании уровней для «Сталкера»: [http://stalkerin.gameru.net/wiki/index.php?title=Игромания_-_Игрострой._Уровни_для_S.T.A.L.K.E.R.,_часть_2 Игромания - Игрострой. Уровни для S.T.A.L.K.E.R., часть 2]
 +
  
 
= Авторы =
 
= Авторы =

Текущая версия на 14:42, 5 июля 2013

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


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

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

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


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


Анатомия редактора: http://storage8.static.itmages.ru/i/13/0630/h_1372612054_2833096_5df1aa0f04.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 проблем меньше.


Редактор позволяет собирать игровые сцены на основе готовых объектов, сами же 3D-модели изготавливаются в Maya: http://storage1.static.itmages.ru/i/13/0630/h_1372612352_3941438_10a004ae9f.jpg


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


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


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


Чтобы создать точную копию элемента, снова выделите объект, поместите его в буфер обмена с помощью комбинации клавиш Ctrl+C, а затем подгрузите клон на карту (Crtl+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 на клавиатуре для активации режима размещения объектов и кликнуть по произвольному месту на карте. Перемещение и поворот стартовых позиций производится так же, как и с простыми статическими объектами.


Большой мультиплеерный уровень, созданный нами на основе стандартных объектов примерно за полчаса: http://storage3.static.itmages.ru/i/13/0630/h_1372613023_6210741_b3d71c6282.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\textures.ltx — в игровую папку gamedata\config\mp. Наконец, проследуйте в каталог gamedata\config\mp установленной игры, откройте «Блокнотом» файл map_list.ltx и добавьте в конец блока [deathmatch] название вашей карты без расширения:


[deathmatch]
 
;fog_net
 
testers_mp_pool
 
mp_igroprom


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


* * *

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


Авторы

Статью создал: Эдуард Клишин
Добавил на stalkerin: aka_sektor

Другие места
LANGUAGE