XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Желтая пресса: обучающие статьи
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
Sargeras
Лидер "Двух Королевств"
offline
Опыт: 22,163
Активность:
Всё о фильтрах
В этой статье вы познаете процесс создания фильтров, методы вывода их на экран, а также некоторые особенности фильтров.
Что такое фильтры и для чего они используются?

Фильтры – это так называемые «живые» изображения, которые «встраиваются» в экран. Отличительной особенностью фильтров является то, что они могут быть разных оттенков, т.е. можно взять стандартный фильтр и переделать его в совершенной другой, используя цвета. Фильтры сделают красивым любой ролик, если они конечно будут «встроены» вовремя. Кроме того, фильтрами можно манипулировать при помощи триггеров, создавая на экране всевозможные графические эффекты. Яркий пример использования фильтров виден в этом скриншоте:
DEAD URL
Как видно на картинке, игровой экран во время кинематики окружает что-то белое, похожее на туман. Это и есть фильтр. Также обратите внимание, что этот фильтр полупрозрачен.
Вывод фильтра на экран

Существует только 2 триггерные команды, которые используют фильтры. Рассмотрим каждую из них.
Общий вид действия «Кинематический – Фильтр Снижения Яркости» выглядит так:
Вид фильтра на время действия фильтра секунд с текстурой название фильтра и цветом (цвет фильтра) с прозрачность фильтра % прозрачности
Вид фильтра. Существует 3 вида: исчезнуть; появиться; исчезнуть и появиться.
В первом случае на игровом экране будет постепенно появляться фильтр. Когда время, указанное в действии, пройдёт, вы увидите свой фильтр с указанными цветовыми параметрами, а также с параметрами прозрачности. При чём следует отметить, что фильтр начнёт появляться из ниоткуда, т.е. сначала он будет полностью невидим, однако обладать установленными цветовыми оттенками.
Во втором случае всё происходит наоборот, но только экран изначально заполняется фильтром, и постепенно тот исчезает.
В третьем же случае фильтр появляется в течение первой половины установленного времени и исчезает в течение второй.
Цвет фильтра. Как видите цвет фильтра недостаточно удобен, так как он выражается в процентах. Каким же образом достигнуть желаемого цвета? Ответ достаточно прост: нужно взять в руки калькулятор и умножить каждый пункт красного, зелёного и синего на 0.39215686 (получить данное число можно, разделив 100 на 255) и приписать полученные значения. Самым простым методом получения цвета, а также пунктов красного, зелёного и синего оттенков является использование палитры стандартного графического редактора Paint’a в Windows.
Для более улучшенного метода вывода фильтров на экран существует действие «Кинематический – Дополнительный фильтр». Основным преимуществом является то, что можно указать цветовую гамму фильтра в начале и в конце действия. Однако недостатком является однотонность, т.е. в фильтре нельзя установить несколько цветов, можно выбрать только один и делать с ним всевозможные эффекты. Также при использовании этого действия существует несколько видов смешивания. Рассмотрим каждый из них.
Нет смешивания. При отсутствии смешивания фильтр всегда ведёт себя одинаково. Он постепенно из начальной цветовой гаммы переходит в конечную, в зависимости от время действия. Обратите внимание, что в этом случае игровой экран невидим, т.е. вам не видны ни юниты, ни рельеф ни что-либо другое, одним словом полная пустота.
Нормальное смешивание. В данном случае из пустоты появляется фильтр с начальной цветовой гаммой, а во второй половине время действия он постепенное переходит в конечную цветовую гамму. Следует также отметить, что в данном виде смешивания «начальный» фильтр прозрачен, а «конечный» - нет.
Дополнительное смешивание. Действует точно также, как и нормальное смешивание, однако и «начальный» и «конечный» фильтры будут прозрачными.
Модулированное смешивание. Модулированное смешивание создаёт впечатление того, что по экрану разливается какая-то тёмная жидкость. В этом случае все цвета фильтра превращаются в тёмные, и на игровом экране видна лишь прозрачная область фильтра. Всё остальное покрыто тёмными цветами. Однако этот получившийся чёрный фильтр может быть подвержен цветовому изменению, в частности, если вы измените вторую цветовую гамму, то тёмные цвета в полученном фильтре примут соответствующие оттенки. Точно также и в первой цветовой гамме.
Модулированное 2-е смешивание. В этом случае действие происходит точно также, как и в обычном модулированном смешивании, но только в этом случае «разливающаяся по экрану жидкость» будет не тёмной, а цветной, т.е. цветовые гаммы не будут подвергаться изменениям.
Альфа смешивание. Очень странный вид смешивания. В начале экрана ничего не происходит, ибо фильтр остаётся прозрачным. А в самом конце времени действия фильтр появляется, и то – наполовину. Кроме того, он появляется именно в конечной цветовой гамме без какого-либо постепенного преобразования.
Для того чтобы спрятать фильтр или показать его, в зависимости от вашего желания используется действие «Кинематический – Спрятать/показать фильтр».
Создание своих собственных фильтров

