(
На основе этого, этого и этого уроков. Это не совсем перевод, скорее, сбор в кучу всей полезной информации. )
С аддоном "Карьеры" в игре появилась возможность украсить своего персонажа татуировкой в интересном месте. Однако, выбор стандартных, прямо скажем, разнообразием и оригинальностью не блещет. Что ж, исправим эту досадную оплошность, научившись рисовать их самостоятельно.
Нам понадобятся:
- Графический редактор:
Adobe Photoshop (я буду использовать версию CS5) или
GIMP;
-
DDS-плагины для
фотошопа или
гимпа соответственно;
- Последняя версия программы
Tattooinator от CmarNYC;
- Изображение для нашей татуировки.
Шаг 1: контуры - основа основ
Создаем новое изображение размером 512х512 пикселей, цветовой режим - цвета RGB, с белым/черным фоном (эти цвета в дальнейшем будут определять прозрачность частей картинки):
Помещаем выбранную нами картинку на эту заготовку, удалив любым способом (инструментом "волшебный ластик", выделением и кнопкой delete, etc.) все лишнее (ненужный фон, например) и подчистив огрехи. Независимо от самого изображения, по возможности его нужно центрировать на нашей канве, так, чтобы рисунок помещался в фоновый квадрат целиком - это гарантирует лучший вид татуировки при масштабировании в игре.
Для урока я подготовила два изображения, джокера на белом фоне и стилизованного льва - на черном:
Поскольку татуировка содержит всего четыре канала для перекраски (из которых один уходит под контур), то следует заранее продумать ее внешний вид и упростить лишнее, т.к., во-первых, лишние цветные детали могут занять канал, который нужен для чего-то более существенного, а во-вторых, игра в конечном итоге их упростит, увы.
Чем четче будут контуры будущей татуировки, тем лучше она будет выглядеть в игре, поэтому стоит выбирать изображения в высоком качестве и достаточно большом разрешении: большую картинку можно сжать до меньшей без особых проблем, но вот при растягивании маленькой неизбежно появяться "артефакты", которые могут сильно испортить внешний вид и настроение.
Шаг 2: черно-белый мир
Лев хорошо смотрится сам по себе за счет интересных контуров, поэтому оставим его однотонным. Чтобы в игре уменьшить пикселизацию на углах рисунка, применим к нему размытие по Гауссу с небольшим радиусом:
Сохраняем наш рисунок в формате .dds (Файл->сохранить как...):
Появится окошко со следующими настройками:
Рассмотрим вкратце, что это и с чем его едят.
Во-первых, обратим внимание на группу переключателей "MIP Map Generation". Мип-уровни - это инструмент, определяющий, как отрисовываются текстуры объекта: если объект находится близко, к нему подставляется текстура максимального разрешения, по мере удаления от него текстура заменяется на ее копии меньшего разрешения. Это позволяет избавиться от лишней детализации и сэкономить ресурсы системы. Текстура в формате .dds как раз и содержит несколько таких дубликатов разного разрешения. Однако, мип-уровни, в общем-то, нужны далеко не всегда - например, для текстур интерфейса они, очевидно, излишни.
Татуировки - маленький объект, так что генерировать мип-уровни в нашем случае будет лишним. Выбираем "No MIP Maps".
Текстура в .dds-формате всегда должна быть в формате RGB со сведенными слоями, т.к. стандартная прозрачность здесь не поддерживается. Вместо нее вводится четвертый канал - Альфа, который и определяет дополнительные свойства текстуры. Чем темнее участок альфа-канала, тем прозрачнее будет на нем текстура. Т.о. черный цвет альфа-канала соответствует абсолютно прозрачному участку.
Альфа-канал может иметь разную глубину цвета. Так, для полупрозрачных объектов, которые должны отбрасывать тень, альфа 1-битная (ex.: листва деревьев, сетка, etc.). Для остальных объектов используется 8-битный альфа-канал.
Настройки альфа-канала, а также сжатие текстуры указывается в настройках сохранения. Основные из них:
- 8.8.8 RGB - несжатый вариант сохранения текстур без альфа-канала
- 8.8.8.8 ARGB - несжатый вариант сохранения текстур с альфа-каналом
- DXT1 no alpha - сжатый (до 8 раз) формат сохранения текстур без альфа-канала
- DXT1 1 bit alpha - сжатый (до 8 раз) формат сохранения текстур c 1-битным альфа-каналом
- DXT3 - сжатый (до 4 раз) формат сохранения текстур c альфа-каналом с индексированной палитрой (менее 256 цветов)
- DXT5 - сжатый (до 4 раз) формат сохранения текстур с полноцветным альфа-каналом.
Сжатие DXT всегда ведет к ухудшению качества текстуры. Несколько таких сохранений подряд - и уже никакой фотошоп ее не восстановит, увы.
Поскольку текстура татуировки сравнительно мала даже по сравнению с текстурой сима, и альфа-канал у нас еще не сгенерирован, то смело ставим режим сохранения
8.8.8.8 RGB.
Шаг 3: Альфа? Альфа!
Запускаем
Tattooinator, выбираем пункт меню
Convert->Convert image и выбираем только что сохраненное нами изображение:
В появившемся окошке ставим настройки
"Make pure black transparent" (определяем, что черный фон в нашем случае будет на коже персонажа отображаться прозрачным) и
"Copy white to Alpha" (копируем контуры самого льва на альфа-канал):
Жмем на "Convert Image", редактор покажет диалоговое окно о сохранении файла. Лучше всего добавить к названию префикс _alpha, чтобы отличить его от оригинального изображения. Сохраняем.
Теперь можно дать название нашей татуировке и подумать о колоризации. Поскольку сам лев у нас был белого цвета, то за его перекраску будет отвечать альфа-канал: устанавливаем переключатель "Channel A: Enabled" и выбираем три основных варианта окраски:
Кнопка "Preview Tattoo image" позволяет посмотреть, как будет выглядеть наше тату (и увидеть, если что-то не так).
Как только все настройки выставлены, жмем "Create Tattoo Package", даем имя, сохраняем и отправляем наш package в папку Mods/Packages для проверки в игре.
Шаг 4: Добавим радуге красок
Вернемся к нашему джокеру: мне хочется, чтобы он был раскрашен в несколько цветов. Для этого я выделяю контур, инвертирую выделение и начинаю красить контур в "чистые" цвета, отвечающие каналам: красный (ff0000), зеленый (00ff00) и синий (0000ff) - в порядке значимости: наибольшая область - красным, затем зеленым, затем синим.
Получаем в итоге такую психоделичную картинку:
Сохраняем так же, как и в шаге 2.
Снова идем в
Tattooinator и конвертируем наше изображение уже с параметрами
"Make pure white transparent" (теперь прозрачным у нас будет белый фон) и
"Copy black to Alpha" (в альфа-канал копируем контур - так при желании его можно будет перекрашивать):
Я хочу, чтобы карта и лицо джокера всегда оставались белыми, поэтому убираю переключатель "Channel R: Enabled" и задаю на всех трех пресетах для него белый цвет, остальные пусть будут перекрашиваемыми по желанию пользователя:
На превью можно посмотреть, что получается - на мой взгляд, вполне симпатичный джокер.
Создаем package как в предыдущем шаге и отправляем его по адресу.
Extra
Вот так выглядят мои опытные образцы в игре. Первый блин - не так уж и комом, м?
Если итоговый package татуировки кажется кому-то тяжеловатым, то после конвертации файл с альфа-каналом можно открыть в графическом редакторе и пересохранить его с компрессией - лучше всего с настройками DTX5.
Удачного татуирования Ваших подопечных!