Пункт 10. Как нарисовать Скин.

 

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

 

Прежде чем начать читать убедитесь, что вы умеете пользоваться Фотошопом, сейчас без этого просто никуда. Если вы не умеете, спуститесь ниже, там есть пара ссылок на ресурсы, где можно научиться. Вопреки общему мнению фотошоп не такая сложная программа, чтобы учиться ей по книге, лично я учился по туторам.

 

Ну что ж.

Давайте учиться рисовать скины.

Рисование скина состоит из следующих тактических задач:

  1. Отделение элементов анврапа, с которыми вы будете работать;
  2. Заливка отделенных элементов однотонным цветом;
  3. Нанесение источника света;
  4. Рисование скина;
  5. Добавление дополнительных деталей а-ля Dust & Scratches (грязь и царапины);
  6. Наложение эффектов;
  7. Финализация.

 

Пойдём по порядку.

Загрузите Фотошоп, дважды кликните по пустой (светло-серой) области окна или нажмите Ctrl+O. Появится окно Open, проложите путь к любому из экспортированных вами анврапов и откройте его. Я буду использовать анврап от АПС:

 

Как видите разобраться не просто, рисовать поверх, да и ещё так, чтобы не задеть никакой лишний элемент – сложно, поэтому начнём мы с вами с отделения элементов анврапа, с которыми мы будем работать.

Представим, что нам надо зарисовать самый большой элемент, рукоятку (я уже говорил, что всегда начинаю с неё?).

 

Итак, возьмите инструмент Polygonal Lasso Tool []. И создайте выделение по контуру нужного элемента, точно повторять контур незачем, однако следите за тем, чтобы в выделение не попали лишние элементы:

 

Теперь, в палите слоёв, на единственном слое нажмите правой кнопкой мыши и выберите пункт Layer Via Copy:

 

Таким образом, мы скопировали выделенное в отдельный слой.

Теперь, на палитре слоёв, скройте фоновый слой, нажав на изображении глаза в строке этого слоя []. Видимым останется только передний слой, который мы создали копированием:

 

Возьмите инструмент Magic Wand Tool [] вверху установите Tolerance на 0 и отключите  Anti-Aliasing,  Contiguous и  Use All Layers.

Вернитесь к изображению и кликните на куске фона, чтобы выделить его:

 

Теперь нажмите Delete на клавиатуре, чтобы удалить выделенное. В итоге мы получим чистый элемент анврапа:

 

Так отделяются элементы от фона.

 

Идём дальше. Нам теперь надо залить всё это однотонным цветом.

Зажмите Ctrl и кликните на палитре слоёв левой кнопкой по слою с элементом, чтобы загрузить выделение по контуру слоя. Теперь перейдите во вкладку Swatches на палитре цветов и возьмите в качестве переднего цвета тёмно-серый:

 

А теперь нажмите Alt+Backspace, чтобы залить выделение выбранным цветом:

 

Вот. Ну а дальше наносится источник света и рисуется скин =):

 

Так с этим изображением мы покончим, дальше будем тренироваться на кошках.

 

------------------------------------------------------------------------------------------------------------------

Совет: Если какое-то сочетание клавиш вдруг не сработало - попробуйте переключить раскладку клавиатуры.

------------------------------------------------------------------------------------------------------------------

 

Создайте новое изображение (Ctrl+N) размером 512х512 с прозрачным фоном:

 

И залейте его тёмно-серым цветом.

Примените фильтр Filter>Artistic>Sponge c параметрами:

 

Теперь выполните Image>Adjustments>Brightness\Contrast… с параметрами:

 

Мы получили заготовку.

А сейчас мы научимся делать источник света и попрактикуемся в рисовании различных металлических элементов (впадин, выпуклостей, болтиков, винтиков, кнопочек и т.д.).

 

Возьмите инструмент Dodge Tool [], нажмите на рабочей области изображения правой кнопкой мыши и выберите двухсотую кисть с мягкими краями.

Установите Range на Highlights, теперь наберите на клавиатуре 15, чтобы установить параметр Exposure на значение 15, если 15 не набралось, а набралось, например 50 – значит, вы слишком медленно вводите.

Теперь слегка подсветите левый верхний угол от края до диагонали:

 

Установите Range на Midtones, наберите 25 на клавиатуре, чтобы установить параметр Exposure на значение 25. Зажмите Alt и слегка затемните правый нижний угол от края до диагонали. Постарайтесь добиться гладкого перехода между светлыми и тёмными тонами:

 

------------------------------------------------------------------------------------------------------------------

Примечание: Вы  переключитесь с  инструмента Dodge Tool на Burn Tool, если зажмёте Alt и наоборот.

------------------------------------------------------------------------------------------------------------------

 

Всё, источник света нанесён. Таким образом, выходит, что свет у нас идёт из верхнего левого угла.

 

Прежде чем мы начнём практиковаться в рисовании скина, я расскажу немного теории.

У любого предмета/выпуклости/впадины и т.д., есть освещённая и теневая части, а если учитывать что человек определяет форму объекта по теням, то вы легко поймёте, как работает этот пример:

 

 

Я нарисовал эту штуку, чтобы дать вам понятие о восприятии. Источник света находится в левом верхнем углу. Я нарисовал первый объект (выпуклость) с учётом источника света, потом скопировал и повернул дубликат на 180 градусов. Вы заметили, как поменялось восприятие? Выпуклость стала впадиной! На этом и основан скининг. Теперь-то поняли, зачем нужно определяться с источником света?

 

Дальше. Изгибы собирают свет.

Вот пример:

 

Слева неправильный вариант, справа правильный.

Метал, кстати проще всего рисовать. Хотя, может быть, я просто привык…

 

Попрактикуемся в рисовании различных форм для скина модели оружия.

-Почему модели оружия ведь учебник о проп-моделировании?!

Рисовать скины для моделей оружия на ряды проще, ибо они, как правило, в относительно хорошем состоянии, чаще всего не подвержены коррозии и так далее, вам не придётся реализовывать такие эффекты как, например, несколько слоёв потёртой и отвалившейся краски или отвалившийся кусок бетона. Всё, что вам нужно в данном случае – передать форму объекта и сделать эффект, который унифицирует данную текстуру и придаст ей реалистичную форму, ну и конечно слегка поработать над износом текстуры, без него никуда, однако, факт, тут этой работы меньше, чем с другими текстурами для других видов моделей.

 

Итак.

Первым мы сделаем шарообразное углубление, похожее на лунный кратер. Будем работать только с верхним левым кусочком изображения.

 

Возьмите инструмент Elliptical Marquee Tool [], убедитесь, что стоит галочка  Anti-Aliased, зажмите Shift и создайте круглое выделение небольшого размера:

 

Создайте слой через выделение (Layer via Copy).

Теперь, прежде чем рисовать, подумаем, как поведёт себя свет, попадая в шарообразное углубление, у нас будет освещённая часть и теневая часть, теневая будет в левой верхней части выделения, той, что ближе к источнику света, а освещённая соответственно с другой стороны.

Приступим. Выполните Image>Adjustments>Brightness\Contrast… с параметрами:

 

Результат:

 

Чтобы видеть на фоне наше углубление, так нам будет проще работать, да и контур выделения не будет мешаться, и мы сможем трезво оценивать интенсивность тонов.

Идём дальше. Возьмите инструмент Dodge Tool [], нажмите на рабочей области изображения правой кнопкой мыши и выберите шестьдесят пятую кисть с мягкими краями. Установите параметр Range на Midtones, а параметр Exposure на значение 50, нажатием клавиши 5. Теперь зажмите Alt и затемните левую верхнюю часть:

 

Теперь Range: Highlights, Exposure: 25, осветлите нижнюю правую часть:

 

------------------------------------------------------------------------------------------------------------------

Примечание: Вы можете уменьшать/увеличивать размеры кисти, используя клавиши квадратных скобок, однако помните, что имеете дело с растровыми изображениями,  - это значит, что при частом уменьшении/увеличении кисть потихоньку будет терять свою правильную форму.

------------------------------------------------------------------------------------------------------------------

 

Сделаем блик. Блики всегда располагаются на наиболее освещённых частях изгибов. Возьмите кисть в два раза меньше (например, двадцать седьмую) и осветлите область в виде полумесяца чуть-чуть правее-ниже относительно центра:

 

Теперь сделаем слегка зазубренные края.

В палитре слоёв Ctrl-кликните на слое с углублением, чтобы загрузить по нему выделение. Выполните Select>Modify>Contract в появившемся окне введите 1 и нажмите ОК и инвертируйте выделение (Ctrl+Shift+I), нажмите Ctrl+H, чтобы скрыть выделение. Что мы такое сейчас сделали? Всё просто, - мы уменьшили выделение на 1 пиксель и инвертировали (обратили) его, теперь мы сможем редактировать только приблизительно (из-за anti-aliasing’а) 1 пиксель на слое с углублением.

Теперь возьмите небольшую кисть с мягкими краями и осветите нижнюю правую часть краёв углубления:

 

Если вам нужна новая, не затёртая, текстура метала, то вам нужно тут остановиться.

Но давайте, всё-таки, посмотрим, как сделать старую потёртую текстуру, их обычно рисуют для игр про вторую мировую.

Возьмите кисть размером в 1 пиксель и затемняйте/осветляйте края до тех пор пока не получите что-то вроде такого:

 

Снимите выделение. Теперь нажмите на клавиатуре 5 и хаотичными короткими мазками нанесите небольшие царапинки на освещённую часть углубления:

 

Готово! Как видите - всё просто.

Однако сразу предупреждаю: на «учебных» изображениях это делать проще, чем в реальной «боевой» обстановке, так что особо не обольщайтесь.

 

Идём дальше.

Теперь будем делать пилюле образное углубление.

Расскажу я только, как сделать необходимое выделение, остальное, в принципе, вы и сами осилите.

Итак, возьмите инструмент Elliptical Marquee Tool [], убедитесь, что стоит галочка  Anti-Aliased, зажмите Shift и создайте круглое выделение небольшого размера правее круглого углубления. Создайте новый слой нажатием на кнопку Create New Layer [] на палитре слоёв, нажмите D на клавиатуре, чтобы сбросить настройки цветов и залейте выделение чёрным (Alt+Backspace). Теперь возьмите инструмент Rectangular Marquee Tool [], зажмите Alt и отсеките примерно половину выделения слева:

 

Зажмите Ctrl+Shift, поместите курсор внутрь выделения, зажмите ту самую и переместите этот кусок вправо на произвольное, небольшое, расстояние, снимите выделение (Ctrl+D), если сочетание не сработало, то переключите раскладку (Ctrl+Shift) и попробуйте ещё раз.

 

Возьмите инструмент Single Column Marquee Tool [], и одиночным кликом выделите крайнюю полоску пикселей с левого куска.

 

Нажмите Ctrl+T, чтобы перейти в режим свободной трансформации, по краям выделения появятся маркеры, схватитесь за центральный маркер справа и увеличьте выделенное таким образом, чтобы оно перешло во второй кусок:

 

