Игра в материале
Crysis
?Рейтинг
Игромании
8.5Рейтинг
игроков
PC   X360   PS3
Жанр: Боевик, Боевик от первого лица
Серия: Crysis
Мультиплеер:  Интернет, локальная сеть (от 2 до 32 игроков)
Разработчик: Crytek Studios
Издатель: Electronic Arts
Издатель в России: Electronic Arts
Локализатор: СофтКлаб
Дата выхода: 13 ноября 2007
Дата выхода в России: 27 ноября 2007
Кризисное редактирование. Создание уровней для Crysis

Кризисное редактирование. Создание уровней для Crysis

Мастерская — Кризисное редактирование. Создание уровней для Crysis
Начнем мы, правда, с малого. В сегодняшней статье мы детально разберем анатомию редактора, изучим основные клавиши управления, потренируемся в формировании ландшафта и текстурировании локаций, а также побеседуем о расстановке объектов на уровне и написани
Игроманияhttps://www.igromania.ru/
Мастерская
Кризисное редактирование. Создание уровней для Crysis

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

Благо возможности редактора очень широкие. Хотите перенести действие игры на поверхность затерянной в далеком космосе планеты Шелезяка? Задумали поселить в мире игры десятки враждующих банд? А может быть, планируете создать огромный подводный мир, путешествовать по которому можно только в акваланге или в миниатюрной подводной лодке? Все это вполне можно воплотить в жизнь. Начнем мы, правда, с малого. В сегодняшней статье мы детально разберем анатомию редактора, изучим основные клавиши управления, потренируемся в формировании ландшафта и текстурировании локаций, а также побеседуем о расстановке объектов на уровне и написании скриптов для игры.

Базовая концепция

Проинсталлировав Crysis на свои машины, многие модмейкеры пришли в тихий ужас: в комплекте с игрой они не обнаружили самого ценного — редактора Sandbox второй версии. Оказалось, ничего страшного не произошло — моддинг игры никто не отменял, просто разработчики не стали выкладывать редактор на диске с игрой, а разместили Sandbox 2 на сайте в интернете. Чтобы вам не пришлось скачивать из Сети довольно большой инсталлятор, мы поместили его на нашем DVD, в разделе «Игрострой». Так что отправляйтесь прямиком туда и оперативно его устанавливайте: без этого читать дальше бессмысленно.

Давайте познакомимся с внутренним устройством редактора. Перейдите в каталог /Bin32 с установленным Crysis и запустите приложение Editor.exe (инструментарий нужно установить именно в папку с игрой).

Когда программа загрузится, вы увидите, что большую часть рабочей области занимает окно 3D-вида, в нем можно просматривать и редактировать уровни. Напротив этого окна располагается панель RollupBar, которая содержит основные инструменты — терраформеры, модификаторы для текстурирования ландшафта местности, размещения объектов на карте и так далее. Инструменты не просто раскиданы по поверхности бара, а сгруппированы во вкладки (структура чем-то напоминает 3DS Max). Например, все инструменты для работы с объектами (источники света, звуки, 3D-модели, камеры) проживают во вкладке Objects, терраформеры и другие модули для создания ландшафта — в Terrain, информация о слоях — в Layer Settings.

В верхней части программы находятся многочисленные каскадные меню и удобная панель инструментов. Снизу расположилась командная строка (Console) и строка состояния. Навигация в окне 3D-вида осуществляется с помощью курсорных стрелок (альтернатива — «горячки» W, S, A, D). Чтобы ускорить перемещение камеры, используйте клавишу Shift. Поворот камеры в окне 3D-вида выполняется при помощи мышки с зажатой правой кнопкой. Масштабируется картинка колесиком мышки.

Теперь несколько слов о возможностях программы. Sandbox второго поколения позволяет изменять оригинальные уровни Crysis (как одиночные, так и мультиплеерные), создавать новые карты с нуля, формировать полноценные кампании и объединять их в аддоны.

