Мутаторы и UnrealScript

Маска вариаций текстур оружия KF2: каналы, свечение, кровь

Страница пересказывает гайд для моддеров о масках текстур оружия в Killing Floor 2: как раскладывать их на каналы, за что отвечает каждый канал и как сочетаются карты diffuse и specular. Автор оговаривается, что статичные картинки показывают не всё, потому что цвета меняются в зависимости от угла обзора, и выкладывает примеры текстур и серые слои.

Обложка гайда Обложка оригинального гайда.

Что понадобится

  • Текстуры ножа Berserker для примеров. Текстуры большинства видов оружия KF2 лежат на вики Tripwire для моддеров. Оружие Gunslinger и всё, что вышло после Spitfire, придётся извлекать иначе.
  • GIMP 2 в качестве редактора (выбор автора).

Подготовка маски

Чтобы править маску, её нужно разложить на цветовые каналы.

  1. Откройте Wep_1stP_BerserkerKnife_M.jpg в GIMP.
  2. Выберите Colors, Components, Decompose.

Меню Decompose в GIMP Команда Decompose.

Для большинства скинов подойдёт цветовая модель RGB, а для оружия со светящимися частями - RGBA.

Диалог Decompose Диалог Decompose с выбранным RGB.

Получится три слоя (четыре при RGBA), по одному на канал. Они серые: чем светлее серый, тем сильнее канал после сборки. Названия слоёв не важны, но держите порядок Red, Green, Blue, Alpha - так проще собирать обратно.

Слои каналов Получившиеся слои каналов.

Сборка маски обратно

Выберите Colors, Components, Compose. Укажите RGB, если альфа-слоя нет, или RGBA, если есть четвёртый.

Меню Compose Команда Compose.

Compose с RGBA Диалог Compose с RGBA.

Слои размещаются в том порядке, в каком они лежат: первый считается красным, второй зелёным, третий синим, четвёртый (или копия первого) - альфой. Что делает каждый слой, можно изменить в меню Compose.

Красный и альфа-слои

Серый слой автора для примера свечения содержит ячейки со значениями 0, 25, 50, 75 и 100 в верхнем ряду и те же значения в обратном порядке во втором.

Градиент для свечения Серый слой-образец для свечения.

Красный слой отвечает за кровь. Обычно он нужен только холодному оружию, но кровь можно включить для любого оружия, и удар прикладом по ZED добавит кровь так же, как у холодного оружия. Чем ближе к белому участок, тем меньше ударов нужно, чтобы на нём появилась кровь. Возможно, он слегка влияет на цвет крови, но автор не уверен. Сплошной чёрный никогда не пачкается.

Градиент для крови Реакция красного слоя на кровь.

Альфа-слой управляет свечением. Здесь серый слой выше использован как альфа на ноже Berserker с включённым свечением.

Свечение на ноже Свечение на ноже Berserker.

В экземпляре материала в файле MAT важны два переключателя: StaticSwitch_HasBlood позволяет оружию пачкаться кровью от ударов ближнего боя (включая удар прикладом любого оружия), StaticSwitch_HasGlow включает эффект свечения. После их включения появляются векторные параметры, меняющие цвет крови или свечения.

Переключатели материала Переключатели крови и свечения в материале.

Карты diffuse и specular

Скриншоты не передают, как выглядят скины, поэтому автор предлагает использовать его текстуры. В примерах взяты текстуры diffuse и specular, красное значение выставлено в 50, блоки имеют значения 0, 25, 50, 75 и 100.

Пример diffuse Текстура diffuse из примера.

Пример specular Текстура specular из примера.

Один diffuse выглядит одинаково с большинства углов.

Только diffuse Только diffuse.

Только specular Только specular.

Diffuse и specular Оба вместе.

Зелёный и синий слои

Автор не до конца уверен, за что отвечают синий и зелёный, и советует использовать текстуры, чтобы построить собственные маски. Использованы две опорные основы: белая и чёрная.

Белая основа Основа для белого.

Чёрная основа Основа для чёрного.

Слева направо: оба чёрные, только синий, только зелёный.

Сравнение зелёного и синего Только синий и только зелёный.

Выводы: синий задаёт, сколько specular-слоя видно, в плоском неглянцевом виде. Зелёный показывает diffuse в глянцевом виде. При обоих на максимуме скин очень глянцевый, а там, где specular ярче diffuse, получается блестящий металлический вид.

Зелёный и синий на максимуме Оба канала на максимуме.

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

За что отвечает красный канал маски оружия KF2?
За кровь. Чем белее пиксель, тем меньше ударов нужно, чтобы там проступила кровь; чистый чёрный никогда не пачкается. Обычно он нужен холодному оружию, но кровь можно включить для любого оружия: удар прикладом по ZED тоже оставит кровь.
За что отвечают зелёный и синий каналы?
Автор не до конца уверен, но выяснил: синий определяет, сколько specular-слоя видно в плоском неглянцевом виде, а зелёный показывает diffuse в глянцевом виде. Оба на максимуме дают очень глянцевый скин с металлическим блеском там, где specular ярче diffuse.
Какая программа используется в гайде?
GIMP 2: команды Colors, Components, Decompose и Compose. RGB подходит для большинства скинов, RGBA - если есть светящиеся части.