WarCraft 3: Создание погодного эффекта

» Раздел: Работа с MPQ и импортом

**Как создать свой собственный погодный эффект?**

Что вам понадобится?
  • The frozen Throne World Editor
  • Microsoft Excel или любой другой редактор slk
  • Программа для работы с MPQ-архивами
  • Программа для работы с графикой (Corel Photo-Paint, Adobe Photoshop и т. п.)
  • Warcraft 3 Viewer
Шаг 1
Начните с извлечения Weather.slk из файла war3x.mpq, расположенного в инсталляционной папке WarCraft . Файл Weather.slk можно найти в папке TerrainArt.
Шаг 2
Откройте файл Weather.slk, используя Microsoft Excel или другой редактор SLK. В нём вы увидите таблицу.
Описание заголовков таблицы. Сами названия заголовков ни в коем случае нельзя менять.
- effectID – это ID-код, используемый WE, который может иметь лишь 4 символа. Этот ID-код должен быть уникальным, т.е. чем-то отличаться от других.
- name – Это ваше название эффекта, которое может быть иметь неограниченное количество символов.
- texDir – Это путь к папке, где расположена ваша текстура, используемая эффектом.
- texFile – Название текстуры без расширения.
- alphaMode – Это особый режим, используемый эффектом и будет рассмотрен в деталях позже.
- useFog – Определяет то, будет ли ваш эффект видимым через туман. 1 = Видимый. 0 = Невидимый
- height – Высота относительно земли, на которой будет создан эффект.
- angx - Направление и сила, с которой эффект движется через ось X. Будет рассмотрено далее.
- angy - Направление и сила, с которой эффект движется через ось Y. Будет рассмотрено далее.
- emrate – Количество частиц, создаваемых за секунду.
- lifespan – Время в секундах, после которого частица исчезает.
- particles – Максимальное количество частиц, созданное в течение времени эффекта.
- veloc – Скорость перемещения частиц.
- accel – Темп, с которым частицы набирают скорость.
- var – изменение в частицах, которое делает эффект выглядящим более естественно.
- texr – Количество строк в текстуре. Будет рассмотрено позже.
- texc – Количество столбцов в текстуре. Будет рассмотрено позже.
- head – Не до конца исследованное значение. Однако, практически не играет какой-либо роли при создании погодного эффекта.
- tail – Определяет, имеет ли частица высоту, или же нет. 0 = не имеет. 1 = имеет
- tailen – Высота частицы. Действует только при tail, равном 1.
- lati – Хаотичность движения частиц.
- midTime – время, характеризующее середину эффекта в течение lifespan. Будет рассмотрено далее.
- Start, Mid, End RGB - Определяет цвет частицы в начале, середине и в конце lifespan.
- Start, Mid, End Alpha - Определяет буквенной величиной прозрачность в начале, середине и конце lifespan.
- Start, Mid, End Scale - Определяет размер частицы в начале, середине и конце lifespan.
- Start, Mid, End hUV & tUV- Это имеет отношение к колонкам и столбцам текстуры. Что точно, я не знаю.
- ambientsound – Звук эффекта, воспроизводимый, когда в пределах камеры находится область действия эффекта.
- version – Версия WarCraft’a, использующая эффект. 0 = Reign of Chaos. 1= THE FROZEN THRONE
Каждый погодный эффект в WarCraft’e создаётся из частиц, имеющих собственное количество свойств, которые могут быть изменены в зависимости от вида частицы. AlphaMode или особый режим может быть величиной в пределах от 0 до 3, которая изменяет восприятие частицы.
__1. При значении, равном 0, только что созданная частица заставляет исчезнуть какую-либо другую частицу.
  1. При значении, равном 1, имеет обратный эффект, то есть частица всё ещё движется, пока не достигнет конца значение lifespan.__
Значения angx и angy меняют направление движения частиц. Чем больше значение, тем больше частица будет двигаться в это направление. Значение angx регулирует перемещения влево и вправо, а значение angy регулирует перемещение вверх и вниз. Используя эти значения, вы можете заставить частицы перемещаться по диагонали.
  1. angx = Отрицательное. Частицы двигаются влево.
  2. angx = Положительное. Частицы двигаются вправо.
  3. angy = Отрицательное. Частицы двигаются вниз.
  4. angy = Положительное. Частицы двигаются вверх.