В рамках цикла журнальных статей мы научимся конструировать уровни для игры, а также писать довольно сложные миссии и объединять все это в полноценные кампании. А в отдельных DVD-статьях и видеоуроках поговорим о более, скажем так, тонких вещах — например, об импорте своих собственных 3D-моделей из 3DS Max прямиком в Sandbox 2.

Виртуальные грейдеры

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

Анатомия редактора Sandbox 2.

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

Первым делом выберите пункт меню File/New. В открывшемся окошке в поле LevelName введите произвольное название уровня на английском — к примеру, Igromania_SP. Убедитесь, что напротив комментария Use Terrain стоит галочка. Чтобы определить размер игровой локации, выберите нужную строку из раскрывающегося списка Heightmap Resolution, оптимальный вариант — 1024x1024. При необходимости вы можете изменить значение характеристики Meters Per Unit. Она отвечает за масштаб карты высот — сколько метров будет приходиться на каждый пиксель. Лучше всего поставьте здесь значение 2. Когда закончите, щелкните по кнопке Ok.

Водяная «пустышка» готова. Вода есть, суши нет. Следующий этап работы — собственно генерация ландшафта. Выберите пункт меню Terrain/Edit Terrain. Откроется окно редактирования карты высот. Чтобы вызвать генератор ландшафта, в окне Terrain выберите пункт меню Tools/Generate terrain. Появится окно настройки параметров генерации суши. Рассмотрим предназначение основных атрибутов, отвечающих за автоматическое создание ландшафта.

Характеристика Feature Size определяет размер и количество островов. Атрибут Bumpiness/Noise задает степень зашумления (деформации) поверхности. Параметр Detail (Passes) устанавливает определенное число временных эффектов, которые могут быть применены при создании заготовки. Значение характеристики Variation определяется редактором автоматически (изменить ее нельзя) и задает одну из 32 схем генерации местности. Атрибут Blurring (Blur Passes) служит для регуляции резкости зашумления — указывает, сколько раз нужно размыть поверхность после применения «шумового» фильтра, чтобы сгладить резко выраженные возвышенности и низменности. Наконец, параметры Sharpness (Exp. Base) и Sharpness (Freq. Step) определяют степень «резкости» рельефа и частоту употребления «резкостного» фильтра — эти параметры сообщают редактору, сколько раз и с какой частотой нужно применяться фильтр к уровню. Когда закончите с правкой атрибутов, щелкните по кнопке Ok и подождите несколько секунд, пока редактор сформирует рельеф.

Генерация текстуры поверхности прошла успешно.

Перед тем как перейти к доводке нашей карты с помощью терраформеров, немного поколдуем над картой высот. Вооружитесь кисточкой (инструмент Normal Brush на панели инструментов) и пройдитесь мышкой с зажатой левой кнопкой по тем участкам карты, где хотите обозначить какие-либо ландшафтные образования (горы, пригорки). Ну а чтобы стереть фрагменты суши, пройдитесь по карте мышью с зажатой правой кнопкой. По окончании малярных работ нажмите кнопку Ok, чтобы сгенерировать ландшафт.

Обратите внимание, полученная заготовка окрашена в белый цвет, так что обнаружить на карте какие-либо образования (горы, впадины) и продолжить работать довольно сложно. Чтобы устранить это досадное недоразумение, достаточно сгенерировать одно-единственное изображение для покрытия ландшафта — текстуру поверхности. Выберите пункт меню File/Generate Surface Texture. В появившемся окошке определите размер арта, например 4096x4096, и, не изменяя остальных параметров, щелкните по кнопке Ok.

Теперь уровень «обернут» в текстуру, пора переходить к изменению формы — добавим несколько гор, выкопаем овраги, обозначим другие неровности. На панели RollupBar в правой части редактора перейдите во вкладку Terrain (вторая по счету) и в свитке Terrain щелкните по кнопке Modify, чтобы активировать режим модифицирования ландшафта. Вы увидите, что на панели RollupBar появится свиток Modify Terrain, который содержит параметры редактирования.

