Текстуры. Создание текстуры из фотографии.
Сегодня мы будем работать над фотографией, чтобы создать текстуру, пригодную для использования в HL2 и её модах. Для этого нам понадобятся:

- сама фотография (отснятая своей цифрой либо найденная в инете)
- Adobe Photoshop 6 и выше. Идеально - восьмой (CS) т.к. на его примере я буду показывать приёмы обработки. Желательно, английский, иначе возникнут трудности с названиями некоторых инструментов и команд.
- SourceSDK, а конкретно vtex.exe для ковертации текстуры в формат HL2. Найти этот инструмент можно в папке
Program Files\Valve\Steam\SteamApps\<имя_аккаунта>\sourcesdk\bin
- от 10 минут до часа свободного времени ;)

Пару банальных слов для обладателей цифровых камер - о том, как снимать. В идеале съёмки нужно проводить в пасмурную погоду. Освещение должно быть достаточно хорошим, но прямой солнечный свет может доставить дополнительные неприятности ("неправильные" цвета, тени, блики). Снимать желательно под прямым углом к поверхности и со штатива, чтобы в дальнейшем не страдать из-за искажений и "смазанности" картинки. Конечно, почти никогда не удаётся соблюсти все эти требования, но всегда стоит стремиться к идеалу :) Пожалуй, стоит напомнить и о том, что съёмку текстур следует производить в максимально возможном разрешении и при минимальном сжатии. Это же относится и ко всем этапам обработки. Уменьшать текстуру желательно только перед конвертированием в формат игры, чтобы сохранить максимальное качество. Единственное исключение - ситуация, когда комп не тянет большой рисунок и существенно притормаживает в ходе работы.

Итак, когда у нас есть снимок, переходим к обработке. Все операции я буду производить на взятом в качестве примера кадре:


1600х1200, jpg (233Кб)
оригинал - 2592х1944 (Canon PS A95)

1. Обрезка и подгонка
Запускаем фотошоп и приступаем к работе. Нас интересуют только две центральные секции стены, которые целиком вошли в кадр. Пожалуй, оставим и фундамент, остальное же отправим в расход. Для этого жмём на панели инструментов кнопку с пунктирной рамочкой (М на клавиатуре) и обводим нужную часть снимка. По ходу дела выясняется, что кадр отснят под наклоном, но это нас не пугает :) расположив рамку выделения так, чтобы в неё целиком входил нужный нам фрагмент, идём в меню Image и выбираем команду Crop (рис.1). Так мы избавились от ненужных частей снимка. Теперь возникла другая проблема - фотография слегка кривовата, поскольку была сделана под углом к поверхности. Сейчас мы это исправим. Не снимая выделения, жмём правой кнопкой мыши по изображению и в контекстном меню выбираем пункт "Free transform". На углах выделения появятся квадратные маркеры. Жмём правой кнопкой ещё раз и включаем режим Distort. Теперь хватаем мышью маркер в правом верхнем углу изображения и вытаскиваем его за пределы рабочей области вправо. Заметили, как изменилась картинка? Подгоняем нашу текстуру таким образом, чтобы край изображённого на ней окна был параллелен краю рабочей области. Затем точно так же работаем с остальными углами картинки. В результате мы должны добиться иллюзии того, что смотрим на здание под углом 90 градусов.


рис. 1. обрезка / рис.2. коррекция искажений

2. Коррекция цвета
Тут всё предельно просто. В данном случае текстура показалась мне слишком тусклой, поэтому сейчас я добавлю немножко цвета и контраста. В этом поможет раздел Adjustments в меню Image. Я выбрал Brightness/Contrast и поднял контраст на 15, потом воспользовался Hue/Saturation (Ctrl+U) из этого же меню и увеличил насыщенность (saturation) на 30. Думаю, этого хватит. На этом этапе важно не перебощить - чересчур "сочная" картинка может смотреться очень эффектно в фотошопе, но оказаться слишком яркой для карты. Помните о стиле и атмосфере вашей работы. Иногда может пригодиться инструмент Color Balance (Ctrl+B) из того же меню. Поэкспериментируйте.


