Попробуем сварганить парочку спрайтов: новый прицел и, например, спрайт какого-нибудь ствола. Нам понадобится:
- Photoshop любой версии или любой другой графический редактор;
- SpriteViewer для просмотра спрайтов и сохранения их в BMP;
- SpriteWizzard для конвертации из BMP в SPR.
Начнём
с прицела – всё делается очень просто: в Photoshop создаётся холст с
размерами 256х256 (больше нельзя), заполняем его белым цветом (так
удобнее), а дальше карандашом толщиной в 1 точку рисуем всё то, что
составляет сетку будущего прицела. Не забывайте как-то отметить центр,
иначе сами же будите мазать. Разумеется, рисовать можно разными
цветами. Например: сетка чёрным цветом, циферки всякие красным и т.д.
Когда с рисованием будет покончено, сделаем рисунок 256-цветным: меню
ImageModeIndexed color. А теперь самое главное – нужно чтобы в таблице
цветов последним был белый, он же фоновый. Идём ImageModeColor Table и
заполняем последнюю ячейку белым цветом. Сохраняем рисунок в формате
BMP. На этом работа с Photoshop закончена, дальше открываем программу
Sprite Wizzard. Как видно из названия – это пошаговый мастер. Следуя
инструкциям, открываем сохранённую картинку – тут всё просто за
исключением последней страницы - там нужно указать тип прозрачности:
- Additive – 256 colors with additive transparency.
- Alphatest – 255 colors; last color is transparency.
- Indexalpha – Grayscale; last color is the sprite color.
- Normal – 256 colors; no blending or transparency.
Последнии два пункта нас вообще не интересует, а вот первые два рассмотрим поподробнее:
Additive – этот способ прозрачности заключается в том, что степень
прозрачности определяется цветом – чем темнее, тем прозрачнее.
Следовательно, чёрный цвет самый прозрачный, белый самый непрозрачный,
а всё что между ними полупрозрачное;
Alphatest – отличие этого способа от предыдущего в том, что здесь прозрачный цвет только один – последний в таблице цветов.
Нас будет интересовать второй способ (Alphatest) с одним прозрачным
цветом. Сохраняем файл с именем sniper_scope.spr, копируем его в папку
Sprites, запускаем игру, и смотрим что получилось.
Теперь рассмотрим пример создания спрайта оружия (элемент HUD). Все инструменты те же, что и в предыдущем примере.
Делаем тот же холст с такими же размерами, фон делаем любым, только не
чёрным (так удобнее). Теперь оставим большой холст и создадим два файла
с размерами 170х45 с чёрным цветом в качестве фона. Теперь нам
понадобится уменьшенная картинка оружия (фотка, рендер из 3D MAX, или
просто скриншот из Model Viewer) до размеров 170х45. Вставляем её в
качестве нового слоя в оба маленьких файла. Причём в одном из них к
слою с изображением ствола применяем ну, например, эффект свечения.
Склеиваем слои в обоих файлах. Выделяем всю область в одном маленьком
файле, копируем и вставляем её в качестве нового слоя в большой холст.
Тоже самое проделываем со вторым файлом.
Тут нужно немного пояснить, почему именно 170х45 и почему две картинки.
Картинка со свечением показывается на экране, когда игрок подбирает
оружие, а картинка без свечения показывается, когда игрок выбирает
оружие цифровыми клавишами. Размеры 170х45 являются стандартными, но
могут быть и другими. Чтобы правильно использовать спрайты с другими
размерами нужно будет подправить текстовый файл в каталоге Sprites,
например weapon_scout.txt. Он примерно вот такого содержания:
Жирным цветом выделены те строчки, которые нам нужны. В первой
описывается первая картинка, во второй вторая. Сначала указывается имя
файла (без расширения, вданном случае springfield), где содержатся
нужные картинки. Потом идут цифры: первые две указывают на верхний
левый угол картинки (0 0), а вторые две на нижний правый (170 45). Тоже
самое и со второй строчкой. Опять же повторюсь, что редактирование
этого файла нужно в том случае, если у ваших спрайтов нестандартные имя
файла и размеры.
Здесь же есть строка (вернее две), в которой указывается какой файл прицела использовать при зуме. Вот они:
zoom 640 svd_scope 0 0 256 256
zoom_autoaim 640 svd_scope 0 0 256 256
Если прицел делался со стандартными размерами, то тут требуется изменить лишь имя файла (если нужно).
Теперь опять переводим всю картинку в 256-цветный режим, не трогаем таблицу цветов, сохраняем.
Дальше открываем Sprite Wizzard, открываем нашу картинку и в качестве
способа прозрачности указываем Additive. Сохраняем файл спрайта и
кидаем его в каталог Sprites. Редактируем текстовый файл, если нужно.
Запускаем игру и смотрим, что получилось.
Разобравшись с этими двумя способами, можно сделать абсолютно любой спрайт к игре. А ведь есть ещё анимированные спрайты...