Для формирования возвышенности/низменности на карте проделайте следующие действия. В свитке Modify Terrain выберите из раскрывающегося списка Type строку Raise/Lower. После этого настройте параметры кисти — установите величину внешнего и внутреннего радиусов захвата (атрибуты Outside Radius и Inside Radius), определите силу вдавливания/выдавливания (точнее, скорость формирования ландшафтного образования — характеристика Hardness), задайте высоту будущей неровности (параметр Height, для углублений он имеет отрицательное значение). Когда закончите, переместитесь в окно 3D-вида и пройдитесь мышкой с зажатой левой кнопкой по поверхности уровня, чтобы сформировать возвышенность или вырыть овраг.

Работа с остальными терраформерами осуществляется аналогичным образом, поэтому мы рассмотрим лишь их функции: модификатор Flatten из списка Type служит для выравнивания высоты местности, а кисть Smooth стоит использовать, когда требуется размыть резко выраженные угловатые поверхности.

Кисти в руки

Каркас уровня сформирован, но он совершенно однотонный. Самое время нанести на полученную заготовку текстуры. Процесс закрашивания ландшафта в Sandbox 2 проходит по необычной схеме. Сначала создаются текстурные слои, которые «окутывают» всю карту целиком, после чего формируются специальные альфа-каналы (черно-белые маски), определяющие видимость заданного текстурного слоя, вернее,  его участков. Звучит страшно, но на деле все не так уж сложно: сделали новый слой, прошлись кисточкой по определенным фрагментам ландшафта — и готово.

Создание нового текстурного слоя — очень ответственный этап. Ошибок здесь лучше не допускать.

Начнем с создания новых текстурных слоев. Выберите пункт меню Terrain/Texture — загрузится редактор текстурных слоев Terrain Layers Editor. Рассмотрим его внутреннее устройство. В левой части окна располагается список слоев и четыре кнопки для создания, удаления и перемещения выбранных элементов на одну позицию вверх/вниз в поле Layers. В правой части модуля, в области Static, расположены многочисленные поля параметров с информацией о выбранном слое.

Разберем предназначение основных атрибутов поля Static. Параметр LayerID указывает на идентификационный номер слоя, он генерируется программой автоматически. Советуем не изменять значение данного атрибута: могут возникнуть серьезные трудности при текстурировании. Характеристика Surface Type определяет тип поверхности (совокупность параметров, отвечающих за детализацию текстуры, физические свойства материала, степень прозрачности и зеркальности). В области Layer Mask Auto Generation проживают параметры автоматической генерации маски (альфа-канала) для заданного текстурного слоя.

Чтобы создать новый слой в редакторе, выполните следующие манипуляции. Щелкните по кнопке с изображением пунктирного прямоугольника на панели инструментов в колонке Layers (при наведении курсора на кнопку всплывет надпись New). Задайте новому элементу произвольное имя — скажем, sloy_x. В поле Static кликните по кнопке Edit Surface Types. Появится окошко Surface Types, в котором можно отредактировать параметры материала, а также создать новые типы поверхности.

Чтобы сделать новый тип, кликните по кнопке Add в поле Surface Types, переименуйте элемент (в списке Surface Types кликните по кнопке Rename) и, не снимая выделения, щелкните по кнопке Material Editor для вызова редактора материалов. Перед вами появится окошко, которое представляет собой некое подобие «Проводника». Левая его часть отведена под дерево файлов и папок, в правой проживают многочисленные поля параметров, в них заносится информация о заданном материале.

Добавляем растительность. Красивее всего смотрятся пальмовые рощи с большим количеством кустарника.

Нанесем материал на поверхность. Для этого на панели директорий и файлов в левой части приложения выберите произвольную запись из каталога Materials/Terrain, например Materials/terrain/beach_white_sand_dry_leafs. При желании вы можете самостоятельно поэкспериментировать с настройкой атрибутов выбранного материала. Ну а мы движемся дальше.

Закройте редактор материалов и щелкните по кнопке Pick Selected в окошке Surface Types, чтобы закрепить выбранный материал за поверхностью. Если вы все сделали правильно, то увидите, что в поле под комментарием Material Name появится полный путь к материалу. Нажмите Ok — этим вы сохраните изменения и выйдете из редактора поверхностей.

