Маппинг и SDK

Сборка всех ресурсов в одну анимацию

Гайд, который очень нужен для начинающих администраторов серверов. С каждым новым игровым обновлением (патчем) Tripwire увеличивают общее количество "пакетов" (ресурсов) в игре. Это приводит к сокращению возможностей добавления дополнительных (кастомных) мутаторов (ресурсов) на сервер. Поэтому желательно уменьшить их количество.

Как собрать текстуры, статик меши и звуки в одну анимацию (пошаговая инструкция)

Пример упаковки ресурсов ПКМ

1. Открываем KFEd, открываем нужную анимацию

Открытие анимации в KFEd

Выбор анимации

2. Открываем нужные Static Meshes

Открытие Static Meshes

3. Переименовываем с указанием имени пакета анимации

Желательно создать группу для каждого типа ресурсов. Я создала для Static Mashes группу с подписью _SM (для удобства определения). Группу желательно создать, если вдруг во всех ресурсах случиться повторение имени. Переименовываем одним способом все Static Meshes с указанием одного и того же пакета анимации и одной группы.

Переименование Static Meshes 2

4. После переименования всех ресурсов Static Meshes переходим во вкладку анимации и сохраняем с заменой. Перезагружаем KFEd

Сохранение анимации


Упаковка текстур

1. Открываем KFEd, открываем нужную анимацию

2. Открываем нужные Textures

Открытие текстур

3. Переименовываем с указанием имени пакета анимации и группы текстур (у меня приписка _T)

Переименование текстур 1

4. После переименования всех ресурсов Textures переходим во вкладку анимации и сохраняем с заменой. Перезагружаем KFEd


Упаковка звуков

1. Открываем KFEd, открываем нужную анимацию

2. Открываем нужные Sounds

Открытие звуков

3. Переименовываем с указанием имени пакета анимации и группы звуков (у меня приписка _S)

Переименование звуков 1

4. После переименования всех ресурсов Sounds переходим во вкладку анимации и сохраняем с заменой. Перезагружаем KFEd

5. Бывает, что звуки еще размещены в SoundGroup, как у Brute

Звуковые группы

6. Чтобы перемещенные звуки разместить в нужные звуковые группы, нужно создать новую звуковую группу с нужным именем (по аналогии с исходником)

Создание звуковой группы 1

7. В свойствах этой группы назначить те звуки, которые должны в неё входить (по аналогии с исходником)

Выбираем нужный звук из списка, нажимаем "использовать". Повторяем то же самое для всех звуков и звуковых групп. Сохраняем наш "продукт" во вкладке анимации.

Настройка звуковой группы 1

Настройка звуковой группы 2

Настройка звуковой группы 3


Результат

Готово. Мы сократили количество пакетов-ресурсов с четырёх до одного.


Дополнительная информация

Извлечение ресурсов из .u-пакета

Если вам нужно извлечь ресурсы (текстуры, анимацию, статики или звуки) из .u-пакета, запускаем KFEd, открываем в нём .u-пакет в аналогичных ресурсам вкладках и вышеописанным способом переименовываем все ресурсы. Сохраняем.

Важные нюансы при работе с оружием

При перемещении мешей и анимаций оружия есть важные особенности:

  1. Нотификации: Если перемещаете меш и анимацию, то надо удалять нотификации и создавать заново, присваивая прежние настройки. Простым перемещением звуков с анимациями обойтись не получится.

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

  3. Проблемы с оружием: При объединении нескольких видов оружия в один пакет могут возникнуть проблемы со звуками перезарядки. Звуки могут перепутываться между разными видами оружия. Это связано с особенностями работы звуковых групп в нотификациях.

Сжатие текстур

При объединении текстур важно правильно выбрать формат сжатия:

  • DTX1: Текстуры без прозрачности, которые добавляются в комбинер, можно сжать в DTX1.
  • DTX3: Текстуры с прозрачностью, но без альфы, такие как текстуры оружия для отображения в магазине, можно сжать в DTX3.
  • DTX5: Текстуры с альфой, если они используются в комбинере, сжимать в DTX5.

Объединение нескольких анимаций в одну

Если у вас есть несколько анимационных пакетов (например, weapon1_a.ukx и weapon2_a.ukx) и вы хотите объединить их в один (weapons_a.ukx):

  1. Переименовываем weapon1_a.ukx в weapons_a.ukx
  2. Открываем в редакторе weapons_a.ukx
  3. Добавляем ресурсы из weapon2_a.ukx в weapons_a.ukx
  4. Сохраняем результат

Важно помнить о необходимости обновления всех ссылок и нотификаций при таком объединении.

Упаковка всех ресурсов в .u через UCC

Способ kok-s из той же темы форума killingfloor.ru («Сборка всех ресурсов (textures, static meshes, sounds) в animations»): компилятор сам кладёт все ресурсы в .u-пакет кода. Быстро, но, по словам автора, иногда случаются баги. Пример — оружие Hammer of Retribution (пакет HOR):

  1. Положите HOR_T.utx, HOR_sm.usx, HOR_A.ukx в папку HOR рядом с папкой Classes.
  2. Во всех исходниках замените пути к ресурсам HOR_T, HOR_sm, HOR_A на имя пакета HOR, например TraderInfoTexture=Texture'HOR.S'.
  3. В основной класс (здесь HOR) впишите:
#exec OBJ LOAD FILE="HOR_T.utx" Package="HOR"
#exec OBJ LOAD FILE="HOR_sm.usx" Package="HOR"
#exec OBJ LOAD FILE="HOR_A.ukx" Package="HOR"
  1. Удалите старые HOR.u и HOR.ucl и скомпилируйте. Все ресурсы окажутся внутри HOR.u.

Stein в той же теме отметил, что у него ресурсы попадали в .u и без параметра Package=, когда файлы ресурсов назывались так же, как пакет (HOR.utx, HOR.usx, HOR.ukx, без приставок _A, _T, _snd, _sm); с приставками компилировался .u только с кодом.