Добавлен , опубликован

War3ModelEditor: создание источников частиц

Содержание:
Итак, Particle Emitter 1 – это такой вид источников, который позволяет прикрепить к модели еще одну дополнительную (внешнюю) модель. Также, по словам Алексея и по допустимым параметрам в W3ME, можно использовать в качестве частиц текстуру, но у меня не вышло (да и зачем это надо, если есть Particle Emitter 2?).
Самая гадость состоит в том, что W3ME вообще никак не отображает этот вид источников.
Итак, я решил прикрепить к модели Счастливой монетки (Objects\InventoryItems\PotofGold\PotofGold.mdx) эффект заклинания Трансмутация (Abilities\Spells\Other\Transmute\PileofGold.mdl). Приступим.
В MPQ-браузере W3ME находим Счастливую монетку (путь выше) и вытаскиваем её из архива. Открываем её в том же W3ME.
Заходим в Редактор узлов. Щелкаем по свободному месту правой кнопкой мыши (чтобы источник создался ни к чему не прикрепленный), потом «Создать источник частиц». Создастся эмиттер с именем «UNNAMED» и зеленой иконкой со стрелкой. Теперь можно переименовать его (хотя это и не обязательно).
Координаты не меняем (т.к. он должен возникать в точке (0, 0, 0), а она стоит по умолчанию).
Делаем двойной щелчок по источнику и…
  • 1.1) частота – количество «вспышек» в единицу времени (т.е. в секунду, хотя это не столь важно);
  • 1.2) появление – время (в секундах), которое будет отображаться первая частица;
  • 1.3) начальная скорость – параметр, от которого зависит расстояние, на которое будут максимально удаляться частицы от точки возникновения (позволяет растянуть эффект в сторону его распространения); если поставить 0, модель не деформируется;
  • 1.4) гравитация – думаю, и так понятно;
  • 1.5) долгота/широта – размер квадрата, на площади которого будут создаваться частицы;
  • 1.6) видимость – список кадров, в которые видимость источника изменяется (если не нажимать «Анимирована» и прописать 1, источник будет постоянно виден);
  • 1.7) дополнительно – в «Имя файла» вписываем… да-да, путь к модели или текстуре (как я понял, в формате tga, но у меня не получилось довести до работоспособности такой эмиттер…). Если файлом является модель, ставим галку на «Излучатель использует MDL», в противном случае на «Излучатель использует TGA».
Теперь, используя скрин 1, настраиваем параметры, в «Видимость» пишем следующее:
333: 0
7667: 0
9500: 1
9533: 0
16667: 0
20333: 0
Т.е. источник будет появляться, когда юнит умирает (в данном случае, когда предмет подобрали).

Теперь подробнее

Источник воспроизводится даже тогда, когда он невидим, поэтому желательно рассчитать частоту излучения так, чтобы очередная «вспышка» попала на нужный кадр.
Анимация Death в этой модели начинается на 9500-ом кадре, а кончается на 16667-ом, но если источник будет виден во время всей анимации, вспышки будут многократно повторяться, а нужно (ну, мне нужно), чтобы он появился только один раз.
Тут приходится работать чисто методом подбора – постоянно импортировать новую версию модели в карту, чтобы узнать, как это выглядит. Муторно, но кому сейчас легко?..
Итак, я определил, что при частоте в 45 одна вспышка происходит за 33 кадра, поэтому я делаю видимым источник на кадре №9500 (начало анимации), а скрываю на кадре №9533 (по прошествии 33-х кадров).
Хотелось бы заметить, что длина отрезка видимости обратно пропорциональна частоте излучения, и если увеличить частоту и уменьшить продолжительность видимости в одинаковое количество раз, ничего не изменится. Т.е. параметры, написанные на скрине и такие, как
частота=27.5 и
видимость
333: 0
7667: 0
9500: 1
9566: 0
16667: 0
20333: 0
и
частота=15 и
видимость
333: 0
7667: 0
9500: 1
9599: 0
16667: 0
20333: 0
дадут один результат (только с отрезком в 18 кадров и частотой в 90 такое не сработало).
На счет «Появления»: распространяется этот параметр только на первую создаваемую частицу. Если поставить слишком маленькое значение, анимация прикрепленной модели проиграется не полностью (но вдруг вам именно это и надо?); если же необходимо, чтобы анимация проигралась полностью, но лень высчитывать время, ставьте примерно 3-5 – не ошибетесь (я надеюсь).

Немного о EventObject'ах…

Событийные объекты – это какие-то события (звуки, модели типа брызг крови), происходящие в определенное время. Так, например, в модели нашей монетки есть один объект, обозначенный иконкой в виде скрепки. Замечали, наверное, что при подбирании Счастливой монетки (со стандартной моделью) в воздух вылетают несколько золотых. Именно через этот эвент данная особенность и реализована. Теперь его спокойно можно удалить (тем более за новым эффектом его и не видно…). Удаляйте.
Вы слышали, что при кастовании спелла Трансмутация слышны звуки бренчащих монет? Вот именно их я хочу добавить в свою модель.
Теперь нажимайте правой кнопкой по пустому месту и нажимайте «Создать событийный объект» (можно было и старый отредактировать, но давайте уж с нуля делать). Так, координаты возникновения можно даже не трогать – это мало на что влияет. Двойной щелчок левой кнопкой откроет окошко.
  • 1.2) события – сюда заносятся номера кадров, в которые событие сработает;
  • 2.2) событийные данные – что именно произойдет:
  • 2.2.1) FootPrint – следы от движения модели (будь то следы от ног, колес и пр.)
  • 2.2.2) BloodSplat – то, чем модели при смерти загаживают почву (лужи крови, следы от шипов из земли и пр.)
  • 2.2.3) UberSplat – следа от взрыва зданий, закопавшихся юнитов и пр.
  • 2.2.4) Sound – это я даже не знаю… Может… звуки? =)
  • 2.2.5) SpawnObject – брызги крови, а также анимации разрушения зданий
(эти модели лежат в папке Objects\Spawnmodels\)
В поле «Данные» выбирается нужная модель.
Поле под ней позволяет не рыться в списке и сразу ввести четырехбуквенный идентификатор, если вы его, конечно, знаете…
  • 2.3) идентификатор – просто любая буква, разделяющая параметры в названии
  • 2.4) дополнительно – сюда вписывается ID глобальной последовательности (Global Sequence) – такой анимации, которая повторяется независимо от движения всех костей (может, потом расскажу подробнее).
Чтобы узнать, какую из непонятных комбинаций буковок выбрать, откройте в W3ME модель, содержащую нужные вам эвенты, и посмотрите, какая комбинация стоит там.
Итак, открываем модель Abilities\Spells\Other\Transmute\PileofGold.mdl (находится в War3Patch.mpq). Она имеет 2 эвента, оба из них – звуки. Какой выбрать? Методом научного тыка я понял, что нужен второй. Щелкните по нему 2 раза. Видите, в поле «Данные» стоит идентификатор AAMS, а в поле ниже – STMI? Почему? Просто в списке этого звука нет (всё от нас Близзы спрятать хотят!), и пришлось писать его идентификатор вручную.
Делаем в нашей модели такой же эвент, но в «Событиях» пишем не 0, а 9500 (см. скрин 2).

Содержание