Добавлен WebSter,
опубликован
Раздел:
Моделлинг
Вводная часть
На Wikipedia Альфа-канал описывается как
...процесс комбинирования изображения с фоном с целью создания эффекта частичной прозрачности.
...процесс комбинирования изображения с фоном с целью создания эффекта частичной прозрачности.
Но я бы охарактеризовал Альфа-канал для WarCraft III проще:
Чёрно-белое изображение, встроенное в текстуру, отвечающее за прозрачность и полупрозрачное смешивание.
Чёрно-белое изображение, встроенное в текстуру, отвечающее за прозрачность и полупрозрачное смешивание.
Основная часть
Необходимые программы:
- Adobe Photoshop любой версии
Но если вы собираетесь конвертировать в *.blp вашу текстуру, то понадобится соответствующая программа, которых на нашем сайте море.
Возьмём, к примеру, BLP Laboratory
Возьмём, к примеру, BLP Laboratory
Вы также можете проверить вашу текстуру в деле, т. е. на модели, тогда вам понадобится еще ряд программ:
- MDLvis 1.39c (желательно именно этой версии)
- War3ModelEditor 1.05 (желательно именно этой версии) - в архиве английская версия программы и русификатор от NETRAT
Работа в Photoshop
Детально разъяснять его интерфейс и возможности я не буду, т. к. в Интернете существует множество уроков по этой замечательной программе.
Я сделал простую текстуру, которую потом наложу на обычную плоскость:
Я сделал простую текстуру, которую потом наложу на обычную плоскость:
1.1
В чёрной области у нас будет полупрозрачный Альфа-канал.
Шаг 1
Открыв в Photoshop’е необходимую текстуру, нужно перейти на вкладку редактирования каналов (п. 1 на 1.2). В данной вкладке сразу же имеются 4 канала: "RGB", "Красный", "Зелёный" и "Синий". Также там сразу может быть канал "Альфа 1", тогда можно пропуститиь шаг 2.
Шаг 2
Если в каналах нет альфа-канала, то необходимо его создать - в самом низу окошка редактирования каналов есть 4 маленьких кнопки. Нам необходима та, что слева от корзины (п. 2 на 1.2) - нажмём её, и создастся новый, полностью чёрный, альфа-канал (п. 3 на 1.2).
Шаг 3
Альфа-канал для WarCraft представляет собой чёрно-белое изображение, встроенное непосредственно в текстуру и сохраняющееся, насколько я знаю, только в *.tga, *.png (как непосредственная прозрачность) и *.blp форматах (ещё в *.dds - но это к варкрафту не относится, и в *.bmp - но в нём альфа-канал теряется при конвертации в *.blp). Чёрный цвет - прозрачность, белый - непрозрачность.
1.2
При выборе Альфа-канала, автоматически включается только его видимость в Photoshop’е (п. 5 на 1.2), но можно включить в видимость все каналы, нажав на место "глазка" (п. 4 на 1.2 и 1.3) слева от канала RGB и Альфа 1, тогда прозрачность Альфа-канала становится полупрозрачным красным цветом, а непрозрачность отображается непосредственно исходной картинкой (1.3).
Альфа-канал можно произвольно редактировать любыми цветами - все они будут конвертироваться в серые оттенки.
После нехитрых операций с выделением, заливкой и копированием/вставкой, я получил такой Альфа-канал:
Альфа-канал можно произвольно редактировать любыми цветами - все они будут конвертироваться в серые оттенки.
После нехитрых операций с выделением, заливкой и копированием/вставкой, я получил такой Альфа-канал:
1.3
Шаг 4
Теперь осталось лишь сохранить нашу текстуру. Делается это простейшими командами:
Файл\Сохранить как...
Форматом сохранения выберите Targa (*.tga). После нажатия кнопки сохранить вам будет выдано следующее окно:
Файл\Сохранить как...
Форматом сохранения выберите Targa (*.tga). После нажатия кнопки сохранить вам будет выдано следующее окно:
1.4
Выберите "32 bits/pixel" (1 на 1.4) и нажмите "ОК" (2 на 1.4).
Конвертация
Итак, если вы хотите конвертировать вашу текстуру и посмотреть Альфа-канал уже в *.blp-изображении, то этот раздел вам поможет.
Я решил использовать для этого BLP Laboratory (далее BLP Lab) (ссылка на которую дана в начале статьи).
Я решил использовать для этого BLP Laboratory (далее BLP Lab) (ссылка на которую дана в начале статьи).
Запускаем BLP Lab и выбираем:
Файл\Открыть... (п. 1 на 2.1)
В раскрывшемся окне выберите вашу текстуру в формате *.tga.
Уже сейчас вы можете просмотреть альфа-канал, нажав кнопку "Альфа-канал" (п. 2 на 2.1) или "Прозрачность" (п. 3 на 2.1).
Файл\Открыть... (п. 1 на 2.1)
В раскрывшемся окне выберите вашу текстуру в формате *.tga.
Уже сейчас вы можете просмотреть альфа-канал, нажав кнопку "Альфа-канал" (п. 2 на 2.1) или "Прозрачность" (п. 3 на 2.1).
2.1
Налюбовались?
Теперь нам осталась лишь конвертация сама по себе, для этого выберите:
Файл\Сохранить как... (п. 4 на 1.5)
Выберите фомат *.blp и сохраните в нужное вам место. Во всплывшем окне можете поиграть с настройками, описание которых можете найти в теме данной программы на форуме, а можете оставить всё по стандарту и нажать "ОК".
Теперь, если хотите, можете пооткрывать полученное *.blp-изображение в разных программах.
Теперь нам осталась лишь конвертация сама по себе, для этого выберите:
Файл\Сохранить как... (п. 4 на 1.5)
Выберите фомат *.blp и сохраните в нужное вам место. Во всплывшем окне можете поиграть с настройками, описание которых можете найти в теме данной программы на форуме, а можете оставить всё по стандарту и нажать "ОК".
Теперь, если хотите, можете пооткрывать полученное *.blp-изображение в разных программах.
Использование в моделях
Теперь я наложу нашу текстуру на простейшую модель - плоскость.
Как работать с MDLvis'ом я рассказывать не буду, т. к. на XGM достаточно статей и уроков по этой программе.
Как работать с MDLvis'ом я рассказывать не буду, т. к. на XGM достаточно статей и уроков по этой программе.
Я создал плоскость и наложил на неё мою текстуру:
3.1
Прозрачность
А вот теперь первая часть того главного, ради чего мы создавали наш Альфа-канал.
Здесь нам понадобится War3 Model Editor (далее w3me).
Здесь нам понадобится War3 Model Editor (далее w3me).
Откройте вашу модель и перейдите в редактор материалов командой:
Окна\Редактор Материалов (4.1)
У меня в нём всего один материал, которым мы и будем заниматься
Поочерёдно дважды нажимая сначала на материал, затем на слой материала, вы перейдёте в окно "Слой материала", которое нам сейчас нужно.
Окна\Редактор Материалов (4.1)
У меня в нём всего один материал, которым мы и будем заниматься
Поочерёдно дважды нажимая сначала на материал, затем на слой материала, вы перейдёте в окно "Слой материала", которое нам сейчас нужно.
4.1
Здесь мы можем выбрать 2 варианта смешивания, которые подойдут нам для прозрачности - это Transparent (п. 1 на 4.2) и Blend (п. 2. на 4.2).
Я также поставил галочку на "Двусторонний" (п. 3 на 4.2), т. к. в случае с плоскостью её использование необходимо.
Я также поставил галочку на "Двусторонний" (п. 3 на 4.2), т. к. в случае с плоскостью её использование необходимо.
4.2
- Transparent работает как грубое смешивание прозрачности по Альфа-каналу с использованием только 2-х единиц измерения прозрачности: прозрачно и непрозрачно.
- Blend работает мягче, используя все оттенки прозрачности в соответствии с цветами Альфа-канала, но данное смешивание очень странно работает с нормалями... как описать словами эти баги я не знаю, но думаю, изображение ниже раскроет их суть:
Дополнительная информация
Мне кажется, будет не лишним, описать оставшиеся 3 режима смешивания, а в частности Add Alpha, Additive, и Modulate.
- Add Alpha создаёт прозрачность, основываясь на яркости цвета. При наложении, яркости цветов складываются (это можно легко проврить инструментом "Пипетка" в Photoshop (4.2.1), но такая проверка пройдёт только на чёрном фоне, т. к. с ним чёрные, а значит и прозрачные по яркости участки получают обратно свой цвет), альфа-каналы тоже складываются (попиксельно, разумеется). Одна из особенностей этого режима смешивания состоит в том, что с ним текстура материала становится такой же как и оригинальная только на чёрном фоне, все остальные цвета дают повышение яркости.
4.2.1
- Modulate является полной противоположностью Add Alpha, он не зависит от альфа-канала, а прозрачность создаёт обратно повышению яркости, т. е. тёмный цвет непрозрачен, а светлый прозрачен. При наложении яркость цветов вычитается. Чем темнее фон, тем темнее материал, а значит, оригинальную текстуру он приобретает только на белом фоне.
- Additive - это нечто между Add Alpha и Modulate, при наложении поверх тёмного цвета, все участки затемняются, при наложении поверх светлого - осветляются, но в отличие от Modulate затемниться до абсолютно чёрного материал с таким смешиванием не может, прозрачность строится аналогично. В отличие от Add Alpha, Additive никак не зависит от альфа-канала.
Здесь вы можете увидеть как фон и альфа-канал воздействуют на данные режимы смешивания:
4.2.2 | 4.2.3 | 4.2.4
Используя эти режимы смешивания можно добиться интересных и красивых эффектов, в том числе и для прозрачности и цвета игрока.
-
4.3
Однако, есть способ исправления этого бага: нужно подложить под слой с Blend'ом слой с таким же материалом, но со смешиванием Transparent.
4.3.1
На изображении 4.4 вы можете видеть разницу между режимами смешивания None, Transparent и Blend.
4.4
Цвет игрока
Теперь я расскажу вам о создании Тим-колора или говоря по-русски, Цвета Игрока.
Тут я буду использовать ту же самую модель, что и раньше. Вы, если хотите, можете взять какую-нибудь другую.
Тут я буду использовать ту же самую модель, что и раньше. Вы, если хотите, можете взять какую-нибудь другую.
Сначала необходимо в список используемых текстур добавить Replaceable ID 1 (Цвет Игрока).
На изображении ниже наглядно показан порядок действий:
На изображении ниже наглядно показан порядок действий:
5.1
После того, как вы добавили Replaceable ID 1 в список текстур, нужно перейти в редактор материалов и сделать следующее с тем материалом, в котором используется ваша текстура с Альфа-каналом:
5.2
Также в случае с плоскостью целесообразно установить флажок на «Двусторонний».
Теперь необходимо передвинуть только что созданный слой с Цветом Игрока под слой с основной текстурой, т. е. вверх:
Теперь необходимо передвинуть только что созданный слой с Цветом Игрока под слой с основной текстурой, т. е. вверх:
5.3
Внимание: для того чтобы цвет игрока правильно работал необходимо, чтобы вышележащий слой (выше по иерархии, но визуально он находится ниже в окне редактирования материла) имел режим смешивания Blend или Transparent.
Ну вот и всё. Теперь осталось лишь понажимать везде «ОК» и полюбоваться результатом.
5.4
Цвет игрока в частицах
Немногие знают, что частицы тоже можно наделить цветом игрока, но здесь есть один огромный недостаток: цветом игрока могут обладать лишь частицы, использующие текстуры Replaceable ID 1 (собственно текстура цвета игрока) и Replaceable ID 2 (свечение цветом игрока, как у героев). Эти значения устанавливаются в графе "ID текстуры" (п 2 на 5.5): 1 соответствует Replaceable ID 1, а 2 - Replaceable ID 2.
Вообще, туда можно поставить любой ID, но при, например, 31-ом, у вас будут излучаться текстуры дерева лордерона, которые будут меняться при попадании на порчу.
Также, чтобы видеть результат, нужно поставить соответствующую текстуру в отвечающий за неё уже другой "ID текстуры" (п. 1 на 5.5), но даже если вы там поставите совершенно иную текстуру, в игре он заменится на ID из пункта 2 (5.5).
Вообще, туда можно поставить любой ID, но при, например, 31-ом, у вас будут излучаться текстуры дерева лордерона, которые будут меняться при попадании на порчу.
Также, чтобы видеть результат, нужно поставить соответствующую текстуру в отвечающий за неё уже другой "ID текстуры" (п. 1 на 5.5), но даже если вы там поставите совершенно иную текстуру, в игре он заменится на ID из пункта 2 (5.5).
5.5
Внимание: перед импортом в редактор измените текстуру Replaceable ID в графе текстуры (п. 1 на 5.5) на любую другую, например на Flare.blp, иначе редактор, при выборе модели в РО, выдаст ошибку и закроется.
Заключение
Вот я и рассказал вам про создание и использование Альфа-канала. Надеюсь, предоставленная мною информация оказалась вам полезна, а статья пришлась по нраву!
К статье приложены материалы, использовавшиеся в этой статье:
AlphaTest(psd).rar (106.7 Кбайт)
AlphaTest(tga).rar (29.1 Кбайт)
Used_model_with_texture.rar (26.3 Кбайт)
AlphaTest(psd).rar (106.7 Кбайт)
AlphaTest(tga).rar (29.1 Кбайт)
Used_model_with_texture.rar (26.3 Кбайт)
В связи с багами нормалей во всех приложенных моделях, в материалах я поставил дополнительный флажок на Незатуманенный (ошибка перевода – Незатуманенный – Незатенённый (подробнее)).//
Благодарности:
Спасибо Wolverine’у за то, что он выложил на сайт War3 Model Editor 1.05, Dron’у за информацию об утере Альфа-канала в *.bmp при конвертации в *.blp и Q w e r t y за информацию об исправлении бага нормалей.
Спасибо за внимание!
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Так что, тогда можно создать партикловый снаряд, который будет меняться при попадании на порченую землю?
нормально и ... думает____хорошо сдал, писал наверно очень долго, уважаю