Наша новая игра 8 сентября в раннем доступе на steam



Создание текстур: подсказки

Обновление (01.07.2015): обновил информацию (в основном по бампу).

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

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

  • Diffuse или просто цвет. Цвет металла близок к чёрному (но желательно не использовать идеально чёрный). На дифузе неметаллов не должно быть информации из других каналов (спекуляра, бампа). Т.е. не должно быть бликов, теней от мелких деталей, каких-то нечётких отражений.
  • Reflect (он же Specular или просто сила отражения). Чистый отполированный металл отражает очень хорошо, а значит на текстуре он почти белый (опять же, в реальном мире ничто не может быть идеальным, поэтому мы не используем идеально белый или идеально чёрный цвета). Шершавый металл отражает хуже, а значит на текстуре спекуляра он серый. Ржавый металл и вовсе не является металлом, а значит отражает еще хуже и поэтому на текстуре он тёмно серый. Ткань слабо отражает, а значит она еще темнее. Также спекуляр металла не будет просто серым - он будет цветным (если металл цветной). Т.е. чтобы блики на золотом кольце https://zolotoy-standart.com.ua/ были жёлтые, нужно рефлект окрашивать в жёлтый. Царапина на ржавом металле будет отражать сильно (ведь мы добрались до чистого металла сквозь ржавчину). Много царапин на отполированном металле могут создать противоположный эффект. Т.е. эти все царапины на микроуровне создали область размытых отражений (поверхность металла уже не такое идеальное зеркало), а значит там текстура рефлекта будет темнее.
  • Bump или по простому - выпуклости. Напоминаю, что серый цвет (RGB: 128,128,128) значит, что мы получаем такую же поверхность как и без бампа. Чем белее цвет, тем выше выпирает деталь. Чем чернее цвет, к примеру, царапины, тем глубже царапина. К примеру, на металле лезвия ножа царапины должны быть не глубокие (разница в цвете на один-два деления серого), ведь металл поцарапать глубоко очень сложно. Почему я использую бамп, а не карты нормалей? Карты нормалей нужны для низкополигональной сетки, тогда от них есть больше прока, чем от бампа. Ведь нормали визуально сглаживают переход между полигонами, которые на самом деле расположены под острым углом. А под V-Ray я всегда рендерю сглаженную поверхность модификатором Turbosmooth, к примеру, поэтому мне ничего сглаживать не нужно. Но вот у бампа появляется преимущество - его удобно рисовать ручками: сделал деталь белее - она стала выше выпирать.
  • Glossiness или Glossy (глоси) - глянцевитость поверхности или сила размытия отражений. У блестящего металла отражения почти не размываются, а значит они на карте глоси будут почти белые. На ржавых частях металла отражения размываются очень сильно, а значит глоси будет серой в этом месте. А на ткани и вовсе не видно отражений, но это не значит, что их нет. Ткань на карте глоси будет серой (возможно тёмно серой).
  • Fresnel reflections (отражения по френелю). Эта галочка в настройках материалов V-Ray хорошо добавляет реалистичности материалу. Но её особенность в том, что она влияет только на канал Reflect и никаким образом не затрагивает другие каналы (Diffuse, Glossiness). А ведь почти все неметаллические материалы требуют, чтобы по такому же принципу работали текстуры дифьюз или/и глоси. К примеру, когда мы смотрим на ткань, то под скользящим углом её цвет становится слегка выбеленным (она как-бы обесцвечивается). Это происходит из-за малюсеньких ворсинок, которые торчат во все стороны и, сильно рассеивая свет, придают ткани белёсый налёт. Этот белёсый налёт можно имитировать еще одной текстурой цвета, где цвета будут слегка выбелены. Если брать матовый пластик, бумагу или кожу, то можно заметить, что под очень большим (скользящим вдоль поверхности) углом они начинают зеркально отражать. А это значит, что нужно рисовать еще одну текстуру глоси для такого случая. Но об этом в другой статье по настройке материалов (если вам это будет интересно).

Ниже я привожу текстуры кожаных перчаток (с моими комментариями), где есть три типа материала:

  • кожа;
  • ткань (подкладка);
  • металл (кнопки).

 Текстура Diffuse:

Все текстуры кликабельны.

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

Но это также может пойти нам на пользу (а зачастую так и есть). Ведь 3D - это всегда мухлёж.

К примеру, для крупного плана, где поры будут большими, V-Ray будет легче их отрендерить, а значит цвет пор можно полностью отдать на просчёт рендереру (на основе бампа, отражений и т.д.).

Но если эти перчатки будут далеко от камеры, то все эти поры будут очень мелкими, а значит нужно будет накручивать сабдивы (Max subdivs) и Color threshold для Adaptive image sampler, чтобы VRay смог отобразить/просчитать эти поры правильно (чётко, красиво - как мы и хотим). Поэтому, излишний контраст пор в канале дифуз нам не помешает, а наоборот сыграет на руку. Ведь даже на низких настройках мы сможем увидеть что-то рябое, напоминающее поры 😉

Это же касается и затенений на оверлоке, где нитка глубоко входит в кожу и сминает её.

Если брать живую кожу (человеческую), то цвет впадинок пор сильно зависит от тока крови.

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

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

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

Текстура Reflect/Specular:

Правильная текстура Specular/Reflect для кожаной перчатки

