, Гильдия «Черамор», IPO N7

WarCraft 3: Изменение стандартных эффектов (система частиц)

» Раздел: Моделлинг
» Автор оригинала: N7 Molot
» Источник: Голова

Навигация:


Данная статья не расскажет Вам как создавать свои собственные эффекты и как работать с системой частиц, в ней я расскажу как можно изменить стандартные эффекты. Конечно Вы можете посмотреть на примерные эффекты в стандартных моделях и у себя в модели сделать свой нужный эффект, зная то что я вам навалю изложу.

Нам потребуется:

  • программа для работы с .mpq файлами (к примеру, WinMPQ)
  • редактор моделей (к примеру, War3ModelEditor)
  • конвертер изображений (к примеру, BLP Laboratory)
  • редактор изображений (к примеру, paint.net)

Для примера возьмем способность «Огненный столб», она у нас состоит из 5-ти эффектов:
  • 3 особых эффекта (сами взрывы) - Abilities\Spells\Human\FlameStrike\FlameStrike.mdl (так же, FlameStrike1 и FlameStrike2)
  • эффект (цель каста) - Abilities\Spells\Human\FlameStrike\FlameStrikeTarget.mdl
  • эффект эффекта (горящая земля) - Abilities\Spells\Human\FlameStrike\FlameStrikeEmbers.mdl
Вытаскиваем эти модели через программу, которая открывает .mpq файлы, я открывал через WinMPQ. В редакторе моделей открываем модель, я открывал через War3ModelEditor, Вы можете открыть в другой программе для Вашего удобства, главное что бы в ней можно было изменить систему частиц (particle system) в узлах (ноды - nodes) и вытащить текстуры для редактирования. Не забываем, подключить базовый .mpq файл от игры, если это необходимо, что бы можно было просмотреть изменения эффекта.
В редакторе моделей и будем проводить большую часть работы над эффектом. Не забываем делать резервные копии эффектов, что бы по несколько раз не вытаскивать его из архива игры.

Система частиц (particle system):

В редакторе моделей заходим в окно узлов и находим систему частиц. В War3ModelEditor это окно находится во вкладке «Окна (Windows)», затем вкладка «Менеджер узлов (Node manager)».
Имеется две системы частиц - первая довольно простая, вторая более функциональная. Разбирать как они работают не буду, так как мы в спешке хотим изменить цвет эффекта. Все поля подписаны, с переводчиком не сложно понять какая строка за что отвечает. Поиграйтесь со значениями, и вы поймете как работает система.

Изменение цвета системы частиц:

Нас интересуют такие поля как цвет и текстура:
По картинке видно, что имеется некая текстура, в данном случае это атлас дыма, и плавное изменения цвета разбитая по сегментам. Это нам и нужно.
К примеру, мы хотим сделать синий огонь. Так как дым отражает цвет огня, то и дым должен переливаться в синем оттенке:
Цвет меняется в обычной палитре. Изменяем на нужные оттенки; первый сегмент - начальный цвет, то есть тот момент, когда дым только начинает свою жизнь; второй сегмент - цвет второй ступени, когда дым прожил срединную часть своего времени, то есть отлетел от источника; ну и третий сегмент - цвет перед его смертью, растворения или же затухания в среде обитания.
Изменяем все частицы и идем дальше.

Спрайты

Поверхность с текстурой, которая имеет альфа канал (как правило), наложенная на поверхность, которая проигрывает нужную анимацию. Нам нужно найти текстуру - или же спрайт, и изменить ему оттенок. Я нашел текстуру в менеджере материалов.

Редактирование текстуры спрайта:

Имена материалов случайные, и задаются при каждом открытии модели. Теперь мы знаем название текстуры. В менеджере текстур находим текстуру и экспортируем в удобное нам место для редактирования.
Через конвертер изображений меняем формат изображения без потери качества, к примеру .png - я менял формат в программе BLP Laboratory. Далее, нашей текстуре меняем оттенок на нужный нам в любом редакторе изображений. Я менял в paint.net:
Но я решил сделать как в своем проекте Project: «Anger». Там у меня почти каждый материал имеет черно-белую основную текстуру. Такое решение было принято в пользу оптимизации веса проекта - я тупо задам цвет в игре и все, мне не нужно делать большое кол-во текстур разного цвета. На данном примере, мы так же сделаем, и зададим цвет в материале:
Полностью скидываем насыщенность, немного поднимаем осветленность и корректируем на глаз яркость и контрастность. Экспериментируйте со своими текстурами так, что бы сохранился оригинальный рисунок и не был он сильно тусклым, так же как и освещенным.
Довольны результатом? Сохраняем под новым названием текстуру без потери качества. Так же, загляните какие каналы имеются в оригинальной текстуре. В нашем случае все хорошо и дополнительных каналов, кроме пустого альфа канала нет.
оригинал пропукал, но будьте уверены, там так же

Использование отредактированной текстуры:

