Показать сообщение отдельно
Старый 05.02.2011, 20:58   #1
династиец
Золотая Корона Золотая кисть вдохновения Золотая звезда Золотая звезда 
 Аватар для TeaWitch
 
Репутация: 941  
Адрес: Новосибирск
Сообщений: 476
Профиль в Вконтакте
Лампочка [TS3] Рисуем свои татуировки

(На основе этого, этого и этого уроков. Это не совсем перевод, скорее, сбор в кучу всей полезной информации. )

С аддоном "Карьеры" в игре появилась возможность украсить своего персонажа татуировкой в интересном месте. Однако, выбор стандартных, прямо скажем, разнообразием и оригинальностью не блещет. Что ж, исправим эту досадную оплошность, научившись рисовать их самостоятельно.

Нам понадобятся:
- Графический редактор: 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.
Удачного татуирования Ваших подопечных!

Последний раз редактировалось TeaWitch, 06.02.2011 в 17:06.
TeaWitch вне форума   Ответить с цитированием