Создание спрайтов
Попробуем сварганить парочку спрайтов: новый прицел и, например, спрайт какого-нибудь ствола. Нам понадобится:
- 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. Редактируем текстовый файл, если нужно. Запускаем игру и смотрим, что получилось.
Разобравшись с этими двумя способами, можно сделать абсолютно любой спрайт к игре. А ведь есть ещё анимированные спрайты...видим... Кто не видит- сходите к окулисту...r_rootlod "2" r_drawrain "0" можно увеличить яркость, чтобы лучше видеть в тёмных местах).
Тут выбираем Override Refresh Rate как это показано на картинке. Напротив разрешения написано default, жмём туда и устанавливаем нужное разрешение. Почти все мониторы на разрешении 1024*768 держит 85 Герц, или 100, 120 не пробуйте. При 800*600 100 Герц стабильно. Всё зависит от связки видео карта + монитор. Если есть возможность посмотрите документы к монитору, там наверняка будут написано частоты которые он поддерживает. Я привёл самые стандартные. У меня получилось так:
То что у меня стоит 1024*768 120 Герц, это выпендрёжь! Если вы задали частоту обновления больше чем поддерживает монитор, то после того как вы переключитесь на это разрешение монитор станет чёрным, лечиться нажатием на Резет только. После такого вынужденого рестарта зайти и поставить нужные частоты.
|