Нажмите Enter, чтобы принять изменения и нажмите Ctrl+D, чтобы снять выделение.

Теперь Ctrl-кликните на созданном слое, чтобы загрузить по нему выделение.

 

 

Ну а теперь удалите этот слой, нажав на кнопке Delete Layer [] на палитре слоёв.

Только не вздумайте снять выделение. Выделите текстуру, которая у нас на фоне и создайте слой через Layer via Copy. Всё, теперь можете снимать выделение.

Осталось только выполнить Image>Adjustments>Brightness\Contrast с параметрами:

 

Ну, всё.

Готово.

 

 

Дальше вы сами знаете, что надо делать. :E

 

 

Теперь попробуем нарисовать вот такой шуруп:

 

Возьмите инструмент Elliptical Marquee Tool [], убедитесь, что стоит галочка  Anti-Aliased, зажмите Shift и создайте круглое выделение небольшого размера правее пилюлеоидного углубления. Сделайте активным задний план и создайте слой через Layer via Copy, Ctrl-кликните на слое, который вы сейчас создали, чтобы загрузить по нему выделение и выполните Select>Modify>Contract в появившемся окне введите 1, а  потом нажмите ОК, создастся новый слой, нажмите Alt+[, чтобы спуститься на слой ниже. Теперь возьмите инструмент Dodge Tool [], возьмите любую крупную кисть. Установите параметр Range на Midtones, а параметр Exposure на значение 100, нажатием клавиши 0. Теперь зажмите Alt и затемните сначала полностью весь слой, а затем затемните посильнее правую нижнюю часть:

 

Теперь Ctrl-кликните на затемнённом слое и выполните Select>Modify>Expand в появившемся окне введите 1, а  потом нажмите ОК. Активируйте фоновый слой и создайте слой через Layer via Copy. Возьмите инструмент Dodge Tool [], возьмите любую крупную кисть. Установите параметр Range на Highlights, а параметр Exposure на значение 100, нажатием клавиши 0. Теперь осветите правую нижнюю часть:

 

Дальше нажмите два раза Alt+], чтобы подняться на два слоя выше, загрузите выделение по этому слою (Ctrl-клик), уменьшите его на 1 пиксель (Select>Modify>Contract) и инвертируйте выделение (Ctrl+Shift+I). Возьмите инструмент Dodge Tool [], возьмите любую крупную кисть. Установите параметр Range на Highlights, а параметр Exposure на значение 100, нажатием клавиши 0. Теперь осветите левую верхнюю часть:

 

Теперь сделаем прорезь для отвёртки.

Возьмите инструмент Polygonal Lasso Tool [] и создайте следующее выделение:

 

Чтобы тянуть линию под ровными углами и углами в 45 градусов зажимайте Shift.

 

Возьмите инструмент Dodge Tool [], возьмите любую крупную кисть. Установите параметр Range на Midtones, а параметр Exposure на значение 50, нажатием клавиши 5. Теперь зажмите Alt и затемните весь слой. Поменяйте параметр Range на Highlights, скройте выделение (Ctrl+H) и по контуру прорези осветлите пиксели:

 

------------------------------------------------------------------------------------------------------------------

Примечание: Помимо того, чтобы рисовать линию вручную вы можете задавать начальную и последующие контрольные точки. Просто зажмите Shift, кликните один раз в произвольном месте изображения, затем, удерживая Shift кликните в другом месте, они соединятся ровной линией, вы можете продолжать рисовать линии, кликнув в третье место, оно будет соединено с предыдущим.

------------------------------------------------------------------------------------------------------------------

 

Дальше нужно добавить царапины:

 

Это вы уже умеете.

 

Идём дальше…

Сейчас попробуем нарисовать болтик с шарообразной головкой.

Итак, снова создайте круглое выделение небольших размеров в свободной части изображения, скопируйте выделение в отдельный слой через Layer Via Copy, выполните Image>Adjustments>Brightness\Contrast с параметром Brightness: +10.

 

 

Теперь возьмите Dodge Tool [], нажмите 0 на клавиатуре, Range: Highlights, теперь крупной кистью с мягкими краями затемните слой по контуру:

 

Теперь осветлите левую верхнюю часть и слегка затемните нижнюю правую:

 

Возьмите кисть поменьше и одиночными кликами нарисуйте блик на левой верхней части:

 

Теперь так же небольшой кистью мазком в виде полумесяца добавьте освещения на правую нижнюю часть, это называется отражённый свет:

 

Добавьте царапин.

Запомните, царапины лучше всего видно на освещённых участках, царапины хорошо подходят для изгибов цилиндров и так далее:

 

Теперь разрез для отвёртки.

Создайте овальное выделение с помощью Elliptical Marquee Tool []:

 

Выделение не должно быть слишком округлым, широким или длинным. Расположите его в центре болта. Теперь выполните Select>Transform Selection, появятся маркеры трансформации, отодвиньте мышь за края маркеров, чтобы курсор поменялся на курсор имитирующий вращение. Зажмите Shift, чтобы выполнять «шелчковые» преобразования (один щелчок равен 15 градусам) поверните выделение на 2 щелчка, как показано ниже и нажмите Enter:

 

Теперь нажмите Ctrl+H, чтобы скрыть выделение, оно нам будет только мешаться.

Выполните Image>Adjustments>Brightness\Contrast… с параметром Brightness: -10.

Возьмите маленькую кисть (например, пятую) с жёсткими краями и затемните выделение по верхнему правому краю, теперь нажмите 5 на клавиатуре и затемните правую нижнюю часть:

 

Возьмите пятую кисть с мягкими краями, нажмите на клавиатуре 0 и затемните область по центру выделения:

 

Ну а теперь можно немного поработать над зазубренными краями, для этого инвертируйте выделение (Ctrl+Shift+I) и просто поработайте над краями.

 

Идём дальше.

Сейчас будем делать изгибы.

Создайте прямоугольное выделение всю ширину изображения небольшой высоты с помощью Rectangular Marquee Tool []:

 

Скройте выделение (Ctrl+H) и выполните Image>Adjustments>Brightness\Contrast с параметром Brightness: +10. Теперь возьмите инструмент Dodge Tool [], нажмите 0 на клавиатуре, установите Range: на Highlights возьмите кисть небольших размеров с мягкими краями и затемните верхнюю и нижнюю части (сверху затемните кусочек поменьше):

 

Теперь возьмите кисточку поменьше и создайте освещённую область сверху, затем нажмите на клавиатуре 5 и создайте отражённый свет снизу:

 

Возьмите кисть ещё меньше и создайте блик на верхней освещённой части:

 

Наберите на клавиатуре 25, возьмите кисть размером в 1 пиксель и пройдитесь по освещённым кускам мелкими царапинами:

 

Нажимая на клавиатуре 5 и 0, создайте несколько более ярких царапин:

 

Ну а это создаётся тем же путём, только, рисуя, меняем местами верхнюю часть с нижней и делаем границы по краям:

 

Ну, на этом остановимся. Сохраните изображение.

Теперь попробуем применить эффект к нашему изображению.

Начнём, как всегда, с теории.

Что же такое эффект? Эффект – в моём понимании это искусственное свойство, которое делает так, чтобы вымышленный объект максимально походил на настоящий. Правильно ли я понимаю это слово не важно, главное для вас освоить то, что я называю эффектом.

 

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

 

Сейчас мы попытаемся повторить то, что вы видите на этой фотографии:

Фотография подвергалась корректировке и уменьшению…

Оригинал можно найти в приложенных файлах (файл tigerrec.jpg).

 

Что именно мы повторим? Выясним во время анализа.

Анализировать мы будем не только общие свойства материала (свойства данной стали), но и свойства деталей представленных на фотографии (например, царапины, износ и т.д.), чтобы вы понимали в будущем, как анализировать фотографии.

Приглядитесь к фотографии, какие цвета вы видите?

Прежде всего, эта сталь (а это именно сталь) в основном имеет бледно голубой, еле заметный, цвет. Но если вы приглядитесь, то можете заметить редкие хаотичные вкрапления других цветов: оранжевый (например, чуть ниже надписи tiger), зелёный (можно увидеть правее надписи tiger под затвором) и красный (луче всего видно слева, около буквы «П» под переводчиком огня, вдоль царапины).

Возможно, вам покажется, что таких цветов и нет вовсе - что я дурку с вами играю, нет-нет они там есть, просто чтобы их заметить, нужна некоторая практика и опыт, не переживайте если сейчас эти цвета для вас незаметны - со временем вы научитесь распознавать цвета.

Ещё есть один способ определить цвета – повышение насыщенности в фотошопе с помощью корректировки Hue\Saturation (Ctrl+U), для повышения насыщенности нужно увеличить параметр Saturation. Но я всё-таки рекомендую определять цвета с помощью собственных глаз, а не с помощью вычислительной техники, ибо она не всегда под рукой. А повышением насыщенности можно только себя проверять.

Ещё тонкий момент – заметность тех или иных цветов зависит от настроек вашего монитора, тут никаких советов дать не могу, ибо на разных мониторах картинка выглядит по-разному. Но я, покупая новый монитор, настраиваю его под те цвета, к которым я привык, например, у текущего монитора, на мой взгляд, избыток красного и зелёного, поэтому я понизил их содержание - привычки надо поддерживать, а не пытаться подавить, иначе возникает дискомфорт, а в нашем деле это вдвойне важно.

Анализируем дальше.

Очень часто мы не имеем доступ к самому материалу и работаем только с фотографиями. Без возможности определить свойства материала на ощупь, этот недостаток встаёт перед нами в новом свете, особенно если фотографии не удовлетворительного качества. Однако и на глаз можно многое определить. Что именно, мы сейчас увидим на конкретном примере.

Итак, как видно из фотографии материал почти новый, слегка зернистый, что указывает на его шероховатость, местами видны следы фрезеровки (эффект выточенной детали) в виде горизонтальных царапин, такие царапины оставляет резак станка на котором была изготовлена деталь. На краях видны яркие (почти белые) царапины, что говорит об износе (на краях и изгибах износ обычно заметен сильнее, потому что эти места чаще всего взаимодействуют с окружающими предметами и лучше всего отражают свет). Переводчик огня тоже оставил дугообразную царапину, в месте выхода фиксатора переводчика огня из углубления для фиксации царапина более широкая и больше похожа на белое пятнышко.

Местами можно заметить потёртость металла от пальцев, например, - более светлые области вокруг шурупа под переводчиком огня.

Обратите внимание, что винтовка лежит на столе, а довольно мощный источник света находится сверху, что заметно влияет на формы (углубления, выпуклости), а если учитывать, что в играх оружие находится в руках, а не лежит на столе, то источник света обязательно будет находиться в другом месте, не как на фотографии. Поэтому не ошибитесь при рисовании форм, не всегда их нужно переносить прямо с фотографии, ибо источник света, который вы выбрали для скина, не обязательно будет соответствовать источнику света на фотографии.

Предположительно источником света является вспышка фотоаппарата, этот источник света очень мощный, поэтому не стоит брать во внимание яркие блики, при рисовании скина.

 

На этом можно остановиться.