На панели в левой части окна Terrain Layers Editor кликните в списке по новому текстурному слою, после чего в поле Static выберите из раскрывающегося списка Surface Type строку с названием полученного нами типа поверхности. Последние штрихи — осталось задать основную текстуру слоя (изображение, которое мы в дальнейшем будем наносить на поверхность с помощью кисти). Щелкните по кнопке Load Texture на форме редактора слоев и в диалоговом окне выберите произвольный арт из каталога \Terrain, допустим, brown_leaves.dds.

Сделали? Отлично. Вот теперь можно приступать непосредственно к покраске ландшафта. На панели RollupBar в правой части редактора перейдите на закладку Terrain (вторая по счету) и щелкните по кнопке Layer Painter, чтобы переключиться в режим текстурирования ландшафта. В поле Brush Settings установите произвольный радиус захвата кисти (Radius) и силу действия (Hardness). Чтобы нанести материал на карту, перейдите в окно 3D-вида и передвиньте мышь с зажатой левой кнопкой по тому участку ландшафта, который хотите затекстурировать. Когда закончите базовую покраску, создайте еще пару-тройку текстурных слоев и затекстурируйте горы, овраги, котлованы для озер, ущелья и другие образования.

Агрономия — главнейшая из наук

Самые нетерпеливые уже могут опробовать уровень в игре. Причем редактор для этого покидать совсем необязательно. Достаточно просто воспользоваться комбинацией клавиш Ctrl + G. Окна редактирования уйдут на второй план, и вы окажетесь наедине со своим творением. Когда вдоволь набегаетесь по пустынному уровню, нажмите клавишу Esc, чтобы вернуться в режим редактирования и продолжить совершенствование карты. Работы еще целый воз с небольшой тележкой лампочек, декораций и прочей бутафории, которую нужно поместить на уровень.

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

Начнем с озеленения островов. Перейдите на закладку Terrain на панели RollupBar в правой части редактора и кликните по кнопке Vegetation. Вы увидите, что на панели RollupBar появится свиток Vegetation, где содержатся инструменты для работы с растениями, параметры кисти, списки добавляемых на уровень растений и их параметров, а также небольшое окно предварительного просмотра.

Чтобы добавить растение на карту, например дерево, выполните следующую цепочку действий. На панели инструментов в свитке Vegetation щелкните по кнопке Add Vegetation Object со схематичным изображением елки (первая по счету). В открывшемся диалоговом окне проследуйте в директорию Game/Objects/Natural (объекты природного происхождения). Вашему взору откроется список из 12 каталогов. Нас интересуют только 8 из них — \bananas (симпатичные модельки бананов), \bushes (кустарники), \fields (поля), \fruits_vegetables (фрукты и овощи — апельсины, лимоны, ананасы, картофель), \ground_plants (цветы, мох, трава, грибы, листья, лесная растительность, поросль), \plants (плантации), \trees (деревья), \underwater_plants (подводные плантации — кораллы, водоросли). Загляните в один из перечисленных каталогов и выберите в нем любую модель растения — например, банановое дерево: game/objects/natural/trees/banana_tree/bananatree_med_a.cgf.

Поместить растение на уровень можно выделив его в списке объектов (Objects), кликнув по кнопке Paint Objects и щелкнув левой кнопкой мышки по тому участку на карте, куда хотите добавить объект. При необходимости вы можете отрегулировать радиус захвата кисти (параметр Brush Radius в свитке Vegetation), а также поэкспериментировать с настройкой характеристик из поля, расположенного под списком «растительных» элементов. Примечательно, что при использовании инструмента Vegetation на карту добавляется не одно растение, а целая клумба из четырех и более элементов.

Что же делать, если нужно добавить на карту, допустим, одну-единственную пальму? Все просто — надо удалить лишние растения. Отключите кнопку Paint Objects, выделите лишний элемент на сцене щелчком левой клавиши мышки и нажмите Delete. Редактор поинтересуется, действительно ли вы хотите уничтожить объект? Нажмите кнопку Да. Совсем необязательно удалять объекты по одному, можно выделить целую группу (делается это мышкой с зажатой левой кнопкой) и точно так же избавиться от нее при помощи клавиши Delete.

