Бинды и консоль

Настройки gore в KF2: значения KFGoreManager в DefaultGame.ini

Killing Floor 2 прячет значительную часть настроек крови и расчленёнки в ini-файле. Этот гайд времён Early Access разбирает секцию [KFGame.KFGoreManager] в DefaultGame.ini, объясняет, за что, вероятно, отвечает каждая переменная, и показывает, как проверить, что правки действуют. Описания - обоснованные догадки, а не официальная документация.

Перед правкой

KF2 хорошо оптимизирована, но у вашего ПК ограниченный запас на отрисовку ошмётков, декалей и эффектов. Не задирайте лимит тел до предела, если не готовы к лагам и вылетам. Повышайте значения шагами: изменили, поиграли, повысили снова.

  1. В настройках графики добейтесь плавного FPS выше желаемого уровня (например, 60). Автор обычно играет на High, но при повышении gore опускает настройки примерно до Medium, а лучи света и шейдеры ставит на низкие или выключает.
  2. В разделе Advanced поставьте детализацию персонажей и эффектов на Ultra, а интенсивность gore в настройках игры - на «кровавую». Так ini-файл сможет переопределить эти значения.

Где править

Откройте папку установки killingfloor2 (например, Steam/steamapps/common/killingfloor2) и измените KFGame/Config/DefaultGame.ini. Прокрутите до секции [KFGame.KFGoreManager].

Секция KFGoreManager в DefaultGame.ini Блок [KFGame.KFGoreManager] в DefaultGame.ini.

Что делают переменные

Всё, где есть «Lifetime», скорее всего считается в секундах.

ПеременнаяВероятный смысл
GoreFXLifetimeMultiplierКак долго видны анимированные брызги крови и взрывы плоти
BodyWoundDecalLifetimeВремя жизни следов от пуль и кусков, отстреленных у Zed
BloodSplatterLifetimeВремя жизни брызг на полу и стенах (часто живут почти всю игру)
BloodPoolLifetimeВремя жизни луж крови: они детальнее брызг и появляются после падения Zed
GibletLifetimeСколько живут мелкие ошмётки
MaxBodyWoundDecalsСколько ран может показать один Zed, прежде чем они перестанут появляться
MaxBloodSplatterDecalsЛимит брызг (они, похоже, не прекращают появляться, возможно считаются отдельные декали)
MaxBloodPoolDecalsСколько луж крови может быть одновременно
BloodSplatSizeРазмер брызг; слишком большой выглядит мультяшно и растягивает текстуру
BloodPoolSizeРазмер луж; то же предупреждение
MaxDeadBodiesЛюбимая настройка; на Ultra по умолчанию 12
MaxBloodEffectsВероятно, число кровавых попаданий на экране или на одном Zed
MaxGoreEffectsВероятно, сколько кусков разрубленных Zed отображается
AllowBloodSplatterDecalsОставьте True
PersistentSplatTraceLengthНеясно, скорее всего связано с отрисованными брызгами
MaxPersistentSplatsPerFrameВозможно, число брызг, обновляемых за кадр

Автор не программист и не художник эффектов и признаёт, что это опытные догадки по ini-файлам других игр.

Эффекты попаданий

Прямо над блоком gore находится [KFGame.KFImpactEffectManager], где можно усилить эффекты попаданий: следы от пуль и порезы от оружия ближнего боя.

Проверка

Вернитесь в расширенные настройки графики: если у детализации персонажей и эффектов стоит INI OVERRIDE вместо ULTRA, правки применены.

Меню графики с INI OVERRIDE Ищите INI OVERRIDE рядом с FX и Character detail.

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

Примеры в игре

  • Простреленная голова Bloat показывает текстуры повреждений, это декаль раны.
  • Анимированные брызги удлиняются через GoreFXLifetimeMultiplier, но в Zed Time они, похоже, переопределяются.
  • Ошмёток Crawler живёт дольше при повышении GibletLifetime.
  • У Cyst виден небольшой эффект gore.

Другие правки ini ради производительности смотрите в статье Твики ini в KF2: дальность прорисовки, gore и звук.

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

Какая настройка дольше держит трупы на экране?
MaxDeadBodies. На Ultra по умолчанию 12; в зависимости от ПК значение можно удвоить или утроить без сильной потери FPS. Повышайте понемногу.
Как понять, что правки gore применились?
Снова откройте расширенные настройки графики: у детализации эффектов и персонажей должно стоять INI OVERRIDE вместо ULTRA.
Это может привести к вылетам?
Да, при слишком больших значениях. Повышайте числа постепенно и проверяйте игру после каждого изменения.