+4

Создаём спрайты

Мастерская

Попробуем сами сделать парочку спрайтов: новый прицел и спрайт какого-нибудь ствола.
Нам понадобится: — 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. Редактируем текстовый файл, если нужно. Запускаем игру и смотрим, что получилось.

Разобравшись с этими двумя способами, можно сделать абсолютно любой спрайт к игре. А ведь есть ещё анимированные спрайты…

Комментарии — 1

  • BUSTA08.05.2009, 22:33#
    спс!=) работает!))

Обсуждение завершено.