Для работы с фильтрами нам понадобятся 3 вещи:
1. Хороший графический пакет (стандартный Paint в Windows’е не подойдёт).
2. Warcraft III Viewer (или другая программа, способная конвертировать широко распространённые графические форматы в BLP);
3. Warcraft III World Editor;
4. Warcraft III;
5. Мозги (свои).
Для начала вам необходимо будет нарисовать сам фильтр. Вы можете использовать свой графический редактор для этого. Все фильтры в Warcraft’e находятся в формате степени двойки (256x256, 512x512, 128x128 и т.п.), точно также должно быть и у вас, ибо при неправильных размерах игра зависнет или закончит работу с ошибками. Обратите внимание, что в вашем фильтре обязательно должен присутствовать слой прозрачности, так как при его отсутствии вы не сможете увидеть юнитов и другие объекты на карте. Лично я для создания прозрачности поступаю следующим способом:
1) Создаю рисунок для фильтра в каком-либо графическом формате;
2) Сохраняю всё в формате TGA;
3) Открываю полученный файл хорошим графическим редактором;
4) Выделяю ту часть, которая должна будет показываться на экране;
5) Сохраняю файл;
Обратите внимание, что вся невыделенная часть не будет показана на экране! А если ничего не выделите и сразу преобразуете файл в формат blp, то картинка покажется полностью и вы не увидите своих юнитов и объекты!
Далее вам необходимо преобразовать текстуру в формат BLP, и затем импортировать её в карту, ну а в дальнейшем применить рассмотренные выше триггерные действия для вывода ваших фильтров на экран.
Внедрение своих фильтров в игру WarCraft

Внедрить фильтр в игру Warcraft достаточно легко. Единственное, что вам для этого понадобится, это программа, работающая с архивами MPQ.
1. Открываем файл war3.mpq, находящийся в инсталляционной папке игры.
2. В архиве в папку ReplaceableTextures\CameraMasks импортируйте свой фильтр в формате Blp и запоминаете его имя.
3. Предварительно сделайте резервные копии файлов UI\WorldEditStrings.txt и UI\TriggerData.txt;
4. Импортируем файл UI\TriggerData.txt на жёсткий диск и открываем его;
5. Открываем окно поиска слов (в каждой программе открывается по-разному, поэтому не рассматриваю конкретные примеры);
6. Находим слово CineFilterTexture;
7. Теперь добавляем в конец содержания подзаголовка, а именно после строки CineFilterTexturePanda=cinefiltertexture,`ReplaceableTextures\\CameraMasks\\Pand a-n-Cub.blp`,WESTRING_CINEFILTERTEX_PANDA следующую строку:
CineFilterTexturexxx=cinefiltertexture,`ReplaceableTextures\\CameraMasks\\yyy`,zzz
Где xxx – короткое имя вашего фильтра (латинскими буквами), yyy – название blp-файла вашего фильтра, который вы только что экспортировали в архив, zzz – переменная фильтра. Внимание! Запомните название переменной фильтра!
8. Сохраняем файл TriggerData.txt;
9. Импортируем файл UI\WorldEditStrings.txt на жёсткий диск;
10. Открываем окно поиска и находим в файле строку «// Trigger cinematic filter textures». Теперь опять же в конец содержания подзагаловка, т.е после строки «WESTRING_CINEFILTERTEX_PANDA="Панда с детенышем"» добавляем строку:
xxx=”yyy”,
где xxx – название той переменной, которую вы должны были запомнить, yyy – название вашего фильтра, который будет отображать в списке фильтров World Editor’a.
11. Теперь возвращаемся к редактору MPQ и удаляем те 2 файла из архива;
12. Далее экспортируем отредактированные вами файлы в папку UI.
13. Проделайте те же самые действия с файлом UI\TriggerData.txt, находящимся в архиве war3x.mpq
Если после этих операций ваш фильтр не отображается, то, скорее всего, вы что-то испортили. Советую вернуть на место зарезервированные копии файлов и попробовать сделать подобное ещё раз. На этом всё. Спасибо за внимание!