рис.3. текстура до и после коррекции цвета.

3. Редактирование с помощью Clone Stamp Tool
Рутина позади, дальше будет интересней. Посередине текстуры находится совершенно ненужная нам колонна. Целесообразнее сделать для этого элемента отдельную текстуру либо вовсе удалить. Этим мы сейчас и займёмся. Выберите на панели инструментов "печать" - stamp tool (S). Установите размер кисти в диапазоне 80-120, параметры Opacity и Flow по 100%. Объясняю, что мы будем делать. Данный инструмент позволяет "клонировать" отдельные участки изображения. Наша конкретная цель - "замазать" белую колонну штукатуркой. Согласитесь, если бы мы взяли обычную кисть и закрасили колонну равномерным жёлтым цветом, вышло бы весьма убого. Сделаем умнее. Для начала зажмите Alt и щёлкните на штукатурке в любой части изображения (желательно там, где её побольше :)). Теперь отпустите alt и начинайте "красить" колонну (рис.4). Как видите, изображение переносится из одной части текстуры в другую. Чтобы наличие "клона" не бросалось в глаза, будем брать материал из разных частей изображения. Сделав несколько мазков, снова зажмите alt и выберите другой участок штукатурки в качестве исходного фрагмента. Продолжайте. Небольшие трудности могут возникнуть рядом с фундаментом. Чтобы не залезать на тёмный бетон, обведите рамкой выделения нужный участок стены таким образом, чтобы фундамент оставался за пределами выделения. Надеюсь я более-менее понятно написал =))) Суть в том, что clone stamp tool (как и любой другой инструмент) действует только в пределах выделения. Не выделив, не испортим.


рис.4. клонирование

Покончив с колонной, исправим ещё один дефект. Перед двумя правыми окнами верхнего ряда висят какие-то веточки-верёвочки. Закрасим их тем же способом, щёлкая с "альтом" по стеклу и затем - без "альта" - по ветке. Есть смысл сделать кисточку поменьше, не правда ли? ;) Но и это ещё не всё! Многие с криком "ура!" кидаются натягивать текстуру на браши, однако ещё рано. Приглядимся к стёклам - что мы видим? Отражения деревьев. В игре это будет выглядеть неуместно - особенно если рядом не окажется даже чахлого кустика. Аккуратно обводим рамочкой выделения каждое стёклышко и закрашиваем тем же "штамп-тулом". Можно схалтурить и замазать обычной кисточкой - в данном случае разница будет незаметной. Стёкла более-менее одинаковые, поэтому есть смысл таскать одну и ту же рамочку по всему рисунку, переключаясь на кисть и обратно клавишами "М" и "В".
4. Тайлинг
Пожалуй, в данном случае не самый обязательный этап, но раз есть возможность, потренируемся в тайлинге текстуры. "Затайленная" текстура, будучи натянутой на браш, не имеет швов при повторении. Смысл этой мудрёной фразы легче уяснить на иллюстрации. Представим, что мы "строим" длинный дом и покрываем его стену нашей текстуркой:

Даже на маленькой иллюстрации видно, что в местах стыков текстура выглядит паршиво - проще говоря, не стыкуется или не тайлится. Сразу понятно, что взяли два куска, слепили как попало и кинули: "играй, народ!". Будем бороться. Цель - сделать так, чтобы при повторении текстуры на плоскости стыки (швы) были незаметны. Для этого придуманы разные методы, я опишу только один - на мой взгляд самый простой и удобный.
Прежде всего отправляемся в меню Filter --> Other и выбираем фильтр Offset (сдвиг). С помощью него мы сдвигаем текстуру по горизонтали, чтобы шов находился посередине рисунка - так будет удобнее работать. Устанавливаем значение Horizontal offset примерно равным половине ширины нашей текстуры. В моём случае - около 800. Точность роли не играет.


рис.5. фильтр Offset

Теперь, когда стык оказался посередине изображения, берём тот же stamp tool, выбираем кисточку с мягкими краями (параметр Hardness=0) и начинаем аккуратно подкрашивать шов, чтобы создать плавный переход. Если технология ещё не понятна, поясняю: с alt'ом щёлкаете на участке со штукатуркой, затем без alt'a проводите по линии стыка. Результат налицо:


