В Warcraft 3: Reforged для реализации спецэффектов используется стороннее решение PopcornFX. Если при старой графике мы могли работать с источниками частиц взаимодействуя напрямую с моделью, то теперь все основные настройки эмиттеров и других эффектов зашифрованы в отдельном файле, с расширением .pkb. Поскольку у нас нет возможности запечь кастомные PopcornFX эффекты под Reforged, членом сообщества создана небольшая “карманная” программка PKBlaster, предназначенная для работы с этими самыми .pkb файлами. С её помощью можно сделать, например, так:
Подготовка
Скачайте программу по этой ссылке с сайта Hiveworkshop и распакуйте. Исполняемый файл программы в формате .jar, поэтому предварительно убедитесь, что у вас на ПК установлена Java. Также нам потребуется софт для работы с архивом игры, например CascView.
Перекраска
Для примера попробуем перекрасить ядовитое облако. Извлечём нужный нам файл из архива игры, используя CascView. Обнаружить его мы можем в папке с моделью.
Сохраняем в удобное место, запускаем наш PKBlaster.jar и используем команду File -> Open для открытия файла. Видим следующее:
Можете посмотреть на попытки в реверс-инжиниринг на вкладках Nodes и Strings, но самое вкусное нас ждёт на вкладке Automation. Функция Sampler Data Color Swap позволит нам поменять местами значения интенсивности основных цветов, либо выставить их на максимум/минимум. Функция Sampler Data Colorize позволяет более тонко подобрать нужный цвет, выбрав его на палитре, или воспользовавшись цветовой моделью. Попробуем перекрасить в синий.
Жмём OK, затем Perform Colorize!, затем ещё раз OK, убедившись, что программа поняла наше желание правильно, и, наконец, сохраняем файл командой File -> Save. Импортируем .pkb в карту, указывая тот же путь по которому мы его извлекали.
Проверяем в игре, и вуаля: видим, что теперь наше облако стало тёмно-синим.
Цветовые вариации
Описанный выше способ импорта подходит лишь в том случае, если нам необходима только одна вариация эффекта. Допустим, мы хотим иметь не только синее облако, но и стандартное зелёное, а вдобавок ещё и красное. Для этого нам нужно создать дублирующую модель (под моделью в данном случается подразумевается непосредственно .mdx файл), и прописать в ней путь к новому .pkb.
Извлекаем модель облака из архива игры и сохраняем отдельным файлом. Далее нам нужно отредактировать узел PopcornFX. Тут есть два варианта. Можно воспользоваться ретерой твилака, где представлен GUI для такой операции. Находим нужный узел, и меняем путь в поле для ввода.
Можно также взять основную ретеру, и перейти там на вкладку Text, где будет показано MDL-представление модели.
Прописываем удобный для нас путь, и запоминаем его для последующего импорта в карту. Например, я написал MyEffects/PlagueCloudBlue.pkfx. Файл сохраняем, затем импортируем модель и эффект в карту. Путь к модели — любой удобный, путь к .pkb файлу — строго тот, который мы использовали в предыдушем шаге. Например, вот так:
Используем наши новые эффекты в редакторе объектов по тому же принципу, что и другие кастомные модели, и проверяем в игре.
Готово, теперь у нас есть разноцветные ядовитые облака, можно творить дальше. Имейте ввиду, что функция автоматической перекраски, по сути, просто переписывает значения в заранее заданных оффсетах, в следствии чего сам автор программы заявляет о возможных ошибках или редактировании не того, что ожидается.
Ред. Берги
А так, есть сторонний профессиональный софт для полноценной работы с этими вещами.
блин, а модел эдитор может перекрасить модель?
Ред. Makeba
В цветовых моделях цвета нужно выбирать намного темнее, чем нужно получить. Грубо говоря, если вам нужен красный и вы тупо выберете обычный красный, то на выходе получится розовый. А чтобы заиметь на выходе именно красный нужно подбирать какой-нибудь тёмно-бордовый. Чтобы покрасить демоническую бурю в более-менее нормальный зелёный, я вообще выставил почти чёрный цвет с капелькой зеленцы. В принципе, в окне, которое появляется после команды Perform Colorize, хорошо показывается результат свапа цветов, и по этой информации можно достаточно точно понять как будет выглядеть эффект в игре. Поэтому можно экспериментировать без импорта в карту, пока не получится подобрать подходящее значение для адекватного свапа.
Но вообще, это для извращенцев-костыледелов вроде меня, и я никому не рекомендую так делать