Теперь мы будем реализовывать свойства материала, мы не будем реализовывать именно эту деталь, мы будем делать только эффект самого материала (данной стали).

Создайте новое изображение размером 2048х2048 с прозрачным фоном:

 

Я же, буду работать с изображением 512х512.

Работать будем фрагментно, т.е. создавать отдельное изображение и делать в нём какой-то эффект, а в созданное выше изображение мы будем собирать все эти эффекты, в конечном итоге получив похожий материал.

 

Залейте изображение тёмно-серым цветом (alt+backspase):

 

Быстро набросайте источник света, тут он не имеет особого значения, этот слой мы всё равно потом удалим.

Создайте новый Set, нажав на кнопку Create New Set [] на палитре слоёв. Пока Set будет активен - все слои, которые мы будем создавать, будут оставаться внутри этого Seta, затем мы сможем применить этот Set к любому изображению.

 

------------------------------------------------------------------------------------------------------------------

Примечание: Вы можете класть слои внутрь Seta перетащив слой на название Seta, вы так же можете извлекать слой из Seta, перетащив слой за границы Seta. Сам же Set не делает никаких графических эффектов, он служит для группировки слоёв. Так же внутри Seta поддерживается та же иерархия, что и снаружи (верхние слои – на переднем плане, нижние слои – на заднем плане).

------------------------------------------------------------------------------------------------------------------

 

Сейчас создадим царапины, полученные после фрезеровки.

Создайте новое изображение размером 2200х2200 и залейте его 50% серым цветом:

 

Примените фильтр Filter>Noise>Add Noise… с параметрами Amount: 15, Gaussian, Monochromatic. Теперь примените фильтр Filter>Blur>Motion Blur… с параметрами Angle: 0, Distance: 65.

 

Теперь выполните Image>Canvas Size… в поля Width и Height введите 2048 и нажмите ОК. В появившемся окне нажмите proceed, теперь нажмите Ctrl+A, чтобы выделить всю рабочую область и выберите Image>Crop, чтобы обрезать всё, что находится за краями (после уменьшения с помощью Canvas Size за границей остаётся часть изображения).

Примените фильтр Filter>Sharpen>Sharpen три раза (Ctrl+F, чтобы повторить последний фильтр).

Возьмите инструмент Move Tool [] (M) и перетащите этот слой на основное изображение (которое мы создавали первым), сделайте так, чтобы оно было по центру, т.е. закрывало собой всё изображение:

 

 

Мы получили полосчатую текстуру.

 

Прежде чем продолжить нужно порассуждать - провести очередной анализ.

Итак, вернёмся к фотографии:

 

Обратим внимание на то, как интенсивно и часто расположены царапины от фрезеровки.

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

Я специально не рассказывал обо всём этом во время первого анализа, ведь если вы провели анализ один раз, то это не повод забыть о фотографии. Помните, что вы можете вернуться к анализу фотографии в любой момент, чтобы почерпнуть ещё знаний, старайтесь это делать как можно чаще, так результат будет наиболее надёжным и гарантированным.

 

Ну а теперь продолжим.

Снова создайте новое изображение размером 2048x2048 с прозрачным фоном, нажмите D на клавиатуре, чтобы сбросить цвета. Выполните Image>Image Size переключитесь на проценты и установите значение Width и Height на 400 процентов. Примените фильтр Filter>Render>Clouds, выполните Image>Image Sizeустановите параметры Width и Height обратно на 2048 и нажмите ОК. Теперь нажмите Ctrl+A, чтобы выделить всю рабочую область изображения и нажмите Ctrl+C, чтобы скопировать её в буфер обмена. Вернитесь к основному изображению и там перейдите на палитре слоёв во вкладу Channels:

 

Нажмите на кнопке Create New Channel [], чтобы создать новый канал, нажмите Ctrl+V, чтобы вставить изображение из буфера, теперь Ctrl-кликните на канале Alpha 1, чтобы загрузить по нему выделение и удалите этот канал нажатием на кнопку Delete current Channel []. Вернитесь на палитре слоёв во вкладку Layers, сделайте активным верхний слой (с полосчатой текстурой) и нажмите на кнопке Add Layer Mask [], чтобы создать маску для выбранного слоя. Маска – это, примерно, то же самое, что и альфа-канал. Выполните Image>Adjustments>Brightness\Contrastс параметром Contrast: +50. Теперь установите режим наложения на Overlay:

 

------------------------------------------------------------------------------------------------------------------

Примечание: Если после Ctrl-клика по каналу появилось вот такое окно:

…не пугайтесь! Просто программа сообщает, что выделение очень слабое и нет пикселей, которые были бы выделены больше чем на 50% своего размера, т.к. программа не умеет показывать выделение в полпикселя.

------------------------------------------------------------------------------------------------------------------

 

Установите параметр Opacity для данного слоя на 50%:

 

Результат:

 

Видите маленькие полоски? Готово!

Теперь создадим шероховатость.

Но, прежде всего, нужен очередной анализ.

Фотография:

 

Что мы видим?

А видим мы то, что шероховатость равномерная и идёт по всему материалу, внешне она  напоминает «шум», что говорит о соответствующем фильтре (Noise), так же, если вы приглядитесь, то увидите, что шум делится на два – размытый и, внутри него, чёткий. Другие выводы мы не сделаем, да они и не нужны, так что анализ завершаем. Теперь будем имитировать шероховатость, используя полученные знания.

 

------------------------------------------------------------------------------------------------------------------

Примечание: 50% серый при использовании режима наложения Overlay почти не создаёт лишних тонов, т.е. не изменяет освещённость текстуры, благодаря чему можно добавлять новые детали, используя 50% серую бесцветную фото-текстуру в качестве заливки, без риска изменить тона нижних слоёв.

------------------------------------------------------------------------------------------------------------------

 

Создайте новый слой и залейте его 50% серым.

Примените фильтр Filter>Noise>Add Noise с параметрами Amount: 15, Gaussian, Monochromatic, теперь примените фильтр Filter>Blur>Gaussian Blur c параметром Radius: 1, а теперь снова примените фильтр Filter>Noise>Add Noise но уже  с параметром Amount: 5. Теперь дважды примените фильтр Sharpen, установите режим наложения на Overlay, а потом установите параметр Opacity на 25:

 

Теперь сложнее…

Будем работать с цветом.

На первом анализе мы уже выяснили, какие цвета есть на фотографии, это: Синий  (основной), зелёный, красный и оранжевый. Последние три цвета расположены на текстуре редкими вкраплениями, это означает, что мы снова прибегнем к маскам и фильтру Clouds. Синий цвет не равномерный, где-то его больше где-то меньше, однако текстура определённо бледно-синего цвета. Больше сказать нечего, давайте приступать.

 

Снова создайте новое изображение размерами 2048х2048 с прозрачным фоном.

Нам придётся часто повторять ниже написанные действия, поэтому мы запишем «действие» (Action). На палитре History перейдите во вкладку Actions:

 

И нажмите там на кнопке Create new Set [], назовите его My Actions.

Теперь нажмите на кнопке Create new action [], чтобы создать новое действие. В появившемся окне в поле Name введите Clouds Mask, Function Key установите на F2, чтобы иметь возможность запуска действия по нажатию быстрой клавиши (в нашем случае – F2), ниже, в разделе Color, вы можете выбрать цвет, как закончите – жмите кнопку Record, запись автоматически начнётся, она будет записывать каждое действие. Запомните – при записи действия нельзя придерживаться конкретных свойств изображения, с которым вы работаете, они должны быть общими для любого изображения.

 

Приступим к записи.

С помощью пункта Image>Image Size увеличьте изображение до 800 процентов.

Нажмите D на клавиатуре и выполните Filter>Render>Clouds.

Теперь с помощью пункта Image>Image Size уменьшите изображение до 12,5 процентов и выполните Filter>Render>Difference Clouds. Выполните Image>Adjustments>Brightness\Contrastс параметром Contrast: +50.

Полученное изображение имеет мелкий рисунок, но не редкий, т.е. для этой маски нам тоже нужно тоже использовать маску. Сделаем это. Нажмите на кнопке Add Layer Mask [], чтобы создать маску и выполните Filter>Render>Clouds, а потом Filter>Render>Difference Clouds. Теперь Image>Adjustments>Brightness\Contrastс параметром Contrast: +50. Зажмите Ctrl и нажмите на кнопке Create New Layer [] на палитре слоёв, таким образом, вы создадите слой под текущим слоём. Залейте этот слой чёрным (Alt+Backspace) и один раз нажмите Ctrl+], чтобы подняться на 1 слой выше. Теперь нажмите Ctrl+E, чтобы склеить выбранный слой с тем, что находится под ним.

Всё, получили нужную маску, остались последние штрихи.

Нажмите Ctrl+A, чтобы выделить всю рабочую область и нажмите Ctrl+C, чтобы скопировать содержимое в буфер обмена и Ctrl+D, чтобы снять выделение. На этом запись можно остановить, нажатием на кнопке Stop Playing\Recording []. Не бойтесь - закрывайте изображение…

Теперь вам нужно будет только создать новое изображение любых размеров (но помните, мы сейчас работаем только с 2048х2048, просто наше действие поддерживает изображение любых размеров), нажать F2 для воспроизведения и дождаться выполнения, попробуйте. Здорово, правда?

 

Вы ещё можете добавить в начало и конец создание нового изображения и его закрытие соответственно, но мне кажется это не очень удобно и как-то не надёжно, если программа сама будет создавать и закрывать изображения.

 

Примерно так выглядит результат:

 

Вернёмся к нашим баранам.

Вернитесь во вкладку History, на палитре History, чтобы случайно не отредактировать или удалить какое-то действие. Переключитесь на основное изображение и сразу перейдите во вкладку Channels на палитре слоёв:

 

Создайте новый канал нажатием на кнопке Create New Channel [], теперь нажмите Ctrl+V, чтобы вставить изображение из буфера и Ctrl-кликните на канале Alpha 1, чтобы загрузить по нему выделение и удалите этот канал нажатием на кнопку Delete current Channel []. На палитре слоёв вернитесь во вкладку Layers и сделайте активным верхний слой, не снимайте выделение.

 

Внимание, теперь мы будем раскрашивать нашу текстуру, используя цветовые коррекции.

 

Поехали. Нажмите на кнопке Create new fill or adjustments layer [] на палитре слоёв, из выпавшего списка выберите Color Balance и настройте:

 

С оранжевым разобрались.

Идём дальше. Создайте новое изображение 2048х2048 с прозрачным фоном и нажмите F2.

Вернитесь на основное изображение и сразу перейдите во вкладку Channels на палитре слоёв:

 

Создайте новый канал нажатием на кнопке Create New Channel [], теперь нажмите Ctrl+V, чтобы вставить изображение из буфера и Ctrl-кликните на канале Alpha 1, чтобы загрузить по нему выделение и удалите этот канал нажатием на кнопку Delete current Channel []. На палитре слоёв вернитесь во вкладку Layers и сделайте активным верхний слой (у нас это корректировка Color Balance).

 

