Маппинг и SDK

Гайд по редактору KF2 SDK: интерфейс, браши и статики

Это переработка начала русского мануала по KF2 SDK. Автор в оригинале предлагает скачать полную версию в PDF и Word (там есть картинки и меньше опечаток), а в Steam выложил только первую часть, поскольку без иллюстраций читать тяжело. Цель мануала - объяснить редактор, избавить новичков от лишних вопросов и помочь скорее начать делать собственные карты. Если вы знакомы с UDK или редактором первой KF, будет проще: KF2 SDK - это сильно модифицированный UDK, и большинство функций в них работают одинаково. Общий обзор моддинга смотрите в моддинге для чайников.

Интерфейс редактора

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

  • File: New level (новый уровень), Open (открыть карту), Save current level, Save as, Switch render (переключение рендера между DirectX 10 и 11), Import/Export (нужны, только если переносите карты из других игр на Unreal Engine), список недавних файлов. Остальное не используется.
  • View: есть автосохранение; интервал меняется в Change autosave options (автор советует 15 минут, так как однажды из-за отключения света потерял около 20 минут работы). Здесь же New floating viewport (добавить окно) и Fullscreen.
  • Edit, Brush: практически не используются, дублируют другие элементы (Brush копирует вкладки CSG и Volumes слева).
  • Build и Play: то же делают значки в правом верхнем углу.
  • Tools и Help: мало пользы.
  • Preferences: очень полезная вкладка.

Два способа строить уровень

Автор советует комбинировать оба.

Браши (Brushes, BSP) - геометрия уровня, каркас, как фундамент здания. Хотя все официальные карты сделаны без брашей, они удобны и, в отличие от статиков, не дают швов. Минусы: система крови KF2 на брашах не работает (можно обмануть, застелив пол статиками с той же текстурой), любой добавляющий браш легко конвертируется в статик, а геометрия не пересобирается сама, пока не нажать Build Geometry (куб справа вверху); обойти это можно, включив в Preferences автообновление визуализации BSP.

Статики (Static Meshes) - декор: столы, стулья, лампы. Они поддерживают систему крови, а в Content Browser есть строительные статики, из которых можно собрать уровень не хуже, чем из брашей. Минусы: швы, особенно в системе крови, и при увеличении размера растёт и кровь (вместо капли получается лужа). Статикам легко задать физику, превратив их в KActor, из них делают двери и мувер-платформы. Если кровь нужна везде, стройте карту только из статиков.

Управление и первый браш

Управление - мышью и горячими клавишами. ЛКМ - движение в направлении, ПКМ - осмотр, обе кнопки - изменение высоты; можно использовать WASD. F11 - полноэкранный режим, B возвращает пропавший красный строительный браш.

Пространство редактора - огромная пустота (в первой KF - сплошная твёрдая масса), которую надо заполнить. Красный куб - строительный браш; ПКМ по его значку открывает размеры. Пример: задать 20000 по X и Y, нажать Build, затем Add во вкладке CSG - получится огромная платформа. Если текстуры не видно, проверьте режимы Unlit и P.

Режимы окна: P (и три других) - вид (сверху, снизу, сбоку, перспектива; удобнее всего перспектива); Brush wireframe и Wireframe; Unlit и Lit (без освещения и с освещением; автор работает в Unlit, а Lit подходит мощным ПК или лёгким картам); значок джойстика - Real time (полезно смотреть эмиттеры вроде огня); G - вид, как в игре.

Дальше: создайте второй куб, например 800x800x800, с галочкой Hollow и толщиной стены 16-32, нажмите Build, но не добавляйте сразу: сначала расположите. Это делается стрелками на ребре строительного браша или мышью при зажатом Ctrl (ЛКМ - красная стрелка, ПКМ - зелёная, обе - синяя). Переключатель World/Local задаёт систему осей: World - относительно мира (рекомендуется), Local - относительно объекта. Размер сетки в правом нижнем углу рекомендуют 8-32, сетку углов поворота 5-11 градусов. Пробел переключает режимы: перемещение, поворот, масштаб (первый вариант масштабирует пропорционально, второй - по оси).

Чтобы сделать вход, создайте меньший браш (например 200x200x300) без Hollow, расположите ниже и вырежьте кнопкой Subtract. Браши делятся на добавляющие и вырезающие - всё просто (в отличие от KF1).