Отредактировано Sargeras, 11.10.2006 в 07:21.
Старый 05.10.2006, 13:40
J
expert
offline
Опыт: 48,447
Активность:
Sargeras зачем опять зделал простое описание тригеров + коешто еще, вот мое имхо, сделать описание _всех_ тригеров и никто больше не будет описывать 4-5 действий, а то так можно весь редактор тригеров разделить на 15-ать статей...
но то что это не полезно я не скажу, но както не очень описывать всего пару действий.
Старый 05.10.2006, 14:58
Sargeras
Лидер "Двух Королевств"
offline
Опыт: 22,163
Активность:
Jon
Факт в том, что в даннуюстатью включено не только описание триггеров...
Старый 05.10.2006, 15:04
J
expert
offline
Опыт: 48,447
Активность:
Sargeras описание тригеров это больше половины статьи, но я обратил на это внимани и потому сказал:
Цитата:
Сообщение от Jon
описание тригеров + коешто еще

но всеравно както неочень, но это мое имхо...

Отредактировано Jon, 05.10.2006 в 15:17.
Старый 05.10.2006, 15:07
GadenbIsh
Просто Гад
offline
Опыт: 71,030
Активность:
это все баян и всем известный факт, ты бы лучше рассказал, как использовать разные фильтры для разных игроков
Старый 05.10.2006, 15:23
Кет

offline
Опыт: 111,109
Активность:
Цитата:
В этой статье вы познаете процесс создания фильтров, методы вывода их на экран, а также некоторые особенности фильтров.

слишком мало материала...
фтопку...

тема слишком узкая и не стоит того, чтобы по ней была отдельная статья...
Старый 05.10.2006, 15:52
Trok-Ferot
Silenced by Trok-Ferot
offline
Опыт: 80,259
Активность:
Для статьи - слабовато будет.
Для справочного материала for новичков - потянет...
Старый 05.10.2006, 15:59
Iron
Листовой
offline
Опыт: 24,427
Активность:
Цитата:
Все фильтры в Warcraft’e находятся в формате 512x512, точно также должно быть и у вас, ибо при неправильных размерах игра зависнет или закончит работу с ошибками.

Может я ошибаюсь, но уже не раз было доказано, что размер текстуры просто должен быть степенью двойки (32x32 64x64 64x128 256x256 ...) и все. Так что не вешай лапшу на уши, просто необходимо соблюдать размерность степени двойки, а так хоть 2x2 фильтр делай.

Iron добавил:
Цитата:
2. Warcraft III Viewer

Ну я бы посоветовал image_extractor, ибо Warcraft III Viewer часто коверкает файлы.
Старый 05.10.2006, 20:49
Sargeras
Лидер "Двух Королевств"
offline
Опыт: 22,163
Активность:
Цитата:
Может я ошибаюсь, но уже не раз было доказано, что размер текстуры просто должен быть степенью двойки (32x32 64x64 64x128 256x256 ...) и все. Так что не вешай лапшу на уши, просто необходимо соблюдать размерность степени двойки, а так хоть 2x2 фильтр делай.

fixed, просто эта статья была написана 6 месяцев назад, я нашёл её в своих старых архивах и решил разместить на форуме.
Старый 07.10.2006, 11:41
dk

offline
Опыт: 60,293
Активность:
Цитата:
Может я ошибаюсь, но уже не раз было доказано, что размер текстуры просто должен быть степенью двойки (32x32 64x64 64x128 256x256 ...) и все. Так что не вешай лапшу на уши, просто необходимо соблюдать размерность степени двойки, а так хоть 2x2 фильтр делай.

Не совсем правильно, тут все гораздо сложнее! Я создаю файл разрешением 250х250 в .tga и он спокойно выводится на экран.
Старый 09.10.2006, 16:11
Sargeras
Лидер "Двух Королевств"
offline
Опыт: 22,163
Активность:
Статья была обновлена и дополнена.
Старый 11.10.2006, 07:07
dk

offline
Опыт: 60,293
Активность:
Ну щас будет конструктивная критика!
Начнем с того, что фильтер не обязательно должен быть в формате .blp Фильтры в формате .tga тоже отлично выводятся на экран. Причем требования по разрешению изображения в тга не существует.
Теперь о внедрении: по твоему способу мы записываем фильтр в war3.mpq. А для чего нам это вобще нужно? В даном случае ты сможешь просмотреть фильтр только на своем компе. А для чего же делаются фильтры? Для того чтобы внедрять их в свои карты и чтобы в эти карты играли другие. Но по твоему способу просмотреть фильтр в игре сможешь только ты! Да и вобще зачем все эти трудности и прописывания в системных файлах, когда проще просто импортировать фильтр в свою карту а в списке фильтров выбирать свой импортированный? Вобщем то, что ты написал в последней главе бред полнейший!
Старый 16.10.2006, 14:17
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Sargeras, замечания Dead_knight справедливы. Внеси правку в обе статьи - здесь и на сайте.
Старый 16.10.2006, 15:05

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 14:56.