Нажмите на кнопке Create new fill or adjustments layer [] на палитре слоёв, из выпавшего списка выберите Color Balance и настройте:

 

С красным разобрались. Разберёмся с зелёным, его у нас меньше всего и его труднее всего заметить.

 

Мы это два раза уже делали, так что повторите всё самостоятельно. Но тут есть небольшой момент – нужно чтобы на маске не было ярких (белых) тонов, если они у вас есть, то приглушите их используя Brightness\Contrast, понизив значение параметра Contrast. Настойки для Color Balance следующие:

 

И финальные штрихи с синим цветом.

Не создавая никаких масок, нажмите на кнопке Create new fill or adjustments layer [] на палитре слоёв, из выпавшего списка выберите Color Balance и настройте:

 

Снова не создавая никаких масок, нажмите на кнопке Create new fill or adjustments layer [] на палитре слоёв, из выпавшего списка выберите Color Balance и, не настраивая, нажмите ОК. Выполните Filter>Render>Clouds и сразу же Image>Adjustments>Brightness\Contrast… с параметром Contrast: +50. Теперь дважды кликните по изображению Color Balance [] на последнем слое-корректировке, чтобы загрузить настройки, настройте:

 

Этот шаг не обязателен и иногда даже не желателен, но всё же:

Теперь выполните Image>Image Size с параметрами:

 

Таким образом, мы получим более похожий на фотографию рисунок.

Но нужно вернуть исходный размер изображения. Выполните Image>Canvas Size с параметрами Width и Height установленными на значение 2048, теперь Ctrl+A и Image>Crop.

 

Готово:

Я нижний слой сделал посветлее, чтобы вам лучше видно было

Сравните с фотографией:

 

Можно сказать, что это точная копия, разве что контраста не хватает, но эту задачу надо решать при рисовании скина, а мы только эффект делали.

 

Попрактикуемся в использовании.

Сверните Set, нажав на синюю стрелку слева от его пиктограммы:

 

Теперь загрузите изображение, в котором мы рисовали впадины, выпуклости, болтики и т.д. Вернитесь на изображение с эффектом, возьмите инструмент Move Tool [], на палите слоёв схватите мышкой Set и перетащите его на изображение, в котором мы практиковались, а потом в иерархии слоёв поместите его на самый верх, результат:

 

Как видите применить эффект просто, а вот избавиться от него иногда не так-то просто.

Но нам помогут маски, видите ли, мы можем применить ко всему Set’у одну маску.

Давайте попробуем, Ctrl-кликните на одном из слоёв содержащий форму (болтик, шуруп, впадину и т.д.) сделайте активным Set и создайте маску, нажатием на кнопке Add Layer Mask [], теперь нажмите Ctrl+I, чтобы инвертировать цвета. Поздравляю, мы исключили из эффекта выделенное, у меня это было шарообразное выделение:

 

Ну вот и всё…

Я рекомендую продолжить работу, например наложить эффект цветного шума (металл и кожа иногда так поблескивают на солнце) и применить вдобавок эффект выточенной детали, который мы уже рассматривали в одном из туториалов ранее, однако мы тут остановимся.

Вышло определённо не шедевриально  - это потому что эффект лучше всего не применять на готовый скин, а сразу рисовать под него, чтобы было легче подстроиться.

 

Это далеко не всё, что я знаю и умею, просто, если писать обо всём – у меня жизни не хватит. Но зато теперь вы знаете основные принципы рисования стальных скинов для моделей оружия. Прогулявшись по ссылкам, приведённым в конце этого раздела, вы улучшите свои умения и научитесь рисовать текстуры для любых моделей, если конечно есть желание, без него вы можете смело закрыть этот учебник и забыть о prop-моделировании навсегда.

 

Сейчас мы разберём быстрый способ нарисовать деревянный рисунок на текстуре.

Создайте новое RGB-изображение размером 512х512 с прозрачным фоном и залейте его (Alt+Backspace) любым коричневым цветом. Это будет наше основное изображение.

Теперь загрузите в фотошоп любую деревянную затайленную фото-текстуру пола или стены, главное чтобы она состояла из досок:

Обращаю ваше внимание, что эта текстура принадлежит нам, будьте честны, - не пытайтесь очищать её от копирайтов и использовать в своих целях.

 

Выделите всю рабочую область (Ctrl+A), скопируйте (Ctrl+C) и вставьте (Ctrl+V) текстуру в основное изображение.

Если на текстуре доски горизонтальны, как у меня, то выделите всю рабочую область (Ctrl+A) и выполните Edit>Transform>Rotate 90° CW. Доски должны быть выложены вертикально! Нажмите Ctrl+Shift+U, чтобы обесцветить текстуру. Теперь зажмите Ctrl и на палитре слоёв кликните на кнопке Create New Layer [], чтобы создать слой под текущим. Залейте его 50% серым, теперь нажмите Alt+], чтобы подняться на слой выше. Возьмите инструмент Move Tool [], зажмите Shift и передвиньте слой с текстурой вниз примерно на половину, так чтобы видеть 50% серый слой:

 

Теперь выполните Image>Adjustments>Brightness\Contrast….

Ваша задача – двигать бегунки до тех пор, пока слой с текстурой не примет тона 50% серого слоя.

 

Так создаются бесцветные «детальные» заливки, позволяющие в два клика добавить детали на текстуру.

Возьмите инструмент Move Tool [], зажмите Shift и передвиньте слой с текстурой обратно на место. Выполните Filter>Distort>Shear в появившемся окне настройте кривую примерно вот так:

 

Чтобы сохранить тайлинг, нужно придерживаться двух правил:

 

Нажмите ОК, результат:

 

Выполните Edit>Define Pattern чтобы положить полученную текстуру в свою библиотеку заливок, потом, когда захотите применить этот эффект, просто выбирайте Edit>Fill устанавливайте Use: на Pattern, выбирайте нужную заливку и жмите ОК.

Вернёмся к нашему изображению, удалите 50% серый слой и установите режим наложения для текстуры с деревянным рисунком на Overlay:

 

Текстура сохраняет свои свойства тайлинга.

Используя этот метод я рисовал скин для АК74:

 

Дополнительные сведения:

В этом разделе представлены сведения, которым не нашлось места в основном тексте, они скорее предназначены для отдельных учебников…

Но всё же я решил опубликовать их тут.

 

Нормальный, такой маппинг!

 

Я думаю, современному читателю не надо рассказывать, что такое Normal Mapping.

Поэтому перейду к чему-то более существенному.

Немного предыстории и теории.

Я уже пол года как ищу ответ на вопрос: «в чём же секрет Valve? Как они из таких вот текстур:

 

Получают вот такие нармал карты:

 

На 3D рендер совсем не похоже (слишком нечёткие переходы) - это даёт мне повод судить, что эта нормал карта получена из 2-хмерного изображения. Нарисовать такое вручную определённо невозможно, слишком много цветовых переходов, значит, есть какой-то способ!

А в чём проблема? Возьми да и примени Normal Map Plug-In от NVIDIA! – скажете вы, но я вам отвечу, что в лучшем случае нормал карта будет выглядеть вот так:

 

Не тот результат, которого хотелось бы, верно? Слишком плоско. О плугине мы ещё с вами поговорим, как и о ручном создании нормал карты.

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

Вот так плавно мы переходим к теоретической части.

Итак, начнём мы с того, что попробуем разобраться, что же представляет из себя Normal карта и почему она именно такая.

 

Результаты исследования нормал карты.

Как вы, наверное, уже знаете, любое изображение можно представить в виде 24-битного RGB изображения состоящего из трёх 8-ми битных каналов: красного, зелёного и голубого. Каждый канал выглядит как чёрно-белое изображение, где чёрный – минимум содержания цвета, максимум контраста и минимум яркости, белый – максимум содержания цвета, минимум контраста и максимум яркости. Эти вещи придумывали гении, так что не стоит смотреть на RGB свысока. С помощью всего лишь трёх цветов можно представить на экране абсолютно любое изображение, которое способен различить человек.

Давайте посмотрим, как выглядят каналы у нормал карты:

 

Как видите слева у нас нормал карта, она является результатом смешивания трёх каналов (Red, Green, Blue). Но нас интересует не сама нормал карта, а каждый канал по отдельности. Обратите внимание, как выглядят каналы, вы должны заметить, что красный канал содержит горизонтальный рельеф, зелёный канал содержит вертикальный рельеф, а синий канал представляет собой канал насыщенности синего, т.е. это высота отдельных мест. Теперь вы знаете, какой цвет имеет каждая выпуклость: горизонтальные – красный, вертикальные – зелёный, высота – синий.

 

Эти знания слегка помогают при создании нормал карты, однако, как, к сожалению, показывает опыт - они практически бесполезны.

 

Результаты исследования Normal Map фильтра от NVIDIA.

 

То, что этим фильтром сделать что-то вразумительное просто нереально, понимаешь с первых же секунд, стоит только сравнить результат с нормал картами сделанными в Valve.

В чём проблема этого фильтра?

Проблема в том, что он совершенно не понимает градиенты, ему подавай карандашные линии толщиной в 1-2 пикселя. Вот посмотрите, что делается:

 

Как видите, картинка абсолютно плоская, выдавились только критические точки (т.е. точки переходов), когда результат должен был выглядеть вот так:

 

Эту я создал вручную, с помощью градиентных заливок.

Данный фильтр лучше всего понимает переходы между тонами толщиной в 1-2 пикселя.

Не верите? Смотрите сами:

 

Вывод напрашивается сам: данный фильтр нельзя использовать, как самостоятельный инструмент для создания нормал карт, скорее он предназначен для небольших корректировок или максимум пошаговых созданий нормал карт, итоговый вариант из одной картинки мне никогда не удавалось получить этим фильтром, а результат такой же качественный, как у Valve ни разу не получал, а о том, чтобы получить что-то ещё лучше и речи быть не может.

 

Ручное создание нормал карт.

 

Этот способ случайно пришёл мне в голову буквально несколько дней назад. Я его сам ещё недостаточно изучил и он, по-моему, ничем не лучше фильтра от NVIDIA, а описываю его я только для общего ознакомления. Данный способ практически полностью повторяет работу фильтра, если вы его получше изучите, то поймёте, почему фильтр настолько неэффективен.

Этот материал ориентирован на опытного пользователя.

Итак.

Загрузите в фотошоп любую текстуру, я буду использовать валвовскую rockwall015a, которую я уже демонстрировал выше.

Перейдите во вкладку Channels на палитре слоёв и сделайте активным красный канал, он у нас отвечает за горизонтальный рельеф.

Примените к каналу фильтр Filter>Stylize>Emboss с параметрами Angle: 0, Height: 2 (данный параметр лучше всего работает при значениях 1 или 2, если установить больше, то результат выходит смазанным), Amount настройте на глаз.

 

Активируйте зелёный канал. Примените фильтр Filter>Stylize>Embossс  теми же параметрами, только параметр Angle установите на значение 90.

 

Активируйте синий канал и выполните Image>Adjustments>Brightness\Contrast, уменьшите контраст картинки примерно до такого уровня:

 

Нам нужна минимальная контрастность картинки.

