Christmas Patriarch

Killing Floor SDK: Полный Гайд по Созданию Карт

Хотите создать собственную карту для Killing Floor? Игра использует Unreal Editor 2.5 (на базе технологии Unreal Tournament 2004). Этот гайд проведёт вас от нуля до полностью играбельной карты.

Часть 1: Установка и Настройка

Установка SDK

  1. Откройте Библиотеку Steam.
  2. В выпадающем меню (где написано “Игры”) выберите Инструменты (Tools).
  3. Найдите Killing Floor SDK и установите его (~2ГБ).
  4. Запустите из Steam или из KillingFloor/System/UnrealEd.exe.

Первый запуск

При первом открытии Unreal Editor вы увидите:

Совет по производительности

Если редактор тормозит, зайдите в View -> Preferences и уменьшите “Grid Size” до 16 или 8. Большая сетка может лагать на старых машинах.


Часть 2: Управление камерой

Управление камерой в Unreal Editor 2.5 непривычное для современных пользователей. Практикуйтесь в 3D вьюпорте:

ДействиеУправление
Вперёд/Назад + ПоворотЛКМ + Драг
Осмотр (Свободное вращение)ПКМ + Драг
Стрейф (Вверх/Вниз/Влево/Вправо)Обе кнопки + Драг
ЗумКолёсико мыши
Телепорт камеры к объектуКлавиша Home

Совет: Используйте ортографические виды (Top, Front, Side) для точного размещения, а 3D вид — для проверки внешнего вида.


Часть 3: Понимание субтрактивной геометрии (BSP)

Unreal Engine 2 использует Субтрактивный BSP (Binary Space Partitioning). Это принципиально отличается от современных движков вроде Unity или UE5.

Концепция

Красный Builder Brush

Красный проволочный каркас, который вы видите — это “Builder Brush” — ваша формочка для печенья.


Часть 4: Создание первой комнаты

Шаг 1: Установите размер Builder Brush

  1. На левой панели найдите иконку Куба.
  2. ПКМ по ней, чтобы открыть свойства.
  3. Установите Height, Width, Breadth на 1024 каждый (комната 1024x1024x1024).
  4. Нажмите Build.

Шаг 2: Вычтите комнату

  1. Разместите красный Builder Brush там, где хотите комнату (используйте ортографические виды).
  2. На левой панели нажмите кнопку “Subtract” (куб с дыркой/минусом).
  3. Появится сине-фиолетовый каркас — это ваше вычтенное пространство (комната).

Шаг 3: Проверка

Нажмите F8 для перестройки геометрии или Build -> Build Geometry. Затем проверьте 3D вьюпорт — вы должны увидеть пустой куб.


Часть 5: Добавление текстур

Серая комната скучна. Добавим текстуры.

Открытие браузера текстур

  1. Перейдите в View -> Texture Browser (или нажмите иконку текстуры на панели).
  2. Нажмите File -> Open в браузере.
  3. Перейдите в KillingFloor/Textures/ и откройте файл .utx (например, KF_Generic_textures.utx).

Применение текстур

  1. В браузере текстур кликните на текстуру для выбора.
  2. В 3D вьюпорте кликните на поверхность (стена, пол, потолок) вашей комнаты.
  3. Текстура применена.

Настройка текстур (Выравнивание)

Если текстура выглядит растянутой или смещённой:

  1. Выберите поверхность (кликните на неё в 3D виде).
  2. Откройте Surface Properties (нажмите F5 или ПКМ -> Surface Properties).
  3. Настройте Pan (смещение), Scale (размер) и Rotation.
  4. Используйте “Align to Floor” или “Align to Wall” для быстрой настройки.

Часть 6: Освещение

Карта без света — кромешная тьма.

Добавление базового света

  1. В 3D вьюпорте ПКМ на поверхность (внутри комнаты).
  2. Выберите Add Light Here.
  3. Появится иконка лампочки. Отодвиньте её от стен (свет слишком близко к поверхностям создаёт артефакты).

Настройка свойств света

  1. Дабл-клик на актёре света, чтобы открыть свойства.
  2. В LightColor установите LightBrightness (интенсивность) и LightHue/LightSaturation (цвет).
  3. В Lighting установите LightRadius (как далеко распространяется свет).

Перестройка освещения

Нажмите F8 или Build -> Build Lighting. Это рассчитывает тени и карты освещения. Делайте это каждый раз после добавления/перемещения света.

Советы по освещению


Часть 7: Точки спавна игроков (PlayerStart)

Игрокам нужно где-то появляться.

Добавление PlayerStarts

  1. ПКМ на полу.
  2. Выберите Add PlayerStart Here.
  3. Появится иконка джойстика. Здесь будет появляться игрок.
  4. Добавьте 6 PlayerStarts для полной команды (KF поддерживает до 6 игроков).