Значения texr и texc заставляют текстуры частиц анимироваться между различными частями текстуры.

Значение midTime – это показатель, с которым определяется середина частицы в процессе жизни. Значение 0.5 является точной серединой, в то время как более низкое значение заставляет середину быть рядом с началом, а более высокое значение заставляет её быть ближе к концу. Частица использует это значение, чтобы определить, где она должна изменить цвет.
Значение Start RGB определяет цвет частицы после того, как она будет создана, Mid RGB – цвет частицы, когда она в середине времени lifespan, а End RGB – конечный цвет. Только Alpha значения контролируют прозрачность частицы. Частица исчезнет между значением цвета из начала в конец.
Шаг 3
Хорошо, надеюсь, что теперь вы знаете всё, что необходимо знать о параметрах эффекта. Продолжая, создайте текстуру для вашего эффекта или выберите одну из существующих текстур Warcraft’a. Отметьте внизу её путь к папке и имя, если вы используете одну из текстур WarCraft’a. Используйте Warcraft 3 Viewer, чтобы конвертировать текстуру в файл BLP. Вернитесь в файл Weather.slk и внизу начните добавлять свой погодный эффект. Дайте ей универсальный ID и запомните его, так как это будет потом необходимо вам позже. В texDir напишите только путь к папке, где расположена ваша текстура. Вместо texfile введите название текстуры без расширения. Приступите редактировать остальные значения величин в зависимости от ваших пожеланий, используя предыдущий шаг.
Шаг 4
Когда вы закончите редактирование файла SLK откройте карту, в которой вы хотите использовать ваш погодный эффект, импортируйте туда SLK-файл и другие необходимые файлы.
Измените путь импортированного файла в тот, что в SLK файле. Также смените путь к файлу Weather.slk на TerrainArt\Weather.slk.
Шаг 5
К сожалению, единственный путь увидеть погодный эффект в работе – это использование jass’a или преобразованного текста. Вам понадобится создать регион, где вы хотите увидеть свой погодный эффект. Создайте в редакторе триггеров триггер, преобразовав его в текст, и скопируйте данную команду в этот триггер:

**call EnableWeatherEffect( AddWeatherEffectSaveLast( gg_rct_Rect0, 'CCaa' ), true )**
gg_rct_Rect0 – это регион, а CCaa - это ID погодного эффекта.
Шаг 6
Сохраните карту и протестируйте её, чтобы убедиться в том, что всё работает нормально. Если возникает ошибка дважды проверьте правильности ваших effectid в файле SLK file и в jass’e.

Просмотров: 8 902

B100D E1F #1 - 11 лет назад 1
Всигда мечтал заделать что-то эдакое. Автор, зачот и три ящика пыва :)!
TiM #2 - 11 лет назад 0
на пяторочку!...ящиков конечно!;)
Sargeras #3 - 11 лет назад 0
Спасибо, наконец-то нашлись люди, которые ценят мой труд.
Кет #4 - 11 лет назад 0
понимаю, что это перевод...
но чорт возьми, я надеялся увидеть это сначала в академии...
***
статья нормуль, респект Крионику...
ну и Саргерасу немного за перевод...
Sargeras #5 - 11 лет назад 0
Ket, так-то лучше...
KO3bMA #6 - 11 лет назад 1
Оч хорошая статья и качественный перевод ( в смысле доступности, краткости и четкости изложения)
ScorpioN #7 - 11 лет назад 1
респект
» Спасибо, наконец-то нашлись люди, которые ценят мой труд.
наконецто всё написано на не техническом русском языке :)
Kiwi #8 - 11 лет назад 0
Классная статья, респект..
Нигеро #9 - 9 лет назад 1
Скриншоты нужны! Без них не воспринемается.
Steal nerves #10 - 7 лет назад 0
Прикольно )
Melissa #11 - 4 года назад 0
Если отредактировать стандартные эффекты - ничего не произойдёт, так?
точно)