Фигуры

  • Куб: понятно.
  • Конус и цилиндр: число сторон Sides (не больше 20, иначе тяжело редактору), радиусы Outer и Inner (реально меняется Outer, так как Hollow используется редко).
  • Curved staircase (винтовая с заворотом): радиус, высота и ширина ступеньки (Step height, width), угол (360 градусов - круговая), число ступеней Num steps, Add to first step, Counter clockwise (поворот на 180).
  • Linear staircase: прямая лестница с теми же настройками.
  • Spiral staircase: всегда 360 градусов.
  • Sphere: для большего числа полигонов меняйте Sphere extrapolation, 5 более чем достаточно.
  • Sheet и Cards не используются.

Копирование и выделение

Если работаете только с брашами, включите автообновление BSP или жмите Build Geometry после изменений (для новых брашей это не обязательно). Выбрать весь браш можно через рёбра в режиме Brush wireframe или включив в Preferences Clicking BSP selected brush. Перемещение с зажатым Alt создаёт копию; запасной вариант - Ctrl+W (даёт небольшое смещение, но работает при кривых или смещённых осях). Несколько объектов выделяются Ctrl+клик.

Content Browser

Здесь хранятся звуки, объекты, эмиттеры и эффекты. Горячая клавиша - Ctrl+Shift+F. Пакеты по умолчанию запакованы и их надо загружать. Нужны в основном текстовые вкладки сверху, поиск и фильтр, а главное - Packages. Нажмите на гаечный ключ у Packages, чтобы список стал нужным.

Важно: в Unreal Engine 3 на объекты и поверхности накладываются только материалы (тег Mat; автор для удобства зовёт их текстурами). Объекты называются Static Meshes (тег Mesh). Пакеты официальных карт имеют тег Env.

Статики подробно

Добавление. Чтобы добавить объект с карты Biotics Lab, в поиске Packages введите env mesh (можно дописать bio), выберите пакет (предпросмотра нет), ПКМ - Fully Load. Выберите статик и добавьте: ПКМ по поверхности - Add StaticMesh, либо перетащите из Content Browser.

Окно параметров (F4). Нужна вкладка Static Mesh Component, в ней Rendering и изредка Lighting; иногда Display и Collision.

  • Rendering: Materials (смена скина: плюс, None, выбор материала в браузере, зелёная стрелка), Min и Max Draw Distance (отличная оптимизация), Hidden Game (для невидимых лесенок для ZED).
  • Lighting: обращайтесь, только если свет работает некорректно; галочки Indoor и Outdoor - каналы освещения.
  • Display, Draw Scale: размер по всем осям или по каждой отдельно; отрицательное число зеркалит статик. Растяжка должна быть кратна 0.25, иначе при расположении будут швы или щели.
  • Collision: нужна только в особых случаях, например когда объект не должен преграждать путь ZED. Некоторые объекты по умолчанию не имеют коллизии; помогает невидимая стена Blocking Volume (ПКМ по статику - Create Blocking Volume; если неточно, последний вариант Auto Convex Collision с настройкой точности, но он часто роняет редактор). При создании Blocking Volume коллизия статика переключается на BlockWeapons (блокируются только выстрелы и гранаты); пользуйтесь шаблонами в Collision Type.
  • Can step up on: если ноги ZED или игроков коллизят объект (например воду-статик), а тело нет, ZED будут ходить «в присядке».

Поэкспериментируйте, добавьте статики, и можно переходить к текстурам уровня.

Босс не выходит в конце игры

Вопрос из темы «Как на кастомных картах заставить патриарха выходить в конце?» на форуме killingfloor.ru. По ответу UltraKill, босс появляется, только если на карте есть специальная точка спавна для него: она маленькая, и в её названии есть слово BOSS. В коллекции стандартного контента SDK есть все виды спавнов. Автор темы ответил UltraKill, что на карте-«кубе» самого UltraKill такой спавн был один и постоянно оказывался на виду, поэтому босс не хотел появляться; пришлось добавить ещё 12 мест спавна.

Вопросы и ответы

На что похож редактор KF2 SDK?
Это сильно модифицированный UDK, поэтому большинство уроков по UDK подходит и к KF2, хотя и не все.
Что лучше для основы уровня: браши или статики?
Автор советует делать основу из брашей (нет швов), а затем заполнять уровень статиками. Но система крови KF2 не работает на брашах, а работает на статиках.
С чем связана кратность масштаба статиков 0.25?
Растяжка статика должна быть кратна 0.25, иначе при расстановке по сетке мира появятся швы или щели.