Советы по размещению


Часть 8: Навигация (PathNodes)

Зедам (и ботам) нужна навигационная сетка для передвижения. В UE2 это делается с помощью PathNodes.

Добавление PathNodes

  1. Откройте Actor Class Browser (View -> Actor Class Browser или иконка шахматной пешки).
  2. Перейдите: Actor -> NavigationPoint -> PathNode.
  3. ПКМ на полу в 3D вьюпорте -> Add PathNode Here.
  4. Размещайте PathNodes каждые 256-512 юнитов по всей карте, как хлебные крошки.

Построение путей

После размещения PathNodes:

  1. Нажмите F8 или Build -> Build Paths.
  2. Редактор нарисует розовые/голубые линии, соединяющие ноды. Это маршруты навигации ИИ.

Отладка путей

Если линии красные — путь заблокирован (что-то мешает). Если линий нет — ноды слишком далеко друг от друга.


Часть 9: Спавн зомби (ZombieVolumes)

Зеды появляются из ZombieVolumes — невидимых боксов, которые вы размещаете на карте.

Создание ZombieVolume

  1. Создайте Builder Brush размером с зону спавна (например, 512x512x256).
  2. Разместите его там, где хотите спавн зедов (задняя комната, вентиляция, вне видимости).
  3. На левой панели нажмите Add Volume (или ПКМ по кнопке Subtract).
  4. В диалоге выберите ZombieVolume из списка.
  5. Нажмите OK. Появится фиолетовый объём.

Свойства ZombieVolume

Дабл-клик на объёме для открытия свойств:

Совет: Размещайте ZombieVolumes вне поля зрения игроков. Спавн зедов на глазах выглядит плохо.


Часть 10: Торговец (Магазин)

Игрокам нужен Торговец для покупки оружия между волнами.

Добавление Торговца

  1. Откройте Actor Class Browser.
  2. Перейдите: Actor -> KFTraderActivator (или поиск “Trader”).
  3. ПКМ на полу -> Add KFTraderActivator Here.
  4. Разместите связанный ShopVolume вокруг зоны торговца.

Пути к Торговцу

Зеды НЕ должны заходить в зону Торговца во время торговли. Это контролируется ShopVolume — блокирующим объёмом.

  1. Создайте Builder Brush вокруг Торговца.
  2. Добавьте его как ShopVolume.
  3. Настройте его свойства для блокировки зедов во время Trader Time.

Часть 11: Тестирование карты

Быстрый тест (PIE - Play In Editor)

  1. Нажмите иконку Джойстика на верхней панели (или Alt+P в некоторых версиях).
  2. Вы появитесь на карте. Походите, проверьте на ошибки.
  3. Нажмите Escape для выхода.

Полный тест (Скомпилированная карта)

  1. Сохраните карту: File -> Save As -> KF-YourMapName.rom (должно начинаться с KF-).
  2. Сохраните в KillingFloor/Maps/.
  3. Перейдите в Build -> Build All для компиляции геометрии, освещения и путей.
  4. Запустите Killing Floor, начните Solo, выберите вашу карту.

Часть 12: Частые ошибки и решения

ОшибкаПричинаРешение
Карта полностью чёрнаяНет света или освещение не перестроеноДобавьте свет, нажмите F8
Зеды не спавнятсяНет ZombieVolumes или пути сломаныДобавьте ZombieVolumes, перестройте пути
Игрок проваливается сквозь полДыра в BSP (плохая геометрия)Проверьте на пересекающиеся брашы, перестройте
Ошибка “Ran out of BSP”Слишком много брашейУпростите геометрию, используйте Static Meshes
Текстуры отсутствуютПакет текстур не загруженДобавьте .utx в MyLevel или укажите в свойствах карты

Часть 13: Продвинутые темы (Краткий обзор)

Static Meshes

Для сложных объектов (мебель, машины) используйте Static Meshes вместо BSP. Они эффективнее.

  1. Откройте Static Mesh Browser.
  2. Загрузите пакет (например, KF_Generic_SM.usx).
  3. ПКМ во вьюпорте -> Add Static Mesh.

Двери (Movers)

Двери — это актёры Mover. У них есть ключевые кадры (открыто/закрыто) и триггерные события.

Скриптовые события

Для карт Objective Mode нужны KFStoryGameInfo и скриптовые триггеры. Это продвинутый уровень и требует знания UnrealScript.

Скайбоксы

Карты на открытом воздухе используют актёры SkyZoneInfo для рендера неба. Добавьте маленькую комнату скайбокса с SkyZoneInfo, затем используйте текстуру FakeSkyBox на потолках.


Ресурсы

Этот гайд охватывает основы. Мастерство в создании карт приходит с практикой — начните с простого, итерируйте и учитесь на официальных картах, открывая их в редакторе.

Discord