Теперь примените фильтр Filter>Find Edges. Активируйте все три канала и наслаждайтесь результатом:

 

Теперь вам нужно применить фильтр от NVIDIA, установив там флажок напортив  Normalize only. Как видите всё так же плоско.

 

Ну а вот что мы получим, если увеличим у фильтра Emboss значение параметра Height:

 

Тут я применил значение Height: 14.

 

С помощью долгих прыжков с бубном, цвето-коррекций, настроек контраста, создания альфа-каналов и так далее, всё примерно заняло у меня около 3-х часов, я смог получить только такой бамп:

 

Результат на двойку, а времени ушло немеренно. Истина где-то рядом – это я знаю точно, я найду ответ и вальва не скроет свои секреты, вот тогда и начнётся нормальный маппинг!

Спасибо за внимание.

 

Ну а теперь даю слово Uraran_Lex’у.

В своём разделе «Материалы и текстуры металлов на движке Source» Лекс расскажет теорию о том, как получить различные фактуры (в основном металл) и о том, как сымитировать их способность отражать окружающую обстановку. Данные сведения полезны в основном для тех, кто уже имеет некоторый опыт работы с Source.

Итак, Лекс, прошу...

 

Материалы и текстуры металлов на движке Source.

 

Как сделать текстуру (покрытую ей поверхность) реалистичной? Ответ прост – в реальном мире мы видим предмет и понимаем что он из такого-то материала потому, что его поверхность характерно взаимодействуют со светом и специфично его отражает. Создайте текстуру, которая так же отражает и искажает свет – и текстура станет восприниматься как реальный материал. Это же правило применимо к ЛЮБОЙ поверхности – дерево, пластик, камень, вода и т.д. Каждый тип поверхности по-своему характерно ведет себя при освещении. Это складывается из: характерных следов обработки человеком или природой, рельефа, цвета(-ов), силы отражения, прозрачности и характерных изменений вышеперечисленных признаков при старении материала . Рассмотрите тот материал, который собираетесь делать максимально близко, увидьте его рельеф, мельчайшие трещины и неровности. Изучите фотографии материала, если его нет в радиусе поражения. Посмотрите, как в нем отражается окружающее, какие цвета в нем есть. Почти все фотки, что я юзал в этой статье я нашел через google.com:

 

 

Что вам понадобиться знать для создания реалистичных металлов:

1) Знать о том, что в свойствах переменной «env_cubemap» в хаммере можно выставить размер кубмапы от 1х1 пикселя до 256х256 пикселей. Также знать, что в свойствах любой env_cubemap можно сделать привязку к нужному брашу, при том, что сам кубмап может находиться на любом расстоянии от браша.  Само собой -  выполнять команду buildcubemaps при старте карты.

2) VMT-файл текстуры может содержать дополнительные переменные, управляющие тем, как в этой текстуре будет отражаться env_cubemap. Итак:

 

"$envmapcontrast"  «число»

Управляет яркостью (не контрастом!) отражаемого. Отрицательные значения усиливают яркость, а положительные уменьшают её (вплоть до черного при значении 5.9). Эта переменная может иметь значения от  «-8.9» до «8.9»(наверно может и больше, но не проверял),  но не должна быть равной «-1.0», «0.0» и «1.0» - при этих трех значениях вторая переменная "$envmapsaturation" (см. ниже) не работает. Исходное значение «0.01» соответствует нормальной яркости отражаемого.

 

"$envmapsaturation" «число»

Управляет насыщенностью цвета отражений, со своими тонкостями:

Не должно быть равно «-1»  и  «1» - при этих значениях отрубается переменная "$envmapcontrast".

Таблица значений "$envmapsaturation":

От 1.01 до 3

– завал в теплые цвета + усиление насыщенности цветов.

 

1.01 или 0.99

– нормальный цвет отражения,  это точка отсчета для наших изменений. Ничего не меняет.

 

От 0.0 до 0.99

 

0.0 – полностью обесцвеченное (ч.б.), 0.99 –нормальное. Все что между ними – соответственно степень бесцветности.

От 0.0 до -0.99

 

0.0 – полностью обесцвеченное, а -0.99 (минус 0.99) – нормальное, но заваленное в холодные цвета.

От 1.01 до -3

- завал в холодные цвета + усиление насыщенности цветов.

 

ВНИМАНИЕ! Эти переменные не работают по отдельности. Для того, чтобы работала хоть одна из них – нужно, чтобы в vmt-файле была и другая! Бред, но что есть – то есть и эти две переменные нам очень понадобятся.

3)Уметь делать руками (с нуля) карты высот normal map с помощью фильтра от NVIDIA для Photoshop.

Пример: создаем картинку размером 512х512 пикселей и заливаем её  цветом 128 128 128 (50% серый цвет)– это будет значить «ровная поверхность» для Normal Map Filter. А все что темнее его – будет впадинами (царапинами), все, что светлее его – выпуклостями, рельефом. Соответственно чисто черный цвет  – будет самым глубоким, а чисто белый  – будет самый выпуклый:

 

 

Еще замечу: чтобы царапины на металле были четкими и резкими (на приведенном рисунке внизу на кубе видно, что они стали здоровыми вмятинами, а не царапинами) нужно делать так: создаем в четыре раза больший по размеру файл, чем надо (т.е. 2048х2048, если нужно 512х512), заливаем его серым, рисуем черным царапины, преобразуем в нормал мап и только потом уменьшаем до 512х512. Тогда все будет достаточно резким. Также можно  рисовать кистью с пиксельно-резкими краями (1-пиксельный карандаш) и брать не черный а более светлый цвет – эти царапины будут не такими глубокими, зато и края у них будут резкими.

 

Алюминий.

Светло-серый мягкий металл, обычно не окрашен т.к. устойчив к коррозии, поверхность слегка шершавая (микроцарапины). Отражающая способность типичного предмета из алюминия ~25%, характерные черты отражаемого: все размыто и не четко, темные участки становяться светлее, цвета тускнеют (в них добавляеться собственный светло-серый цвет алюминия при отражении). Один из самых сложных металлов при текстурировании. Референсные фото:

Простейший алюминий: просто затайтленная фотография алюминиевой поверхности, характерного цвета и рельефа. Но понять что это алюминий можно, только если эта текстура наложена на характерный для алюминия предмет типа кастрюльки. Сделаем  базовую текстуру:

 

 

Рекомендации при сохранении текстуры из обычного формата в VTF:  рекомендую потом наглядно сравнить исходный файл алюминия и полученный VTF: у меня он заваливался в зеленый оттенок, хотя исходный файл – чисто серый (обесцвеченный), причем повторяемость этого глюка стабильная – лечиться он конвертацией в VTF опцией «no compress», но и весит текстура ого-го.

 

Чтобы добиться большей реалистичности алюминия попытаемся эмулировать слабые размытые отражения  в нем  с помощью шаманств над cubemap-ами.

 

Во-первых, подключим и настроим кубмапы в VMT файле алюминия:

 

"LightmappedGeneric"

{

"$basetexture" "metalls/al"

"$surfaceprop" "metal"

"$envmap" "env_cubemap" //подключаем отражения кубмапа.

"$envmaptint" "[.25 .25 .25]"  // задаем силу отражения 25% для всех трех цветов (RGB).

"$envmapcontrast" "-0.5" //увеличим яркость отражений

"$envmapsaturation" "0.4" //уменьшим до 40% цветность отражений.

}

Во-вторых – уменьшим в фотошопе яркость исходной текстуры алюминия до вот такой:

Для чего: метод наложения отражений кубмапов в игре таков: к яркости самой текстуры добавляется яркость отражаемого. Т.е. наш кусок алюминия будет на 25-40% ярче, чем должен – ослепительно яркий белый куб. Вообще будьте готовы подгонять, таким образом, все текстуры металлов на вашей карте, ибо дело довольно тонкое.

 

В-третьих – размытые отражения. Делаются путем указания в параметрах ближайшей к нашему брашу env_cubemap разрешения 32х32 или даже 16х16. Соответственно получаем мутные и не четкие отражения – то что надо! Редкий случай, когда, уменьшая, получаешь что-то большее J.

Вот, некий минимум шаманства мы сделали, полученный результат примерно такой:

Не плохо. Но можно и лучше. Делаем четвертый шаг:

    

На металле типа алюминия  нужны царапины или надписи (а надписи на металлах обычно штампуют, т.е. выдавливают). Сделаем normal map с царапинами и буквами, только размера раза в два больше, чем сама текстура алюминия (к текстуре алюминия 512х512 пришлось подключать карту высот 1024х1024), иначе царапины будут слишком «мягкие», расплывчатые - каких не бывает на металле. Нужна резкость и четкость границ царапин, вот для образца фрагмент использованной мной normal map:

Подключаем наш Normal map в VMT алюминия:

"LightmappedGeneric"

{

"$basetexture" "metalls/mediumal"

"$bumpmap" "metalls/metal_normal"

"$surfaceprop" "metal"

"$envmap" "env_cubemap"

"$envmaptint" "[.25 .25 .25]"

"$envmapcontrast" "-0.5"

"$envmapsaturation" "0.4"

}

И получаем вот что:

 

Вот, уже весьма приятный кубик, при большинстве ракурсов, во всяком случае, он смотрится как алюминиевый.

 

Медь

Красно-оранжевый мягкий металл, обычно не окрашен т.к. устойчив к коррозии и имеет весьма красивый и узнаваемый цвет (первое время), поверхность слегка шершавая (микро-царапины). Отражающая способность типичного предмета из меди в пределах ~10%, характерные черты отражаемого: видны только самые яркие окружающие предметы (источники света особенно), но если вглядеться, то видны мутные пятна окружающих предметов, все отражаемое окрашивается в красно-коричневый цвет меди. Если же медь отполирована – отражающая способность процентов под 45, но такое встречается реже (хотя и весьма красиво). Референсные фото:

 

Сделаем сначала отполированную, отражающую медную поверхность:

Базовая текстура (тут нам важен только узнаваемый цвет; яркость я подбирал руками):

Далее, в хаммере прикрутим к нашему медному объекту env_cubemap с разрешением 256х256 т.к. в полированной меди отражения четкие. Потом в игре для успешного выполнения команды buildcubemaps при таких больших кубмапах нужно ставить разрешение экрана от 1280х1024 и выше (не менее 1024 по меньшей стороне)).

 

Создаем VMT меди:

"LightmappedGeneric"

{

"$basetexture" " metalls/cu"

"$bumpmap" " metalls/cu_normal" //в принципе тут нормал карта не нужна вовсе – поверхность то гладкая. Но у меня там была надпись «медь J» для прикола. Но если есть возможность – то лучше без карты высот, фпс выше будет.

"$surfaceprop" "metal"

"$envmap" "env_cubemap"

"$envmaptint" "[.99 .55 .35]" //вся фишка создания меди - в параметрах отражения: делаем приоритет отражения для красного цвета (.99). Т.е. отражения будут окрашиваться в красный цвет – что и делает медь похожей на медь. Откуда я взял цифры .99 .55 .35 ? А это в пропорциях  повторяет приблизительный цвет меди в RGB – 241 129 83. Если же этого не сделать – поставить .6 .6 .6 допустим – то отражения будут меньше окрашены в цвет меди – не так похоже, хотя тоже не плохо.

}

