В данном материале мы рассказываем о том, как сделать прозрачную
текстуру (текстуру с маской), которые используются для создания
вертикальных лестниц, деревьев, заборов, решёток и т.п.
Узнать текстуру с маской не просто, а очень просто: она имеет ярко-синий фон (правда, бывает, в программе Wally
отображается фон отличный от синего, однако, последний цвет в таблице
цветов правильный — ярко-синий); в имени прозрачных текстур в самом
начале есть фигурная скобка «{».
Чтобы синие части текстуры в игре стали прозрачными, мы должны использовать для брашевого (brush based)энтити режим: Render Mode: Solid и FX Amount: 255, как известно из материала «Параметры отображения энтити-объектов».
На картинке ниже изображена текстура, синие места которой в игре будут прозрачными.
Основные проблемы при создании прозрачных текстур появляются из-за
оттенков синего цвета, которые нужно закрасить чистым синим цветом (RGB:
0—0—255). Советуем закрашивать в PhotoShop не кистью, а карандашом, так
как он не дает оттенков цвета. Рассмотрим картинку ниже:
Слева мы видим пример прозрачной текстуры с большим числом оттенков
синего. В игре данная текстура, не будет прозрачной. Справа мы видим
правильный вариант текстуры, на которой все оттенки синего закрашены
чистым синим цветом (RGB: 0—0—255).
Техника создания текстуры с маской
Дальше мы приводим довольно хитрый способ создания текстуры с маской
:-) Дело в том, что все текстуры в HL и CS имеют максимум 256 цветов
(текстуры с маской не исключение). Мы можем в PhotoShop'e посмотреть
таблицу цветов, из которой видно, какие цвета используются в
изображении. В прозрачных текстурах последний цвет (нижний правый)
определяет прозрачный фон и он должен быть чистым синим (RGB: 0—0—255).
Предположим мы хотим сделать текстуру с маской из такого изображения:
Для начала нужно карандашом прокрасить все «прозрачные» места синим
цветом (RGB: 0—0—255). Затем нужно перевести изображение в
индексированный цвет (то есть 256 цветов) и посмотреть под каким номером
идет этот синий цвет.
Выбираем «Local (Selective)».
Далее заходим в «Image\Mode\Color Table...» и замечаем под каким
цветом идет у нас синий. Нужно, чтобы он шел последним — нижним правым,
если это не так — необходимо поменять палитру.
Как видим, нам немного не повезло, и ярко-синий цвет идет в третьем
квадрате. Такая текстура прозрачной в игре не будет, даже когда мы
выставим правильные параметры отображения для энтити.
Нужно поправить палитру. Заменим третий цвет (сейчас он синий) на
какой-либо другой. А последний квадрат (правый нижний) сделаем синим
(RGB: 0—0—255).
Теперь наша палитра будет выглядеть так:
В данном виде мы и сохраняем ПАЛИТРУ, но не изображение (кнопка «Save...»).
ВНИМАНИЕ! Теперь закрываем изображение, не сохраняя его! На данном
этапе нам нужно было лишь сохранить правильную палитру. Ведь когда мы
поменяли синий цвет на другой, то и фон нашей картинки изменился на
него.
Теперь второй раз открываем рисунок и переводим ее в индексированный
(256 цветов) цвет. НО НА ЭТОТ РАЗ выбираем палитру «Custom...» и
загружаем нашу сохраненную палитру.
После всех этих операций синий цвет будет последним, что обеспечит его
прозрачность в игре. Сохраняем картинку как BMP, 8-bit и вставляем в
новый документ в программе Wally, чтобы превратить в текстуру.
Помните, что текстурам с маской следует давать названия начинающиеся с фигурной скобки «{». К примеру: {ladder1, {fence05, {grate37.
Ну, и еще раз повторимся, что частично прозрачным может быть только
энтити, но никак не простой браш. Для энтити-объекта необходимо
выставить параметры: Render Mode: Solid, FX Amount: 255.