Маппинг и SDK

KF SDK: фоновые звуки, снег, телепорты и текстуры неба

Небольшие приёмы для KF SDK, которые объясняли на форуме killingfloor.ru мапперы Gaiver5, K-2 и UltraKill (2012-2013). Базовая работа с редактором описана в руководстве по маппингу и в основах редактора карт.

Фоновые звуки (AmbientSound)

Шелест листвы, мухи у мусорного бака, пение птиц, гул вентиляции — всё это делается актором AmbientSound.

  1. В браузере акторов выберите Actor → KeyPoint → AmbientSound.
  2. Щёлкните правой кнопкой по поверхности на карте и выберите Add AmbientSound Here.
  3. Откройте браузер звуков, выберите пакет и подходящий звук.
  4. В свойствах актора, Sound → AmbientSound, нажмите Use: актор будет проигрывать выбранный звук.
ПараметрЗначение
SoundVolumeГромкость, 0-256
SoundRadiusРадиус слышимости вокруг актора
SoundPitchСкорость (высота) звука: 32-128, по умолчанию 64. Замедленный звук отлично работает на хоррор-картах
bFullVolumeЕсли True, громкость не зависит от расстояния
SoundOcclusionКак звук глушится стенами: OCCLUSION_Default, OCCLUSION_None, OCCLUSION_BSP, OCCLUSION_StaticMeshes. Если не хотите разбираться, оставьте Default

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

Снег

  1. Добавьте на карту актор xWeatherEffect (проще всего скопировать его с официальной зимней карты, например KF-Marylux).
  2. В его свойствах поставьте WeatherType = WT_Snow. Количество, размер и направление частиц настраиваются остальными параметрами эффекта.
  3. Чтобы снег не шёл внутри зданий, сделайте зону исключения: растяните красный браш-строитель на всё здание, на панели инструментов выберите Volume и создайте обычный Volume. Учтите, что новый Volume появляется отдельно от браша: отодвиньте браш, чтобы его увидеть.
  4. В свойствах Volume на вкладке Events задайте Tag = NoSnow. Тот же тег должен быть указан и в настройках самого xWeatherEffect, иначе Volume игнорируется.
  5. Пересоберите карту (Build).

Огонь и другие эффекты частиц (Emitter)

Из ответа K-2 в теме «Добавление огня на карту» на форуме killingfloor.ru. Видимый «огонь» на картах — это, как правило, Sprite Emitter (в редакторе выглядит как эмблема со знаками «+»). Он генерирует «плоские» частицы, обычно с полупрозрачной текстурой, и тонко настраивается: количество, скорость и траектория движения, коррекция цвета, время «жизни» и диапазон размера частиц. Один Emitter может сочетать сразу несколько разных эффектов.

Добавить Emitter на карту можно тремя способами:

  1. Выбрать один из существующих в браузере акторов (Actors > Emitter) и добавить его через ПКМ > Add [name] here.
  2. Скопировать Emitter с другой карты (Ctrl+C / Ctrl+V) и при необходимости отредактировать.
  3. Создать вручную, что не очень-то просто.

В редакторе эффект Emitter-ов виден только в режиме Realtime Preview. Настраивать его удобно прямо так, глядя на результат, без многократных тестов в игре (совет K-2 из темы «Создание Emitter'а»).

Телепорты

  1. В браузере акторов откройте NavigationPoint и выберите нужный тип: KFTeleporter (обычный) или KFTraderTeleporter (телепорт от торговца).
  2. Щёлкните правой кнопкой по месту на карте и выберите Add KFTeleporter Here. Поставьте два телепорта, например в разных концах карты.
  3. У второго (точки выхода) в свойствах, вкладка Events, задайте Tag, например TestTeleport1.
  4. У первого (входа) на вкладке Teleporter в поле URL впишите этот же тег.

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

Текстуры для неба

  • Red Sorceress (redsorceress.com/skybox.html) — много наборов неба на разные темы; текстуры 512×512 в JPG, разрезаны на 5 сторон (без пола). Перед импортом переведите в TGA.
  • Hazel Whorley (hazelwhorley.com/textures.html) — небо для UT2004 с 3D-предпросмотром; KF SDK — тот же Unreal Editor, так что всё подходит.

Для набора из текстур 512×512 делайте куб-скайбокс размером 510×510×510: на кубе 512 при наложении видны швы. K-2 советовал накладывать небо на купол или сферу. Как устроена зона неба, описано в разделе Zone Info руководства по маппингу.