Попробуем сварганить парочку спрайтов: новый прицел и, например, спрайт какого-нибудь ствола. Нам понадобится:
- 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. Он примерно вот такого содержания:
14
weapon
320
320hud1
0
80
80
20
weapon_s
320
640hud7
72
72
24
24
ammo
320
640hud7
72
72
24
24
crosshair
320
crosshair
24
0
24
24
autoaim
320
crosshairs
0
72
24
24
zoom
320
ch_sniper
0
0
256
256
zoom_autoaim
320
ch_sniper
0
0
256
256
weapon
640
springfield
0
0
170
45
weapon_s
640
springfield
0
45
170
45
ammo
640
640hud7
72
72
24
24
crosshair
640
crosshairs
24
0
24
24
autoaim
640
crosshairs
0
72
24
24
zoom
640
svd_scope
0
0
256
256
zoom_autoaim
640
svd_scope
0
0
256
256
Жирным цветом выделены те строчки, которые нам нужны. В первой
описывается первая картинка, во второй вторая. Сначала указывается имя
файла (без расширения, вданном случае 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. Редактируем
текстовый файл, если нужно. Запускаем игру и смотрим, что получилось.
Разобравшись с этими двумя способами, можно сделать абсолютно любой спрайт к игре. А ведь есть ещё анимированные спрайты...