Альфа-канирование с помощью Adobe Photoshop
Здорово…
Вот и дошло дело до старого тутора.
Итак…
К примеру, вы создали офигенную текстуру и хотите её использовать на своей карте. Вы уже её успешно перевели в понятный для ХЛ2 формат, но при запуске текстура не действует по вашей задумке, которая заключалась в том, что части текстуры должны быть полностью прозрачны (так сказать opasity=0%). Вы уже заплевали весь монитор, разбили другу лицо и совершенно отчаялись?
Нет? Тогда вам это не грозит. Почему?
Потому что дядя Фиш, восстанавливает старые туторы. На этот раз мы научимся проделывать то, о чём я писал выше (да, не забудьте приготовить друга… в собственном соку, с яблоками, на гриле: Е).

Теперь немного теории. Что же такое прозрачность для ХЛ2? Скажу прямо — это альфа-каналы. Но я думаю, для многих это слово почти ничего не говорит. Поясню: с помощью альфа-каналов в ХЛ2 делаются прозрачные материалы, материалы ландшафтов (со смешанием), материалы окон, травы, в общем всего, что связано со смешанием, прозрачностью и, соответственно, альфа-каналами.
Один из примеров мы рассмотрим сейчас. Это будет прозрачность. Ну всё, готовьте свою прозрачную текстуру, или лучше — друга: Е.
Для примера я буду использовать эту, умопомрачительную и несравненную:
Красота, правда?..
Мне тоже не нравится…
Но для примера сойдёт.

Теперь простые действия:
Открываем эту картинку (или свою) с помощью Photoshop CS3 или более высокие версии (когда прога загрузится, нажмите ctrl+o и найдите нужную текстуру, потом либо два раза на ней кликните, либо просто перетащите картинку на прогу)
Теперь выберите Image->Mode->RGB color — на случай, если ваша текстура 256-цветная.
Теперь переходим на вкладку каналы. Выделяем любой из каналов (выбираем канал не какой красивее, а тот, на котором будет четко видна будущая прозрачная область). Правой кнопкой по нему > Сделать дубликат канала. (В этом месте есть смысл ставить или не ставить опцию «Инверсия». Она инвертирует белый и черный цвета).
Сделали, теперь начинаем редактировать места прозрачности на текстуре. На этом же дубликате канала мы рисуем двумя цветами: черный — прозрачность, белый — непрозрачность. Так вот нам нужно зарисовать черным цветом (RGB 0 0 0) квадрат в центре текстуры. Он будет прозрачный. Все остальное должно быть СТРОГО белым (RGB 255 255 255), ибо если будет немного сероватым- текстура будет немного прозрачная в ненужных местах.
Выделяем на канале прямоугольную область, берем кисть и закрашиваем черным. Выделяйте тщательней, всё должно быть безупречно чисто и экономно, сухо и комфортно: Е А, говоря не плоскими шутками, — это самая важная часть работы, от этого будет зависеть качество вашей текстуры. Далее жмем на панели Выделение > Инверсия (или Shift + Ctrl + I), после чего выделенные области инвертируются. Берем кисть, и строго белым цветом зарисовываем новое выделение. Должно получиться что-то типа этого:
Если включить все 4 канала, то мы увидим нашу текстуру с красным прямоугольников внутри. Красным показывается альфа канал:
Всё. Текстура готова. Теперь осталось её сохранить в формате *.tga и при сохранении выбирайте 32bits/pixel.
Теперь конвертируйте всё это в формат *.vtf и наслаждайтесь.
Что такое? Что не так? НЕ РАБОТАЕТ? Правда, что-ли? А оно и не должно работать! Будем заставлять.
Зайдите в свой *.vmt (блокнотом его откройте) и добавляйте следующую строку:
«$translucent» 1
Эта строчка делает текстуру прозрачной.
Например:
«LightMappedGeneric»
{
«$baseTexture» «my_texture»
«$translucent» 1
}

А это несколько сторонних параметров:
«$compilepassbullets» 1
«$keywords» «FishMan»
«$nocull» 1
«$additive» 1
«$alphatest» 1
«$selfillum» 1
«%compilepassbullets» 1 — на случай, если вы захотите чтобы пули пролетали насквозь.

«%keywords» «FishMan» — это ключевое слово, которое позволит вам получить быстрый доступ к текстуре. Это для фильтра в браузере текстур редактора. Вместо «FishMan» можно ввести своё ключевое слово.
«$nocull» 1 — Этот параметр дублирует текстуру на обратную сторону полигона, но при этом освещение будет одинаковое, это не работает на брашах, зато отлично пашет на моделях. Вещь полезная, когда нужно сэкономить.
«$additive» 1 — параметр, который превращает черный цвет в альфа канал без нужды проделывать все действия описанные в этом туторе. Т. е. если вам нужно сделать белый квадрат на прозрачном фоне, то нет потребности делать альфа канал фотошопом. Просто нарисуйте белый квадрат на черном фоне и в материал текстуры впишите «$additive» 1.
Этот параметр уникален тем, что при применении на моделях, тень от модели будет падать только в том месте, где будет непрозрачность (т. е. в нашем примере будет квадратная тень (от белого квадрата) даже если и модель круглая.)
Еще очень интересные эффекты от использования этого параметра в сочетании с «$translucent» 1. Прозрачная модель с тенью квадрата. Есть где применить. К стати тени будут динамические.
«$alphatest» 1 — будут отбрасываться четкие тени. Понимает только прозрачные и непрозрачные места (полупрозрачный не принимается). Используется на листьях, сетках, решетках и т.д. где не нужна полупрозрачность.
«$selfillum» 1 -параметр делающий альфа канал не прозрачным, а светящимся. Причем светится он будет тем цветом, на котором лежит альфа канал на текстуре.
Это всё. Пока.
Добавление к статье.
Существуют плагины фотошопа для прямого конвертирования в vtf формат.
PhotoShop VTF Plugin можно скачать здесь. Останется только создать текстовый *.vmt файл материала для текстуры.
Автор: FishMan.
5 марта 2005, 14:02