Здесь всё сделано очень хорошо. Самые белые части - это металлические кнопки. Кожа также достаточно светлая, поскольку она должна хорошо отражать. Ткань (в том числе и нитки оверлока) тёмно серая, ведь она отражает плохо.

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

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

А вот мелкие помятости художник нарисовал правильно. Он сделал их темнее. Ведь в тех местах, где кожа постоянно мнётся, она будет отражать хуже. Она там становится такой шершавой и даже слегка ворсистой.

Также допущена ошибка с идеально белой кнопкой. Металл не может отражать 100% света. А особенно кнопка на перчатках, которая постоянно царапается. Но я этот момент смог поправить благодаря смешиванию этой текстуры с чёрным цветом для материала металла кнопки.

Текстура Bump:

 Правильная текстура Bump для кожаной перчатки

Эта текстура сделана отлично. Впадинки между порами более тёмные. Нитки оверлока светлые, но лежат в тёмной канавке (ведь нитка придавливает кожу и впивается в неё). Помятости сделаны более светлыми, но при этом (хоть и не так контрастно) всё равно видны поры.

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

На этапе создания материала я добавил этот бамп в карту цветокоррекции (о ней ниже) и замиксовал этот бамп с бампом микроцарапин из этого урока. Также по этой ссылке вы найдёте плагин для Photoshop-а NVidia NormalMapFilter, который легко конвертирует чёрно белую карту бампа в карту нормалей.

Еще одна ошибка этого бампа - это наличие идеально белого и чёрных цветов (об этом также ниже).

Чтобы текстура бампа работала очень хорошо (была чёткой и просматривалась хорошо при разных углах), нужно в её настройках (карта Bitmap) на свитке Coordinates выставить значение параметра Blur в пределах 0,3-0,6 (я обычно ставлю 0,5). Также Autodesk советует поднять значение Blur offset больше нуля (но для меня этот их совет не сработал, не знаю почему, поэтому я оставляю Blur offset равным нулю).

Текстура Glossiness/Glossy:

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

Бердыш с волшебным камнем

Сама текстура глоси:

Правильная текстура Glossy для металлического бердыша

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

Сама режущая часть сделана почти белой. Т.е. эта часть очень хорошо заточена/отполирована, а значит отражения на ней будут чёткими, как у зеркала. А вот торец лезвия (который рядом с режущей кромкой) он не полирован и соответственно металл там матовый (на текстуре он светло серый).

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

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

Если бы бердыш долго пролежал в земле, то в эти бы царапины набилась грязь. И тогда эти царапины должны были бы быть, наоборот, тёмными на текстуре глоси (ну и на текстуре спекуляр).

Цветокоррекция текстур.

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

Поэтому при работе с текстурами я очень часто прибегаю к такой карте как Color Correction:

настройки карты color correction

Первым делом я переключаюсь в режим Advanced [1]. Это позволяет более "правильно" править яркость и контраст текстуры. Другими словами, мы имитируем параметры воображаемой камеры, через объектив которой, мы смотрим на текстуру.

Далее, с помощью счётчиков Gain [2] и Gamma [3] я соответственно правлю яркость и контраст текстуры.

Результат можно наблюдать по второй градиентной полосочке [4]. Первая градиентная полосочка показывает, что у нас на входе, а вторая - то что получилось после правки счётчиков [2] и [3]. На примере выше, накрутив гамму до 3 (по умолчанию там 1), я превратил почти все оттенки серого в белый цвет (оставив лишь чёрный цвет нетронутым). А подняв гейн до 140 (по умолчанию там 100) я сделал цвет более светлым (т.е. вот та узкая тёмная полосочка стала тёмно серой).

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

А если грубо описать принцип работы счётчика гейн, то это простая операция умножения. Т.е. цвет пикселя умножается на эту величину.

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

Также читайте полезную статью о создании текстур для игр.



Подпишитесь на обновление блога (вот 3 причины для этого).
Введите ваш e-mail:





Вам понравилась статья? Хотите отблагодарить автора? Расскажите о ней друзьям.
Или подпишитесь на обновление блога по E-Mail.

Введите ваш e-mail (используется только для отправления обновлений блога):

комментариев 10 к статье “Подсказки по созданию текстур для реалистичных материалов”

  1. > это значит, что нужно рисовать еще одну текстуру глоси для такого случая. Но об этом в другой статье по настройке материалов (если вам это будет интересно)

    Будет интересно)

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

    А разве не наоборот? Я вот сейчас специально посмотрел на настоящую кожу — в потертых местах она как бы больше отполирована, то есть менее шероховата, вот и получается, что отражает больше. В качестве референса я использовал ремешок сумки, может просто он находился в других условиях. Мне кажется зависит от того, чем кожа затирается. Если чем то грубым и довольно длительное время — то структура кожи разрушается, она начинает мохриться на микроуровне и становиться более матовой, соответственно в этом случае будет отражать меньше.

  2. Спасибо. Кратко и по существу.

  3. Крутая статья! Спасибо!

  4. Огромное спасибо за урок! Теперь с нетерпением ждем статью о настройке материалов!

  5. Отличная статья! Спасибо) Жду продолжения.

  6. Что-то тут давно не было новостей. В соцсетях гораздо больше выкладываете. Может все сюда будете выкладывать?

Извините, в данный момент комметарии закрыты.

© 2008 - 2018 3dyuriki.com
Для связи со мной 3dyuriki@gmail.com