Как это все выглядит в игре:

 

Теперь сделаем другую медную поверхность – матовую, но еще не коричневую, все еще слабо отражающую. Текстура меди будет опять однотонной (хотя желательно её разбавить некоторыми вариациями цвета, применив фильтр «clouds» (облака) в фотошопе с нужными цветами.  Справа маленький фрагмент(256х256) карты высот для царапанной меди (полный размер – 1024х1024):

              

 

В хаммере делаем рядом с нашим медным брашем кубмап с низким (32х32) разрешением.

VMT нашей текстуры:

"LightmappedGeneric"

{

"$basetexture" " metalls/cu"

"$bumpmap" " metalls/cu_normal2" //подключил нормаль с кучей царапин

"$surfaceprop" "metal"

"$envmap" "env_cubemap"

"$envmaptint" "[.1 .055 .035]" //уменьшаем силу отражения до 10%, сохраняя пропорции отражения с завалом в красный.

"$envmapsaturation" 0.99 //как я уже писал, «0.99» ничего не меняет, но нужно, чтобы работала переменная $envmapcontrast

"$envmapcontrast" -8.9 //подобрал на глаз, экспериментально – чтобы при 10% силе отражения было хоть что-то видно.

}

В игре это будет выглядеть вот так:

Возможно, тут не хватает немного желтого.

 

Хром

Светло-серо-голубой металл, очень твердый (мало царапается) и устойчивый к коррозии. Встречается в основном в химически нанесенном виде на сталь и другие металлы. В отполированном состоянии (а также нанесенный гальванически на ровную поверхность) хром имеет отражающую способность порядка 60-65% при этом своего собственного серого цвета в отражаемое вносит мало. Референсные картинки:

 

 

Создаем темно-серую текстуру заливкой цветом RGB 0 0 0 (абсолютно черную). Это избавит нас от хлопот по подгонке яркости текстуры под разную освещенность на карте – черный он всегда черный (Source не изменяет яркость абсолютно черных текстур – при любой яркости освещения черный останется черным).

    

В хаммере, рядом с хромированным брашем, ставим кубмап с высоким (256х256) разрешением, т.к. нам нужны четкие отражения. Четкие отражения, однако, будут смотреться не очень хорошо – щас увидите почему.

 

Создаем VMT хрома (параметры я подбирал на глаз):

"LightmappedGeneric"

{

"$basetexture" " metalls/cr"

"$surfaceprop" "metal"

"$envmap" "env_cubemap"

"$envmaptint" "[.81 .81 .83]" //задаем отражение 81% (с небольшим завалом в синий цвет – 83%).

"$envmapsaturation" 0.9 //обесцветим картинку на 1/10, ибо не зеркало. 

"$envmapcontrast" -0.8 //т.к. у нас отражение 81% а текстура то черная – отражение получается темным (добавляется 19% черного). Задираем яркость отражения и все в порядке.

}

 

Вот теперь смотрите, как это выглядит в игре (я специально сделал маленький «хромированный» браш, потому как на большом очень хорошо видно, что кубымапы всего 256х256 пикселей – все пиксельно. Не делайте больших плоских хроммированных поверхностей, кривости лезут):

 

Не очень похоже на тот хром, что мы видели на фотках. Тогда применим «Smoothing groups» - группы сглаживания (что это такое и зачем нужно вы можете узнать здесь)

 

Как их применить к брашу? См. скриншот из хаммера:

 

В игре теперь наш кубик-браш  выглядит вот так (больше похоже на хром, не так ли?):

Физически грани у нашего кубика остались на месте – просто отражения накладываються так, что создаеться илллюзия гладкой поверхности, как будто это шар, а не куб. Вот так работают группы сглаживания с кубмапами.

 

Золото.

Тяжелый(~2.7 раз тяжелей железа) и мягкий металл (легко царапается, но обычно его не лапают J). Будучи отполированным, может сохранять свой блеск и отражающую способность тысячелетиями – не окисляется и не тускнеет. Основные признаки золота: желтый цвет (который надо делать довольно точно), блики (как и у всех металлов), «дорогой» вид у предметов – монеты, кубки, статуэтки. В мире до фига желтых сплавов, похожих на золото – по этому сам предмет должен указывать на дороговизну. Отражающая способность – условно 30%, все отражаемое сильно окрашено в желтый цвет. Референсные фото:

 

 

Текстура, как и в случае полированной меди, будет простая (применен фильтр Clouds(облака) в фотошопе с небольшим разбросом цветов. Цвета брал с фоток, но яркость подгонял под свою карту (пришлось сильно уменьшить яркость).

  

 

В хаммере ставим рядом кубмап с высоким (256х256) разрешением т.к. нужны четкие отражения. Желательно все стороны нашего «золотого» браша объединить в одну smooth group.

 

Создаем VMT полированного золота:

"LightmappedGeneric"

{

"$basetexture" "metalls/au"

"$surfaceprop" "metal"

"$envmap" "env_cubemap"

"$envmaptint" "[.79 .63 .24]" //также как и с полированной медью – делаем отражения окрашенными(приоритеты отражения красного и зеленого), используя соотношение RGB среднего цвета золота. Сила отражений подбиралась «на глаз».

"$envmapcontrast" "-1.99" //параметр яркости отражений подбирался «на глаз»

"$envmapsaturation" "0.99" //ничего не меняет, нужно для работоспособности "$envmapcontrast"

}

 

Как наше золотишко выглядит в игре:

 

Серебро.

От алюминия отличается не многим – оно в несколько раз тяжелей, имеет темно-серый собственный цвет  и большую отражающую способность в отполированном состоянии– 95% (большинство зеркал в быту сделаны из серебра). В виду того, что само по себе серебро темное – оно вносит мало своего собственного цвета в отражаемое (хотя как видно на референсных фотах – матовая (шершавая) поверхность имеет темно-серый металлический цвет и множество царапин (серебро мягкое, да и его сплавы тоже не сталь)):

 

 

Методы создания матового серебра аналогичны созданию алюминия – только надо делать текстуру еще темней, отражения контрастней и не делать следов грубой поверхностной обработки – с серебром работают куда бережней, узорчики всякие там гравируют, прочую красоту. Методы создания полированного серебра (зеркала) аналогичны созданию хромированных поверхностей:

Текстура серебра будет абсолютно черной:

 

В хаммере ставим рядом кубмап высокого разрешения (256х256).

 

VMT полированного серебра прост до ужаса:

"LightmappedGeneric"

{

"$basetexture" " metalls/Ag "

"$surfaceprop" "metal"

"$envmap" "env_cubemap"

"$envmaptint" "[1 1 1]" //делаем отражения 100% силы, т.к. 95 и 100% не заметно на глаз разницы, но 100% отражение позволяет использовать абсолютно черную текстуру: никаких изменений в отражаемое не вноситься.

}

 

В игре “зеркало” выглядит вот так:

 

На скриншотах с такой сильно отражающей поверхностью видны все баги реализации cubemaps в Source:

Баг номер 1: при удалении от нашего «зеркала» отражения в нем не уменьшаются (все становиться огромным и пиксельным). Как можно бороться с не уменьшающимися отражениями:

-забить и не париться.

-ограничить подвижность игрока относительно зеркальной поверхности (ну типа нельзя близко подойти, нельзя далеко отойти) и поставить на оптимальном расстоянии env_cubemap на карте. 

-еще что-нибудь придумать.

-делать зеркальные/хромированные предметы маленькими (на маленьких предметах не бросается в глаза) и применять smooth groups.

- Руками сделать кубымап разрешением больше, чем 256х256 – см. тут

 

Баг номер 2: Отражение кубымапа не совпадает с отражаемым (это видно и на скриншоте). Как бороться :

-          Подобрать положение кубымапа на карте так, чтобы отражения хоть примерно совпадали с тем, что должно быть в реальности.

-          В некоторых случаях можно попробовать вместо cubemaps использовать шейдер отражения в реальном времени – см. тут.

 

Используя зеркало можно прекрасно изучать работу env_cubemap – все изменения, глюки, баги – все четко видно.

 

Сталь и железо.

В чистом виде (не окрашеном, без защитного покрытия из другого металла/фосфата и т.п.) ни железо, ни сталь почти не встречаются. Да, есть рельсы, трубы, балки – но все это тоже имеет «защитное покрытие» – ржавчину. На улице предмет из стали/железа ржавеет после первого же дождя. В помещениях сталь и железо в «чистом» виде встречаются чаще – промышленные станки, инструмент, ножи. Также оружие периода до ~1920х годов обычно делалось из стали без защитных покрытий (но оружие постоянно чистят и смазывают).

В простейшем случае – и это весьма не плохо смотрится – нам нужна только хорошая фотка металлической поверхности. Попробуйте найти на карте cs_assault для CSS бликующие металлы, в которых что-то отражается. А их там почти нет – просто хорошие фотки с характерным цветом нанесенные на характерные предметы – и все узнаваемо, все «металлическое». Но если вы хотите большего, то давайте разберемся что можно выжать из Source в плане крашенных и ржавых поверхностей:

 

Что общего во всех приведенных фотографиях? На одних предметах защитное покрытие – ржавчина, на других – фосфатирование (черное). Но  общее то, что в некоторых местах (обычно на изгибах, гранях, выступах – где защитное покрытие повреждается из-за внешних воздействий) проглядывается металл – а так как металл отражает гораздо сильнее ржавчины и прочих покрытий – получаем блик,  предмет становиться узнаваемым, «железным». Итак, нам нужно чтобы наша металлическая текстура отражала кубымап в определенных местах сильно (сталь имеет силу отражения ~45-50%) а в остальных – слабо или вообще не отражала (в зависимости от покрытия) . Для этого в движке Source есть seculars mapsкарты отражений, где оттенками серого задается сила отражения каждого участка текстуры.

 

В vmt нашей текстуры стали карту отражений можно присоединить одним из следующих способов:

- "$envmapmask" "имя specular map" - карта отражений в виде 24бит TGA (без альфы). Черное - не отражает, белое - зеркало, серое - промежуточные значения отражаемости. Не рекомендую использовать этот способ – много текстурной памяти пропадает зря – для specular map нужно всего 8 бит, а тут 24 бита – т.е. specular map  в три раза больше по весу, а толку ровно столько же.

- "$basealphaenvmapmask" "1" - карта отражений в альфа-канале у базовой текстуры. Работает только при отсутствии normal map (строки $bumpmap в VMT быть не должно). Черное - зеркало, белое - не отражает (т.е. наоборот с $envmapmask – бред, но что есть то есть). Рациональный способ – альфа-канал 8-ми битный, как раз столько нужно для specular map.

- "$normalmapalphaenvmapmask" 1 - карта отражений в альфе у normal map. Черное - не отражает, белое - зеркало, серое - промежуточные значения отражаемости. Также экономный способ, если конечно для вашего металла используется normal map.

 

Воспользуемся вторым вариантом – поместим карту отражений в альфа-канале у текстуры металла. Можно бы и третий вариант – чтобы еще и рельеф был – но это уже высший пилотаж, т.к. потребуется совместить царапины на карте высот, на карте отражений и на самой текстуре – копипаст тут не особо рулит. Итак, возьмем базовую текстуру ржавой стали и нанесем царапины (серые) с помощью однопиксельного карандаша в фотошопе, только в отдельном слое:

 

Далее сделаем такую карту отражений,  где белое будет значить «ничего не отражает» а черное – «зеркало». Как сделать так, чтобы царапины на карте отражений совпадали с царапинами на нашей ржавой текстуре? Т.к. царапины у нас есть в виде отдельного слоя – мы можем их скопировать, сделать в новом файле белый фон и вставив туда царапинки выкрутить контрастность– они из серых станут черными :

После – сохраним созданную карту отражений в альфа-канале у текстуры ржавого металла – заодно на этой стадии проверьте, совпадают ли царапины из альфы с нарисованными на ржавой текстуре.

 

Теперь создаем VMT нашей ржавой стали:

"LightmappedGeneric"

{

"$basetexture" " metalls/steel2"

"$surfaceprop" "metal"

"$basealphaenvmapmask" "1" //задаем то, что карта отражений находиться в альфаканале у текстуры стали.

"$envmap" "env_cubemap"

"$envmapsaturation" 0.8 //отражения обесцветим на 20%

"$envmapcontrast" -0.99 //отражения сделаем ярче на 99% - подбиралось на глаз.

}

 

В хаммере рядом с брашем нашего металла поставьте кубмап. Разрешение – лучше в районе 16х16 или 32х32, не более. Smooth groups – по желанию. В игре получаем вот такой ржавый кубик:

Хорошо смотрится в движении – когда отражения в царапинах меняются. Недостатки нашего метода: нет рельефа. Царапины – это не только блеск, это еще и царапины (вмятины) – но нормал мап прикрутить довольно сложно (должен совпадать с царапинами на карте отражений и т.п.). Зато если удастся – будет фотореалистичный металл.  Также при некоторых углах обзора получаем ослепительно белые царапины – это опять же нужна карта высот, которая сделает рельеф. А рельеф отражает ярко/темно уже правильно, как и должно быть.

 

На последок заметка: т.к. наша карта отражений получилась двухцветной – черный и белый – для неё нужно всего 2 бита цветности; 2х битный альфа-канал есть у текстур в формате DXT1. Очень экономно и быстро должно работать, но работоспособность не проверял.

 

Дерево.

Деревянная поверхность характерна двумя вещами: цветом и фактурой (узором, в которых входят и сучки и годовые кольца); также дерево как мягкий материал легко царапается, царапины глубокие, также при высыхании древесина трескается, если её не сушить в особых условиях. Для создания хорошей текстуры деревянной поверхности нам не понадобятся ни кубымапы, ни еще какие-либо методы – нужна всего лишь хорошая фотография нужной породы дерева с узнаваемым цветом и  с разнообразным рисунком. Раздел про дерево самый короткий, текстур делать смысла нет:

Гляньте сайт этой строительной фирмы, там предоставлен вашему вниманию здоровенный список пород деревьев с крупными фотками фактуры, из которых делают паркет. На этом в общем то можно и закончить, но вот еще пара моментов:

1) На воздухе уже через пару лет не лакированная/крашенная древесина становиться из желтой - серой:

Это свойство нужно держать в уме – если делаете деревянную уличную постройку, которая должна выглядеть новой – делайте светло-желтую текстуру, если старой – серую.

 

2) Дерево может нести следы грубой обработки (например, ящики или поддоны из такой доски и сделаны):

 