Это важно знать
  • Sandbox 2 откажется запускаться, если вы проинсталлируете его не в папку с игрой. Редактор просто не найдет библиотечный файл ijl15.dll и выдаст ошибку.
  • Вы в любой момент можете изменить скорость передвижения в окне 3D-вида. Для этого достаточно откорректировать значение параметра Speed в строке состояния в нижней части программы.
  • Редактор позволяет распределить добавляемые на карту растения по специальным категориям, скажем, положить все модели деревьев в каталог с названием Деревца, кустарники — в папку с названием Кусты, а плантации и другие элементы — в директорию Другое. При этом названия каталогов и их количество запросто изменяются. Это означает, что вы, например, можете создать категорию Бананас и сложить в нее все модели банановых деревьев и бананов, которые в дальнейшем планируете добавить на карту. Чтобы создать новую категорию, в свитке Vegetation щелкните по кнопке Add Vegetation Category и в открывшемся окошке введите название нового блока, например Плантации. Для помещения элементов в сформированную группу выделите ее и кликните по кнопке со схематичным изображением елки в поле Vegetation на панели RollupBar в правой части редактора.
  • Если вы уберете флажок напротив любого растения в поле Objects, то тем самым отключите опцию отображения элементов данного типа на карте в окне 3D-вида (при тестировании уровня в игре они тоже не будут отображаться).
  • На слабых машинах (по сути, на любом одноядерном процессоре) редактор карт часто вываливается в Windows с ошибкой (как правило, возникает при текстурировании ландшафта и добавлении элементов на сцену). Никакие изменения при этом не сохраняются. Поэтому, чтобы в одночасье не остаться у разбитого корыта, почаще сохраняйтесь (команда File/Save).

Вдумчивый декоратор

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

Brush, Geom Entity — содержат всевозможные статические объекты. Здесь вы найдете модельки инопланетных баз, жилых зданий, сторожевых вышек, заборов, разбитых авто, камней и, как это ни странно, некоторых растений;

Протестировать карту можно прямо из редактора. Вот только если у вас сама игра сильно тормозит, то из редактора будет лагать еще сильнее.

Entity — включает в себя динамические конструкции, пикапы (оружие, медицинские аптечки, боеприпасы — директория \Items), источники света (папка \Lights), частицы (\Particles), средства передвижения (вертолеты, лодки и катера, гражданские авто — проживают в папке \Vehicles) и другие объекты (ломающиеся ящики, взрывающиеся бочки с топливом и другие динамические элементы — скрываются в каталоге \Others);

Sounds — в данной категории спрятаны игровые звуки и некоторые музыкальные треки.

Теперь, когда вы познакомились с содержимым основных блоков, щелкните левой клавишей мышки по кнопке с названием любой рассмотренной категории и выберите произвольный объект из списка Browser — например, Entity/Vehicles/Civ_car1. Чтобы добавить элемент на карту, ухватитесь за него левой кнопкой мышки и, не отпуская ее, перетащите объект в окно перспективы. Как только вы отпустите кнопку, моделька появится на карте.

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

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

Когда закончите, выполните повторную генерацию текстуры поверхности при помощи команды File/Generate surface texture, только после этого появятся тени от статических объектов (камней, вышек, деревьев). Сохраните уровень (пункт меню File/Export to Engine) и протестируйте его в игре.

* * *

На сегодня все. В следующих статьях по редактированию Crysis мы продолжим осваивать картостроительное ремесло — займемся доработкой уровня, поговорим о создании замкнутых игровых локаций, поупражняемся в моделировании несложных форм в редакторе (зданий, перекрытий, мостов) и написании однопользовательских миссий для игры.

Все вопросы, которые у вас возникнут в ходе освоения редактора Sandbox 2, присылайте по адресу gamedev@igromania.ru. На самые интересные из них мы непременно ответим в рамках игростроевской «Горячей линии».

Комментарии
Загрузка комментариев