Изменение иконок предметов
Внимание! Данный урок предполагает наличие у вас базовых
навыков работы в Photoshop. Детальный пошаговый разбор работы в
Photoshop в данном уроке производится не будет.
Разберем изменение файла:
...\gamedata\textures\ui\ui_icon_equipment.dds
Он содержит иконки предметов, отображаемые в инвентаре. Допустим, вы
сделали новый вид оружия, и хотите присвоить ему новую иконку.
Нам понадобится следующее:
- Adobe Photoshop (я использовал CS2, CS и 7.0 различаются незначительно)
- плагин для работы с .dds-изображениями (скачать)
Итак, мы установили плагин и запустили Photoshop. Откройте в нем наш файл.
Иконки расположены по сетке 50х50 пикселей.
Чтобы включить её отображение, зайдите в меню:
Редактирование -> Установки -> Направляющие, сетка и фрагменты
И установите в нем следующие значения:
- Линия через каждые: 50
- Единицы измерения: пиксели
- Внутреннее деление на: 1
После чего выберите пункт:
Просмотр -> Показать -> Сетку ( Ctrl+' )
Всё, сетка теперь правильно настроена и отображается. Выберем место для иконки.
Иконка будет размером 4х2, то есть 200х100 пикселей - это обычный размер иконки для автоматических винтовок. Нарисуем её:
Иконка АК47У была нарисована следующим
образом: я нашел качественную фотографию с однородным фоном (благо,
фотографий АК в интернете немерено), открыл её в Photoshop, выделил с
помощью второго вида инструмента "Лассо", нажал Ctrl+C, открыл файл с иконками, нажал Ctrl+V, нажал Ctrl+T, зажал Shift ("Сохранение пропорций") и потянул за край выделения, сжимая изображение до нужного размера.
После чего применил трансформацию, перетащил изображение на нужное место и нажал Shift+Ctrl+E ("Слить слои").
Теперь соответственно иконке изменим и альфа-канал.
Выделим иконку оружия, и перейдем в окне со слоями на закладку:
Каналы -> Alpha
После чего залейте выделение белым. Всё, мы сделали иконке альфа-канал.
Теперь нужно сохранить файл в правильном формате. Выберите:
Файл -> Сохранить
И выставьте в появившемся окне окне следующие настройки:
Крайне важно выставить следующие параметры:
- Save Format: DXT5 (Interpolated Alpha)
- MIP maps: No MIP maps
Нажмите Save. Вот всё, мы добавили новую иконку.
Теперь присвоим её предмету.
Допустим, у вы создали некий wpn_ak47u, которому и нарисовали иконку. Зайдем в его конфиг:
gamedata\config\weapons\w_ak47u.ltx
И найдем такие строки:
inv_grid_width = 4
inv_grid_height = 2
inv_grid_x = ...
inv_grid_y = ...
Где:
- inv_grid_width - ширина в сетке 50х50
- inv_grid_height - высота в сетке 50х50
- inv_grid_x - местонахождение по х
- inv_grid_y - местонахождение по y
Изменение текстур моделей
Заменим, например, текстуру банки с энергетиком. Для этого откроем файл item_drink_nonstop.dds:
И отредактируем его по своему усмотрению:
Банка была перерисована через
выделение элементов с помощью "Лассо" (в варианте с проставлением углов,
а не непрерывного выделения - кажется, это называется "Геометрическое
лассо", если не так - поправьте), с последующим их закрашиванием зеленой
кистью.
Выделяем элементы синего цвета, закрашиваем выделение зеленым, идем дальше.
В конце инструментом "Текст" (иконка в виде буквы "Т") и шрифтом
Space Age (не суть важно) была сделана надпись. После чего я нажал
Ctrl+T ("Свободная трансформация"), повернул текст набок, и применил
трансформацию, выбрав любой другой инструмент.
Не забываем на всякий случай сохранить резервную копию текстуры. Делаем Save со следующими параметрами:
- Save Format: DXT5 (Interpolated Alpha)
- MIP maps: Generate MIP maps
Создание новых visual для использования с новыми объектами
К чему изменять текстуры обычных предметов, лучше сделать свои - с
собственной внешностью. Сделаем новый visual (модель+текстура), который
можно будет указать в свойствах нового предмета.
Возьмем модель банки энергетика drink_nonstop.ogf, сделаем её копию и назовем, скажем, drink_green.ogf, после чего откроем в Hex-редакторе (в принципе, можно и Блокнотом). Метод кустарный, но работающий.
В начале файла вы увидите имя текстуры:
item\item_drink_nonstop
Изменим эту строку на:
item\item_drink_green_1
Внимание! Очень важно, чтобы длина строки с текстурой осталась той же, иначе файл не будет работать.
Всё, теперь вы можете указать в конфиге своего нового предмета новый visual:
[energy_drink_green]:vodka
$spawn = "food and drugs\energy_drink"
inv_name = energy_drink_green_name
inv_name_short = energy_drink_green_short_name
visual = '''equipments\drink_green.ogf''' ;equipments\drink_stalker.ogf
description = enc_equipment_energy_drink_green
cost = 75