Теперь нашу, новую текстуру сохраняем в формате .blp со 100 процентным качеством и нужными настройками каналов. В моем случае это просто добавление альфа канала:
Так как у нас новая текстура, её нужно залить в модель - получается импортированная текстура. Путь можно создавать, просто создав папку, где лежит модель, с любым именем - но при импорте в карту придется этот путь так же указать. Если нам лишний путь не нужен, оставляем текстуру в той же директории что и сама модель.
Остались последние штрихи. Заливаем новую текстуру в модель через импорт текстуры в редакторе моделей, через менеджер текстур.
Как видно, текстура не имеет лишнего пути. Именно так путь к текстуре указываем в менеджере импорта в самом редакторе карт Warcraft 3.
Теперь нам нужно указать новую текстуру в материале. Идем туда, где мы брали название текстуры спрайта. И изменяем все текстуры материалов на новые, где используется старая текстура:
  • Если Вам нужно было только изменить цвет текстуры на какой то определенный, то на этом всё. Заливаете в редактор - перезапустите его, и будет Вам счастье. Пути указаны выше.
  • Те кто делал как я - тем большой... те читают дальше.

Задаем цвет каждому спрайту:

У нас черно-белая текстура, значит и эффект будет черно-белым. Нам нужно задать ему цвет. Цвет задается на каждом «Графическом наборе (Geoset)» свой. Графический набор - данные материала спрайта, на данный момент их 5. Каждый из них отвечает за один спрайт, или же вершину эффекта. Найти сея набор можно в «Менеджере графических наборов (Geoset manager)». В этом менеджере указаны их данные, координаты и прочее, нам для изменения цвета нужен «Менеджер анимации графических наборов (Geoset animation manager)», в нем есть вкладка цвета. Изменяем на тот, который нам нужен - в моём случае, это светло синий. Так же, можно задать изменения цвета по кадрам анимации, для того что-бы цвет плавно менялся по течении анимации.
Изменяем цвет каждого набора, приблизительно в одном цветовом стиле. Я сделал небольшой разброс в цвете, примерно, дальний набор от центра более темнее, чем ближний.
Проверяем, все ли мы сделали. Затем удаляем старые текстуры. Я ещё изменяю название анимации, так как стандартные пишутся с маленькой буквы. Я их меняю так, что-бы было с заглавной. На этом все, Вы изменили цвет эффекта. Можно спокойно заливать в редактор, менять правильно путь, о нём я писал выше, перезапустить редактор и делать способности или декорации со своими эффектами.
Моя задача была изменить все эффекты способности «Огненный столб», я это сделал. И теперь эффекты выглядят так:
На этом теперь точно всё, будут вопросы пишите. Всем спасибо за внимание, всем удачи и всем пока.

Видео:

Сорян за треск в микро, он будет не на всем протяжении видео - сказала подружка =)

Навигация:


Просмотров: 215

FYAN #1 - 2 дня назад 0
2 красных эффекта все запороли...ну должен же быть путь как их вылечить
N7 Molot #2 - 2 дня назад (отредактировано ) 1
FYAN:
Есть - задать стандартный путь, который указан в корне игры. Это как изменить курсор или же иконку управления, но беда будет в том, что можно будет ввести только один эффект. Пока это самое простое и быстрое решение.

Второе, это сделать полностью собственную способность, где появляются ещё два эффекта с небольшим разбросом и параллельными углами отклонения, примерно ±50 градусов от взгляда персонажа.
konvan5 #3 - 2 дня назад 0
Полезная статейка, хоть основы точно можно подчеркнуть и перенять чужой опыт в незнакомой, но интересной теме. Спасибо за работу!
Vlod #4 - 15 часов назад (отредактировано ) 0
Круто! Скажи, нет ли более удобного инструмента?
N7 Molot #5 - 12 часов назад 0
Vlod:
Я не знаю, по факту может подойти любой редактор моделей формата .mdx, я использовал эту, так как привык к ней - за 5-10 минут меняю весь цвет эффекта.
Vlod #6 - 11 часов назад (отредактировано ) 0
N7 Molot, понятно. Просто по видео кажется это значительно дольше, даже с ускорением. Для коррекции того же цвета, автор переходит в каждый элемент отдельно. Если что-то не понравилось, то менялся снова каждый элемент, вместо наложения цветокорректирующего фильтра на выбранные элементы. Не увидел горячие клавиши для быстрой работы. Иногда автору приходилось повторно смотреть необходимый материал. Неудивительно, когда названия выглядят как Material 0081A100. Не хватает небольших картинок, чтобы понимать, какой материал нужен. Чтобы посмотреть, что окрашивает данный элемент, автор был вынужден сначала выставлять какой-нибудь яркий цвет, смотреть, что изменилось, и только потом принимать решение, на какой цвет изменить. Рабочий способ, но костыль, поскольку отсутствует кнопка автовыделения выбранного элемента на модели.
Эти названные и другие неназванные мелочи способствуют экономии общего времени, подобно тому, как IDE с горячими клавишами автодополнения, быстрого перехода к реализации, рефакторингом отличается от notepad++. Если с нуля работа заняла у вас действительно 10 минут, то хорошо. В любом случае, очень здорово, что вы решили нам передать свой опыт
N7 Molot #7 - 11 часов назад 0
Vlod:
да, программе не хватает удобства, на видео переделывал 3 одинаковых эффекта, когда достаточно было переделать один и тупо его переименовать - результат был бы тот же.