3) Паркет имеет небольшую отражающую способность – порядка 10%. Т.е. и к дереву можно прикрутить кубымап в некоторых случаях. Также немного отражает окружающее лакированное дерево и некоторая краска типа нитроэмали.

 

4) Также делая текстуру для деревянных предметов – например деревянный ящик – не забывайте, что доски ящика соединены воедино не по воле аллаха, а гвоздями и шурупами:

В общем, главное в текстурах дерева – хорошие фотки, узнаваемый цвет и узор.

 

Пластик.

Характерные черты этого продукта переработки нефти – мягкость (легко царапается), мутно-прозрачный (очень характерная черта, даже 5% прозрачности делают пластиковый предмет узнаваемым) и слабые отражения – порядка 5-10% (заметны только самые яркие и темные окружающие вещи, все размыто). Пластик делают всевозможных цветов, он бывает не прозрачный, бывает матовый (нет отражений) и еще бог знает каким. Мало изменяется со временем.  Внимательно изучайте фотографии тех пластиковых предметов, которые вам предстоит текстурировать. Все описанные выше методы, использованные для создания металлов, могут пригодиться для некоторых пластиков – только царапины в пластике отражают свет хуже гладкой поверхности (а у металлов- наоборот, бликуют) .

 

-------------------------------------------------------------------------------------------------

Вот вам еще список тонкостей напоследок (относиться  ко всем металлам):

1) В хаммере при накладывании текстуры 512х512 пикс. с хорошо заметной фактурой металла нужен scale текстуры не более  0,1 . 

2) Если текстура размером 512х512 а её нормал мап – 1024х1024 то Source будет автоматом подгонять нормалмап под размер текстуры. Если помните, то, делая алюминий, в 4м шаге я так и сделал – в итоге царапины в близи очень реалистично смотрятся!

3) На скриншоте вы можете увидеть резкую линию в отражаемом:

 

Это стык между сторонами кубмапы. Увы, стыки лезут довольно ощутимо – чем меньше разрешение кубмапы, тем они заметнее, но в нашем случае с этим можно смириться или

- использовать smooth groups или

- руками поправить кубмап, т.е. кубымапы можно вытащить из BSP-файла pakrat-oм и переделать в фотошопе. Кстати в этом случае вас уже не будет ограничивать максимальный размер отражений кубмапов 256х256 пикс. – я делал их 2048х2048 и запаковывал обратно. Работает! См. тут

4) В теневой стороне отражения на алюминиевом кубе становятся ярче, заметнее:

Алюминий так свет не отражает в тени.  Как бороться – в большинстве случаев просто забить, но если нужно максимум похожести - накладывать в тенях другую текстуру алюминия, которую сделать элементарно: копируем vmt-файл и называем его по-другому. Меняем в нем всего одну строчку:

{

"$basetexture" " metalls/mediumal"

"$bumpmap" " metalls/metal_normal"

"$surfaceprop" "metal"

"$envmap" "env_cubemap"

"$envmaptint" "[.15 .15 .15]" //т.е. уменьшаем отражающую силу с .25 .25 .25 до .15

"$envmapcontrast" "-0.5"

"$envmapsaturation" "0.75"

}

Т.е. «новая текстура» - это всего лишь еще один текстовый vmt-файл с ослабленными отражениями.

 

P.S.

Все описанное в этой статье – сложно и требует знания фотошопа, а также опыта наблюдения в реальном мире. Если у вас долго что-то не получается – попробуйте «замахнуться» на меньшее, используйте простую фото-текстру без всяких наворотов – 75-80% текстур в хороших играх сделаны из фоток.

 

Спасибо за внимание. Передаю инициативу обратно к Фишу.

 

Спасибо, Лекс.

Ну а я вам дам парочку бесполезных советов о том как лучше всего рисовать скин. :E

Всегда помните: в рисовании скинов нет никаких правил, вы можете пользоваться любой техникой, использовать любой подход, главное - красивый результат.

 

Если вы ничего не умеете - у вас гарантированно ничего не получится с первого раза, ну так не бывает, господа! И не стоит злиться на себя или, ещё хуже, на кого-то другого, а особенно не стоит бросать это дело, скинерами не рождаются, - дядька Фиш тоже не с рождения скинером был. И пусть сложность вас не пугает, научились – вы в почёте.

 

Кстати, для любителей поспорить на счёт фото-текстур, сфотографировать не всегда всё можно, если вы привыкли полагаться на фототехнику, а не на свои две, то я вам сочувствую. Среди вас есть умники готовые поспорить со мной? Адресую вам - сфотайте мне, пожалуйста, броню солдата из будущего и ещё какого-нибудь динозавра, не знаю.

А пока они думают, как это сделать, мы пойдём дальше, когда они раздуплятся и согласятся, что сфотать можно не всё - они нас догонят.

 

И всё же, пренебрегать фото-текстурами я, если, конечно, это возможно, вам просто запрещаю. Во-первых: они сильно экономят время, ибо вам не придётся рисовать текстуру самому, когда можно использовать фотографию, во-вторых: при рассматривании фото-текстуры вы увидите множество деталей, на которые раньше не обращали внимания, затем вы реализуете эти детали на своих работах, главное тренировать свою способность художественного наблюдения. С этим и не только вам поможет книга, ссылка на которую дана ниже.

 

Прежде чем рисовать скин определитесь, что вы рисуете, из какого материала сделана та или иная часть, если вы поймёте это, то вам будет проще. Например, метал хорошо отражает свет, яркие блики для него. Царапины и выемки набитые грязью тоже хорошее решение. Пластик немного хуже отражает свет, и если у метала вы пользуетесь белыми бликами, то тут они ближе к серому и пластик в отличие от металла более зернистый. По пути рисования скина вы сами поймете, какой материал вы получили, ваше восприятие вам поможет.

Определитесь, откуда идёт свет, т.е. определите источник света (я обычно беру правый верхний угол изображения), это будет влиять на формы скина.

Но не забывайте, что источник света определяется не только на плоском изображении, но и на трёхмерной модели, если вы собираетесь взять верхний правый угол текстуры в качестве источника света, то прежде посмотрите, как он будет выглядеть на модели, а уж потом начинайте рисовать скин. Когда на модели тьма источников света - она не смотрится реалистично, как говорит exess: «выглядит, будто маленький человечек с фонариком бегает за моделью и подсвечивает её».

 

Лично я для рисования скинов использую инструменты Dodge и Burn, если вы невзъе… кхм-кхм, в общем, крутой художник, то пользуйтесь кисточкой, мне это НЕ кажется простым, кстати, для других умников, планшет у меня есть, и я всё равно считаю, что мышкой с Burn и Dodge рисовать скин проще. Видите ли, для меня скининг и арт - разные понятия. Однако я видел такие скины, которые Dodg’у и Burn’у только снятся и нарисованы они кистями. Думаю, рано или поздно я всё-таки отойду от Dodge и Burn.

 

Чаще пользуйтесь выделением, чтобы как можно точнее рисовать формы на скине. Мы с вами разбирали несколько методов создания форм с помощью выделения, они должны были дать вам понять основную технику.

 