рис.6. шов до и после тайлинга с помощью stamp tool

Может случиться так, что яркость соседних участков окажется разной. В таком случае помогут burn и dodge tool'ы (О на клаве). Эти инструменты затемняют/высветляют участок изображения. Ничего хитрого в их использовании нет - пробуйте и всё получится.
Закончив со швом, вернём изображение на место с помощью того же offset с отрицательным значением (-800). Наша текстура затайлена. Точка.
5. Перевод текстуры в формат HL2
Мы на финишной прямой. Осталась самая малость - запихнуть нашу текстурку в Хаммер. Пришло время определиться с тем, под какой мод мы будем использовать текстуру. В качестве примера я возьму HL2MP. Если вам требуется CS:Source или просто HL2, единственым отличием будет папка, в которую мы положим текстуру.
Прежде всего изменим размер на приемлемый для ХЛ2. Типичные разрешения текстур - 256*256 и 512*512. Выберем второй вариант как компромисс между качеством и "весом" файла. Отправляемся в Image --> Image Size, убеждаемся, что снята галочка с пункта Constrain Proportions и вписываем 512 в поля height и width. Наша текстура здорово уменьшится, её пропорции слегка изменятся, но это не беда. Следующий шаг: File --> Save As, в качестве формата выбираем Targa, в качестве "пункта назначения" - папку Valve\Steam\SteamApps\<имя_аккаунта>\sourcesdk_content\hl2mp\materialsrc\. Создайте в ней новую папку с любым названием - скажем, building или test. В неё-то и сохраняйте tga. В открывшемся окошке "Targa Options" выберите 24 bits/pixel. Финиш. На этом наши манипуляции с фотошопом кончаются, можем его смело закрывать. Теперь запускаем нехитрый текстовый редактор Блокнот и пишем в нём примерно следующее:
vtex.exe -mkdir -shader Lightmappedgeneric "C:\Program Files\Valve\Steam\SteamApps\dstmn\sourcesdk_content\hl2mp\materialsrc\dustman\house.tga"
Курсивом я отметил те части адреса файла, которые вам надо изменить в соотвествии с именем своего аккаунта, созданной папки и самой текстуры.
Жмём в блокноте Save As и сохраняем наш текст в папку SourceSDK\bin с именем make_textures.bat. Запускаем созданный файлик. NB! Steam должен быть включен, иначе компиляция текстуры не пойдёт. Ждём несколько секунд, пока не появится строка Hit any key to continue. Собственно, на этом всё :) vtex сам положит файлы в нужную папку.
Запускаем Хаммер, идём в Texture Browser и в качестве фильтра пишем название своей текстуры. Ура! =))

Остались мелочи - подготовить нормал-мапы, да указать свойства материала в vmt-файле. Но об этом как-нибудь в другой раз :)
6. Бонус-трек. Список использованных инструментов.
Marquee Tool (M) - служит для выделения области рисунка. С зажатым shift'ом - добавляем, с alt'ом - удаляем фрагменты выделения. В данном уроке используется только прямоугольное выделение.
Clone Stamp Tool (S) - используется для "клонирования" фрагментов изображения. С зажатым alt'ом выбираем исходный участок.
Burn/Dodge Tool (O) - инструменты скрываются под одной и той же кнопкой. Служат для затемнения/высветления участка изображения.

Image --> Crop - обрезает части изображения, находящиеся за пределами выделения.
Image --> Image Size - используется для изменения размеров изображения. Галочка у пункта "constrain proportions" означает сохранение пропорций рисунка.
Image --> Adjustments --> ... - группа инструментов для работы с цветовой палитрой изображения.
Filter --> Other --> Offset - используется для смещения рисунка по горизонтали и/или вертикали.
Источник: cs-mapping.com.ua

Автор: DustmaN

CMT (CS Mapping Tutorials) - © 2006-2011+. Created by VM
[ Script Execution time: 0.0045 ]