По популярности фильтр Sharpen у незнающих людей (проще говоря нубов), наверное, занимает первое место (после эффекта линзы конечно :D). Его бездумно применяют все, кому не лень, да ещё и по нескольку раз, наверное так, для верности, на всякий пожарный, чтобы уж точно не ошибиться. :Е Вот мой вам совет - думайте, прежде чем применять фильтр Sharpen, эффект от него не всегда положительный! Да и вы всегда успеете его применить, а вот убрать результаты его работы будет уже не так просто и Blur вас не спасёт, потому что Sharpen добавляет несколько дополнительных тонов вокруг экстремальных (ярких и тёмных) тонов. Вообще, я разделяю два типа текстур, соответствующих моей логике, с точки зрения резкости: сухая (резкая) и мокрая (более размытая), и применяю один их этих типов только тогда, когда мне нужно получить соответствующий эффект, я вообще стараюсь пользоваться резкостью как можно реже. В общем, запомните основную мысль – фильтр Sharpen не игрушка, в неумелых руках он может испортить потрясающую текстуру, дважды подумайте, прежде чем воспользоваться им! Я, лично, на этом уже съел собаку и кости обглодал.

 

Идём дальше. Ещё небольшой совет.

Как говорит товарищ Лекс (на форуме известный как Uragan_Lex), местный художник, тени освещаются только небом, если вы не дальтоник, то вам будет не трудно догадаться какой цвет у неба. Зимой, в ясную погоду, приглядитесь какого цвета снег в тени, он не тёмно-серый, как сложилось мнение среди людей, он бледно-голубой. Я советую теневые области покрывать тёмно-синим градиентом, ставить режим наложения на Overlay и устанавливать прозрачность на пять или более процентов. Главное чтобы синий цвет не бросался в глаза, иначе весь фокус-покус пропадает, правда с первого взгляда этот эффект никто и не увидит.

-Но погоди Фиш, если это незаметно, зачем тогда делать?

Всё просто - вы этого не видите, но ваше подсознание хорошо видит. Я это уже проверял.

Кстати, такой чуши вам не расскажут буржуи, они до этого просто не додумаются…

 

Пользуйтесь цветом. Большинство самодельных скинов для оружия из CS - бесцветные, один из тех, кто пользуется цветом – это Enin (известный буржуйский моделлер-скинер) тёмно-серый цвет, конечно, тоже выглядит неплохо, но цветной выглядит куда лучше. В игре чёрно-белые скины на модели создают ощущение, что чего-то сильно не хватает – да, не хватает цвета.

И каким бы цветным не было изображение воспринимайте его как чёрно-белое, вы всегда должны говорить себе – я могу поменять цвет в любую секунду, управляйте скином и не позволяйте ему управлять вами. Не бойтесь начинать заново.

Кстати в ту же кучу с цветом – чем больше сочетаемых цветов вы использовали на скине тем лучше, однако не делайте цветовой хаос а-ля ганджа-мэн, обилие бесполезных и не сочетаемых цветов убьют всю аппетитность вашего скина. Мммм ням-ням. ЙЯЯК! ХАРК, ТЬФУ! ФУУУ!

 

Хороший совет - изучайте работы других авторов, особенно Valve (эти ребята ну просто гении ), попытайтесь понять, что именно делает «красиво», многое вы не поймёте, но всё приходит со временем.

 

Пользуйтесь кистями, которые вы скачали в начале, они позволяют добавить большое количество деталей за короткое время. Так же пользуйтесь фото-текстурами в качестве чёрно-белой или цветной заливки с наложением.

 

Технике рисования скинов, вы можете научится по следующим ссылкам:

www.graphics.ru – начните с этого сайта. Просто почитайте учебники, чтобы научиться свободно пользоваться Photoshop’ом и узнать несколько интересных техник рисования и «фильтрования».

http://st.burst.cc/index.htm - сайт, который научит вас рисовать скины для моделей оружия, подробные техники можно применять не только для моделей оружия, наибольшая коллекция учебников для скинера. Рекомендую!

http://sketchers.ru/forum/resources.php?i=136 – Must See!!! Книга «текстурирование и живопись» (16 мб). Спасибо Uragan_Lex’у за ссылку.

http://www.horribledeath.com/tutorial.htm - есть парочка учебников по скинингу.

http://home.comcast.net/%7Edpattenden/hi_poly_tut.htm - создание High Poly модели головы. В конце автор учит создавать скин кожи. Для ознакомления пойдёт, но для практического использования – нет, потому что афтар использует несколько шейдеров, такого понятия вообще нет в фотошопе, хотя Render to Texture вам в руки, если умеете, конечно.

http://poopinmymouth.com/tutorial/tutorial.htm - текстовые и видео туториалы по скинингу/моделлингу, некоторые из учебников платные.

http://www.20threed.com/tut1.htm - учебник о том, как сделать реалистичную надпись на ящике за пять минут.

Не пугайтесь английского языка, там всё интуитивно понятно.

 

На обучение у вас может уйти от нескольких дней до нескольких недель.

Так что не торопитесь, я вас подожду. Увидимся…

 

Пока вы читали и учились я быстренько сваял скины для телефона, не самое лучшее, что я когда-либо делал, но на троечку пойдёт. Постарайтесь сделать лучше - это не тот результат, к которому нужно стремиться всю жизнь.

База:

Трубка:

Рузультат:

 

Конечно, вы можете использовать и мой скин (в смысле нарисованный мной - свой скин я никому не отдам! ), но вы ведь начали читать учебник, чтобы научиться, верно?

Надеюсь, вы всё-таки сами нарисовали скин.

 

Идём дальше.

 

Сохраняем текстуру в *.VTF-формат

 

Сейчас мы сохраним скин как *.vtf  текстуру.

Загрузите фотошоп. Дважды кликните на пустой (светло-серой) области программы, проложите путь к файлу со скином телефонной базы и откройте его. Теперь нажмите Ctrl+S на клавиатуре, перейдите на Рабочий стол, из раскрывающегося списка Format: выберите VTF(*.VTF), в поле Имя файла(File Name) введите telephone_sheet001a и нажмите Enter.

Немного отступлю от текста. Лично я рекомендую давать уникальное имя для каждой текстуры, характеризующее содержание этой текстуры, так вам будет проще работать и не придётся искать нужную текстуру среди 1.vtf, 2.vtf, 3.vtf и т.д. привыкайте работать профессионально. Ещё неплохо дописывать индекс текстуры – 001a, 002a, 001b и т.д. тогда вы сможете упорядочить текстуры и не задумываться над новым именем для похожих текстур, смело меняя индекс.

 

Вернёмся к нашим баранам.

После того как вы нажали Enter, появилось следующее окно:

Честно сказать я и сам многое тут не понимаю.

Но пару вещей подскажу. Итак.

Template – тут вы выбираете шаблоны для вашей текстуры. О шаблонах поговорим позже.

Format – эмммм! - это всё, что я знаю… :E

Mipmap Filter – тут настраиваются принципы фильтрации мипмапов текстуры (мипмап – это что-то вроде LODa, только для текстуры :Е)

Sharpen Filter – фильтрация мипмапов с применением различных фильтров, вроде добавления резкости, инверсии цветов и т.д.

Flags – флаги. Если говорить об этом, то только в отдельном учебнике. Данная фича для Advanced User’ов и вам ни к чему.

 

Я обещал поговорить о шаблонах.

Compressed Texture – обычная сжатая текстура в формате Direct X1, без альфа-каналов и т.д. Используйте этот шаблон для обычных текстур.

Compressed Texture Width Alpha – то же самое только формат Direct X5 и сохраняется альфа-канал.

DuDv Map – это что-то вроде normal-карты, только используется для графических преломлений. Помните фреску гордона с ломиком из тех. демо, эта фреска ещё преломляла всё, что видно сквозь неё? Ну вот! У DuDv Map обратный набор цветов Normal Map.

Generic – Unusable

Normal Mapсобстно normal-карта, для normal-маппинга.

Normal Map Width Alphaто же самое только с альфа-каналом.

Sky – для текстур неба.

Uncompressed Texture – текстура без компрессии, фактически оригинал.

Uncompressed Texture Width Alphaто же самое только с альфа-каналом.

 

Для нашей текстуры выберите шаблон Compressed Texture и нажмите на кнопке «ОК».

То же самое сделайте для второй текстуры (если она у вас есть, у меня – телефонная трубка), назовите её telephone_sheet002a.

Идём к следующему пункту нашего учебника.

 

Фокус-покус сим-салабим рахат-лукум.

 

Загрузите файл с телефоном, он у вас уже заскиненный. Остался последний штрих – цифры на кнопках. Приступим.

Перейдите на окно проекции Front и создайте с клавиатуры примитив Plane (плоскость) с параметрами:

Width: 3

Length: 4

Length Segments: 1

Width Segments: 1

 

Теперь выделите модель телефона, примените модификатор Edit Mesh и, предварительно перейдя на уровень редактирования элементов [], выделите кнопки, теперь отделите их в отдельный меш (Ctrl+D). С помощью утилиты Normal Align [] присоедините плоскость кнопкам, поставив галку напротив Flip Normal. С помощью утилиты Align выровняйте по кнопкам нашу плоскость в окне проекции Front:

Если вышло неправильно, то настройте окно самостоятельно, задумка такая – плоскость должна лежать на поверхности кнопок.

Теперь возьмите инструмент Select and Move [] и в окне проекции сверху (Top) чуть-чуть передвиньте плоскость вперёд, чтобы плоскость не совпадала с поверхностью кнопок.

Скройте плоскость. Теперь будем работать только с кнопками.

Дублируйте кнопки (Ctrl+V), примените к дубликату модификатор Edit Mesh, теперь приаттачте его к телефону, затем скройте телефон, должны остаться только кнопки-оригинал.

Примените к нему модификатор UVW Map, c параметрами:

Length: 4,004

Width: 4,004

Проекция должна быть такой:

 

Теперь экспортируйте анврап в изображение с помощью texporter, размеры – 256х256:

Удалите кнопки.

Раскройте всё, что мы скрывали.

Выделите плоскость и примените к ней модификатор UVW Map с теми же параметрами, что мы применяли выше для кнопок. Почти готово.

 

Загрузите экспортированное изображение в Фотошоп и отредактируйте следующим образом, ещё добавьте альфа-канал (это я уже учил делать в одном из наших учебников):

Слева сама текстура                                                            Справа альфа-канал

 

Сохраните эту текстуру под именем phone_buttons001a.vtf (Compressed Texture With Alpha) Я советую всегда хранить текстуры, которые должны быть прозрачными отдельно от обычных текстур, не объединяйте их в одно изображение, иначе это может привести к неконтролируемым багам движка.

Скопируйте phone_buttons001a.vtf в папку …3dsmax\Scenes\. Вернитесь в 3D Max.

Загрузите phone_buttons001a.vtf в редактор материалов и поставьте переключатель в разделе Alpha Source на None (Opaque):

Поднимитесь на уровень выше []. Найдите там раздел Opacity, поставьте галочку рядом с ним и нажмите на кнопке none напротив, из списка выберите Bitmap и загрузите снова текстуру phone_buttons001a.vtf. Теперь в разделе Mono Channel Output поставьте переключатель на Alpha. Снова поднимитесь на уровень выше и активируйте режим Show Map in Viewports [].

 

Готово:

Фокуса никто не раскроет.

Идём дальше.