Текстурування, або, що потрібно знати, щоб стати Художником по поверхнях. Частина 3. PBR та матеріали
Минулої частини тутора ми розібрали принцип роботи масок, що таке «текстура», і що абсолютно для всього використовуються канали параметри пікселя. Тепер розглянемо всіма улюблений PBR та зберемо текстури для створення мокрого брудного асфальту.
У цьому уроці я дуже багато посилатимуся на інші тутори і джерела інформації, щоб максимально скоротити обсяг тутора. Більшість посилань буде надана на початку тутора, тому, якщо ви не розумієте чогось із цього тутора - перейдіть за посиланнями і почитайте інформацію там. Коли будете готові – повертайтеся до тутору та продовжуйте пізнавати ази художника по поверхнях. Якщо якісь посилання будуть не доступні, пожалуйста, повідомте мені про це в особі або в коментарях. Я обов'язково виправлю це непорозуміння.
Також якщо щось зовсім буде не зрозуміло — дуже прошу повідомити про це, щоб я міг розкрити цю тему докладніше.
Частина 1. Піксель тут
Частина 2. Маски та текстури тут
Частина 3. PBR та Матеріали - Ви її читаєте.
Частина 4. Моделі, нормалі та розгортка тут.
Частина 5. Система матеріалів тут.
PBR
Розшифровується ця абревіатура так: Physically Based Rendering. Що в перекладі означає «Заснований на фізиці рендер».
Як ми всі знаємо, ми не могли б бачити жодного об'єкта, якби об'єкти не відображали світло, яке на них падає. Все це працює дуже просто – промінь світла падає на стіл, відбивається і потрапляє вам на сітківку ока.
Залежно від поверхні, від її стану (чи відбиває воно, як дзеркало, чи має шорсткість, чи є краплі бруду/води/кави на поверхні) вам в око приходить вже видозмінений промінь (скажімо так). Причому промінь — це не зовсім правильно, бо вже відомо, що світло — це ще й хвиля. Але це вже дуже глибоко для нас, і тут я можу помилятися.
А суть залишається незмінною — те, як ми бачимо об'єкти, вишиковується з того, як світло відбивається від поверхні. І стандарт PBR описує те, які параметри повинні враховуватися, щоб світло виглядало максимально кінематографічно.
Розписувати про те, за якими правилами конструюється світло, як воно відбивається і чи відбивається взагалі, я не стану. Про те, як працює на рівні фізики світло є купа статей:
- Стаття з основ від творців Substance Painter / Designer тут. І її переклад від 2015 року тут. Посилання на другу частину перекладу є на тій самій сторінці.
- Стаття від Google з їхньої розробки PBR (ті ж яйця, тільки в профіль з іншими формулами) тут.
- Стаття MrShoor, який розглянув PBR на низькорівневому програмуванні шейдерів тут.
Параметри. Або як налаштовується PBR.
Ми розглянемо PBR з точки зору загальної концепції та на рівні роботи з кожним параметром окремо через канали пікселів.
З минулої частини тутора пам'ятаємо, що PBR насправді створюється через підсумовування параметрів (вдаватися до формул не варто). Тобто PBR складається з набору параметрів:
- Color (Base Color/Albedo).
- Metallic.
- Specular.
- Roughness.
- Glossiness.
- Ambient Occlusion (далі – AO).
- Height.
- Normal map.
- Color використовує 3 канали - RGB, щоб формувати колір пікселя.
- Normal map використовує 3 канали, щоб зімітувати нахил поверхні.Кожен канал відповідає за нахил по вертикалі, горизонталі та глибину відповідно.
Що стосується Normal Map, то її технічна реалізація (які канали за який нахил відповідають) відрізняється від налаштувань рендеру. Так, наприклад, Unreal Engine 4 Зелений канал відповідає за негативне значення нахилу по вертикалі, а в Unity за позитивне.
Докладнішу інформацію можна прочитати тут.
Ще є величезна всеосяжна стаття про те, як запікати Normal Map і як із нею взагалі працювати, на сайті render.ru тут.
Посилання на форум обговорення карт нормалей та висот (параметр Height) тут.
І вікіпедійний опис рельєфного текстурування тут.
Тепер варто зазначити, що рендер (відображення), що базується на фізиці, має кілька різних реалізацій. Всі вони схожі між собою і користуються тими самими каналами пікселів для коригування кінцевого результату. Зазвичай поділяють 2 типи реалізації:
У першому типі враховуються параметри Color-Metal-Roughness, у другому - Diffuse-Specular-Glossiness.
Обидва типи реалізації використовують однаково 3 параметри - АТ, Normal map, Height.
Ми будемо використовувати перший варіант, тому що надалі перенесемо наше навчання на Unreal Engine 4, а цей двигун використовує перший варіант комбінацій + має додатково параметр Specular, що вкотре показує, що PBR - це умовність.
Причому, в сучасному PBR параметр Height (висота) поєднується і ховається в Normal Map. За фактом, простіше висловити нерівність через одну карту Normal Map, ніж вираховувати ще й глибину/висоти пікселя, або ще в додаткових каналах. Все простіше, ніж здається, і мудрувати із десятками параметрів краще не варто.
Хоча при створенні текстур у Substance Painter параметр Height і винесений окремо, при запіканні текстур він вшивається в карту нормалі (все ще можна виділити його в окремий канал, якщо захотіти).
Отже, кінцевий результат картинки складається з накладання параметрів в одному пікселі:
Давайте розглянемо тепер те, як це працює у Substance Painter. Для цього ми знову створюємо новий проект зі звичайним плейном та стандартними налаштуваннями (про них я розповідав у другій частині туторів). І створимо новий шар заливки:
Тепер розглянемо стандартну текстуру нормалей із набору Substance Painter "Niche Rectangle Top Wide", яка знаходиться під тегом Hard Surface:
Далі ми перенесемо цю карту нормалей до параметра шару Base Color (з попереднього уроку ми повинні пам'ятати, як це робити). Так виглядає карта нормалей, якщо сприймати її як зображення (зображення вище). Але тепер видалимо її з параметра BaseColor (ми це зробили для загального ознайомлення), натиснувши на хрестик у параметрі:
І перенесемо її до параметра Normal:
Ваш кінцевий результат одразу оновився. Тепер, якщо затиснути Alt і ЛКМ можна крутити камерою і дивитися на плейн під різними кутами. Світло, відбите від пікселів, почне переливатися, створюючи ілюзію глибини. Наче на плейні справді є якісь западини та опуклості. Все це помітно під кутом від 90 до 140-150 градусів. І чим більше кут нахилу, тим більше стає зрозуміло, що це розрахунок відеокарти, який визначає, як повинен відбивати світло кожен піксель, щоб створювати цю ілюзію. Як вихідні значення ми передаємо у відеокарту 3 параметри у вигляді каналів пікселя (інакше кажучи, текстуру Normal map):
Тепер давайте перекручуватися.Видалимо з параметра Normal цю карту та вкажемо її у каналі Metallic. Канал у Metallic один, а карта нормалей має 3 канали, відповідно, вставляючи карту нормалей у цей параметр, Substance Painter обріже 2 зайві канали (припускаю, що GB) і залишить тільки один для розрахунків:
Зрештою видно тепер, що більше немає ніяких опуклостей і западин, але сама поверхня стала схожою на якусь металеву плату. Ви також можете подивитися, як виглядатиме параметр Metallic один, без інших параметрів (BaseColor та інших), переключивши режим відображення на 1 канал Metallic (якщо ви нічого не змінювали, то у в'юпорт праворуч зверху є можливість перемикання відображення):
Вибираємо металік і отримуємо наступний результат:
Як бачимо, це один канал у градаціях сірого, який визначає, які пікселі мають виглядати як метал, які як щось середнє, а які не метал. 0 - не металевий. 1 - металевий.
Аналогічно і з каналом Roughness – будь-яка текстура підійде для роботи з ним. Залежно від того, який кінцевий результат вам знадобиться. Можете спробувати самостійно встромити у канал Roughness будь-яку доступну вам текстуру та подивитися на результат.
Складні матеріали
Під словом «матеріал» зазвичай мається на увазі колекція готових параметрів, сукупність яких дає кінематографічний результат - матеріал (іншими словами, фактуру, поверхню).
Візьмемо, наприклад, ось це шкіряне крісло:
Візуально, крісло складається з 3 матеріалів:
- Шкіра.
- Металеві клепки.
- Пластикові (можливо, дерев'яні) ніжки.
- Колір. (наприклад, шкіра - це близький до чорного колір з цятками тріщин, а клепки - це золотистий колір з якимись плямами бруду).
- Metallic (у шкірі майже дорівнює 0, а клепках близький до 1).
- Roughness (у шкірі він ближче до 1, а в клепках ближче до 0).
- Normal Map (У шкірі карта нормалей відображає тріщини та їх глибину, а в клепках – технічні заглиблення/виступи).
- AO (у шкірі відображатиме коректність затінення тріщин, а в клепках – заглиблень).
Підіб'ємо проміжний підсумок:
- Принцип PBR. І як ним керувати через канали.
- Як працюють всі параметри, і як ми можемо впливати на них через текстури.
- Принцип побудови складних матеріалів.
- Як змішувати матеріали за допомогою масок.
Практика
А що нам потрібно для того, щоби зібрати мокрий брудний асфальт зі слідами шин?
Для початку нам потрібно визначитися з кількістю матеріалів, які будуть використовуватись у нашому туторі:
Постало питання — де брати ці матеріали? Можна трохи помучитися та створити колекцію параметрів для кожного матеріалу вручну. Наприклад, знайти зображення асфальту. Обрізати його до квадрата і зробити його як BaseColor. Потім, через спеціальні програми (наприклад, xNormal) з цього зображення створити карту нормалі. Через карту нормалі відрегулювати Metallic і Roughness (можна і за BaseColor). У результаті витратити кілька годин на створення ідеального матеріалу асфальту, вивіряючи коректні параметри для металу і шорсткості.
А можна зробити все простіше.
Як я вже сказав, більшість матеріалів вже заготовлені давно за вас. Ваше завдання лише знайти готові рішення, які відповідають вашим вимогам, завантажити їх та встановити. Якщо ви користуєтеся Substance Painter, то компанія allegorithmic (тепер вже Adobe) має спеціалізоване сховище готових матеріалів, які можна завантажити.Доступ до них є як платним, так і безкоштовним.
Якщо ви користуєтеся Quixel, то в цій програмі вже закладено сотні різних матеріалів, і вам достатньо лише вказати їх та почати працювати з масками. Що, до речі, дуже зручно для новачків, тому якщо ви тільки почали освоювати текстурування і ще не готові працювати з генерацією матеріалів - рекомендую почати з Quixel. Принцип той самий, інша обгортка. Тутори за програмою є в Інтернеті.
Ось тут (Посилання) можна завантажити текстури для матеріалів, які ми будемо використовувати у нашій практиці.
Наша мета зараз не створювати дуже якісні текстури, а познайомитись з тим, як можна за допомогою параметрів PBR та масок створити щось цікаве. Тому на даному етапі ми не користуватимемося генераторами масок чи бруду, а все робитимемо вручну, щоб зрозуміти суть. Коли ви розумієте суть, основу всього цього, ви зможете користуватися генераторами набагато якісніше, ніж просто почнете їх викручувати в надії отримати ідеальну маску/матеріал.
Якщо ви вже переглянули файли, то, напевно, звернули увагу на маску для шин. Вона підготовлена окремо, тому що я не зможу її згенерувати на ходу в Substance Painter, тому я скористався малюнком шин, знайденим в інтернеті та підготував його через Photoshop для роботи в Substance Painter:
Тепер створимо новий проект і додамо всі наші файли до нього. Для цього ми вибираємо стандартні налаштування, але тепер нам потрібно при створенні проекту ще вказати наші текстурні карти:
У проекті створимо 3 папки під кожен матеріал і найменуємо їх, щоб не плутатися:
У нашому випадку дуже важливою є ієрархія папок (та й не тільки в нашому, а завжди важлива).Ієрархія визначає рівень матеріалу, інакше кажучи, що на чому лежить. Асфальт у нашому прикладі – це дно. На ньому залишаються сліди від шин. А ось бруд може бути на слідах шин, і на асфальті. Тому бруд буде вищим за всіх.
Тепер давайте відразу сховаємо все, що має бути сховано, і залишимо лише асфальт. Тобто створимо чорні маски на папках Rubber та Dirt:
Тепер створимо в кожній папці по одному шару. А точніше, створимо шари та розподілимо їх у папки. Не забуваємо про неймінгу, щоб потім не плутатися (не дивлячись на те, що візуально не зовсім зрозуміло, що шари в папках – повірте, вони у папках):
Усі нові шари мають базові середні параметри. Тому Base Color сірий, нормаль не відображає опуклостей, а Metallic та Roughness не створюють враження будь-якого матеріалу.
І зараз нам потрібно це виправити, вказавши у кожний параметр відповідну текстуру (на прикладі асфальту):
Ваше завдання зараз розподілити всі текстури матеріалів у потрібні параметри шарів. Після того, як ви все це зробите, призначимо маску для гуми та створимо ефект слідів. Так як у нас вже є чорна маска у папки, то нам потрібно просто підключити файл зі слідами коліщаток до цієї маски. Для цього натискаємо ПКМ по масці і вибираємо Add Fill:
І в параметрах GrayScale вказуємо маску:
В результаті на асфальті з'являться сліди гуми, але їх буде складно розглянути, оскільки це все-таки PBR і кінематографічність (. ). Щоб їх побачити, потрібно Plane повернути під певним кутом:
Зараз ці два шари (асфальт та гума) знаходяться на одному рівні. Але ми знаємо, що гума знаходиться НА асфальті, а значить, шар з гумою має бути фізично вищим.І ось тепер ми скористаємося тим самим параметром Height.
Знайдіть його в параметрах шару Rubber і викрутіть його максимум, щоб відчути, як він працює. Покрутіть камерою, щоб побачити, як світло почало обробляти пікселі, які ви налаштували своїми руками. Відчуйте свою міць! =)
Ну а тепер вирівняйте параметр на 0.1, щоб це було не так явно і правдоподібніше:
Ми могли б викрутити в -0.1, щоб у нас проявилися ямки, як після машин на бруді, але це асфальт, і він не провалюється так легко.
Тепер налаштуємо бруд. Виходячи з реальності, можна припустити, що бруд повинен забиватися в тріщини асфальту в першу чергу. Але у нас немає маски, щоб ми могли виявити шар бруду в тріщинах. Однак рішення є – ми можемо взяти BaseColor асфальту і на його основі зробити маску для бруду.
Як це працює? Якщо подивитися на BaseColor асфальту, то можна звернути увагу, що чим темніший піксель, тим більше він схожий на тріщину. Тобто, в цьому зображенні все темне це тріщини, а все світле це поверхня. І якщо ми хочемо скористатися зображенням як маскою, то нам достатньо було б інвертувати кольори (темне зробити світлим і навпаки) пікселів, і у нас вийшла маска для бруду.
Для цього відключимо відображення шару з асфальтом (натиснувши на око у папки з асфальтом), щоб було простіше сприймати те, що ми робимо.
Далі, зазначимо, що в масці бруду має бути файл і приєднаємо до неї файл Asphalt_BaseColor:
Як і писав вище — світлим був асфальт, а темним — тріщини. Відповідно, на великих поверхнях почала проявлятися бруд, а в тріщинах домінує базовий сірий колір (базові параметри/фон).
Тепер наше завдання змусити цю текстуру сприйматися інакше — інвертувати кольори та посилити їх, щоб маска виявила бруд у тріщинах. Найпростіше це зробити за допомогою додаткового ефекту "Рівні" (Levels). Додаємо до маски додатковий фільтр «Levels» так само, як ми додавали Fill (ПКМ - Add Levels). І викручуємо параметри приблизно, як на малюнку нижче:
І натискаємо кнопку нижче «Invert» для інвертування рівнів інтенсивності каналу:
Тепер бруд знаходиться саме там, де нам потрібно — в тріщинах асфальту:
Включаємо асфальт і придивляємось до наших праць:
Але це дуже просто. Тому давайте тепер додамо на наш асфальт помаранчеву розмітку. Для цього нам потрібно буде:
- Створити нову папку та назвати її Road_Line.
- Додати чорну маску папці.
- Додати новий шар у папку і назвати його Layer_RoadLine.
- У шарі в параметрах BaseColor вказати помаранчевий колір прямо:
Ви також можете відрегулювати параметри Metallic і Roughness на свій смак, щоб створити реалістичну фарбу. Я не став цього робити, щоб скоротити час тутору.
Тепер, згадуючи правила ієрархії шарів, розташуємо папку з дорожньою лінією між асфальтом та гумою:
Настав час ручного малювання. Виділіть маску теки RoadLine і накресліть на плейні смугу розмітки. У мене вийшов приблизно такий результат:
Тепер варто додати ще одну маску на сам шар з фарбою, щоб створити відчуття фарби, що відвалилася. Для цього ми не створюватимемо папку, а створимо маску прямо на шарі і додамо будь-яку стандартну маску Substance Painter. Щоб зробити це - додайте маску, а потім додайте заливку (ПКМ по масці та Add Fill).У заливці вкажіть Текстуру Dirt 4, яка знаходиться під тегом Procedural:
І дивимося результат:
Не забуваємо, що у шару з фарбою потрібно вказати висоту.
Будьте уважні, тому що для цього потрібно виділити саме шар, а не маску.
Ну, і який асфальт без води?
Для цього створіть самостійно папку разом із шаром. НЕ додавайте жодних масок.
Установіть папку в ієрархії на самий верх. Вода ж зверху, правильно? У шару викрутіть на максимум Metallic і на мінімум Roughness.
І тепер відключіть канал Color, натиснувши кнопку, виділену синьою рамочкою:
Що сталося?.. Відбулося змішання всі нижніх шарів згідно з масками і шаром з водою. мокрим і неприємним, начебто і не асфальт =)
Тепер домашнє завдання: накладіть маски так, щоб асфальт був не повністю мокрим, а з невеликими калюжами. ? Я впевнений, ви впораєтеся =)
У цьому туторі ми розібрали те, як створювати текстури. Загалом, правильно застосовуючи параметри, ви вже можете починати текстурувати і навіть сміливо можете назвати себе джуніор-художником за текстурою.
Ми дізналися, як PBR працює.
Параметри PBR необов'язково повинні бути унікальними.Це ще звичайні параметри, які ми можемо вказувати через канали пікселів.
Одні й ті самі текстури ми можемо використовувати по-різному. Це дає нам перевагу — нам не потрібно завантажувати пам'ять зайвими файлами з великою кількістю пікселів, а завантажити один файл і підказати програмі, як його розрахувати.
Ми познайомилися з матеріалами та тим, як вони збираються. Тепер ви знаєте, що не обов'язково бути супер-крутим фотошоп-майстром, а достатньо знайти готові параметри, щоб програма змогла представити коректно матеріал.
У наступних частинах ми торкнемося таких тем, як розгортка, щільність текселю (і що таке тексель), і підійдемо, нарешті, до найцікавішого — створення власних шейдерів у UE4.
Програми Quixel та Substance Painter
Я завжди рекомендую новачкам, які займаються саме створенням текстур з матеріалів (не самих матеріалів), почати працювати з Quixel. у нас практично через Substance Painter.
Що стосується Substance Painter, то його сила починає проявлятися, коли в роботу включається третя програма Substance Designer дозволяє створювати свої матеріали шляхом генерації потрібних нам поверхонь. , які контролюватимуть кількість та якість внутрішніх матеріалів.Тобто, «розумні матеріали» в даному випадку — це контейнер, який містить у собі кілька матеріалів та встановлені маски, які регулюються формулами та алгоритмами, які художник прописує у Designer.
Потім цей контейнер експортується в Painter, де відбувається його тонке налаштування. Наприклад, наш мокрий асфальт ми створили у Painter. Але могли б зібрати в Designer і підключити купу додаткових налаштувань, які дозволили б нам змінювати результат нальоту, в одному місці, а не перемикатися серед купи масок, як у Painter.
Про PBR та переклад цієї абревіатури
Дуже часто PBR перекладають як фізично коректний рендер. Я вважаю, що тут важливий точний переклад, оскільки переклади типу «Фізично коректний» докорінно не вірні, оскільки рендер у разі саме грунтується на фізиці, але має бути коректним стосовно фізики. Ви можете зробити метал = 1, і шорсткість, рівну 1, і включити додатково купу інших параметрів, і це вже буде не коректний з погляду фізики матеріал, а колись заснований на ньому і перероблений вами у свій власний набір параметрів. Тобто, створюючи матеріали на основі PBR, ви можете повністю ігнорувати закони фізики і створити матеріал, який буде унікальним у своєму роді.
Наприклад, мальовані у своїй стилістиці каміння. Як фізично коректно ми маємо відображати вигаданий матеріал, який не існує в природі?
Що таке текстури і як вони працюють у 3D-графіці
Коли змоделювати об'єкт занадто складно, у хід йдуть текстури. Розбираємось, як за їх допомогою створюють реалістичні моделі, не витрачаючи ресурсів.
Пише про програмування, у вільний час створює ігри. Мріє відкрити свою студію та випускати лампові RPG.
За точну передачу геометрії 3D-об'єкта відповідає кількість полігонів - тих векторних багатокутників, з яких складається модель і з якими працює дизайнер при її створенні.
Полігональна сітка моделі випорожнень складається з безлічі багатокутників, які визначають форму предмета
Очевидно, що чим більше, тим вище буде рівень деталізації готової моделі. Але не можна додавати їх до нескінченності — створення та малювання займуть надто багато часу.
Зробити цифровий образ реалістичним, зберігши мінімальну кількість полігонів, дозволяють текстури та матеріали.
Текстура
(іноді її називають карткою) - це растрове зображення, що накладається на поверхню моделі для надання їй кольору, властивостей забарвлення або ілюзії рельєфу.
Процес створення текстур називається текстуруванням або 3D-мепінгом (Від англ. map - Карта).
Як використовуються текстури
Допустимо, нам потрібно візуалізувати дерев'яний куб. Для цього ми можемо створити простий куб і змінити його геометрію, щоб надати йому вигляду дерева. Натомість краще додати карту кольору
(англ. color map) - растрове зображення, яке буде накладено на полігони. Саме її найчастіше мають на увазі, коли говорять про текстури.
Зображення буде накладено модель, але геометрія залишиться незмінною. Так ми створимо видимість рельєфу, не витрачаючи багато ресурсів на моделювання та комп'ютерне відтворення.
Готова модель виглядає непогано, але на ній немає мікрорельєфу – невеликих тріщин, западин та опуклостей, які видно на текстурі. Особливо це помітно, якщо поглянути на кути — вони абсолютно прямі.
Виправити це — надати рельєфності — можна, додавши більше полігонів, але набагато швидше скористатися картою висот
(англ. height map), яку також іноді називають картою рельєфу. Це чорно-біла текстура, що дозволяє зробити рельєф реалістичним.
Існує кілька видів карт висот, у кожної свої особливості:
- Bump map(англ. bump - купина, опуклість) створює ілюзію рельєфу, але з змінює геометрію об'єкта. Для цього комп'ютер накладає невеликі спотворення на колірну текстуру, щоб створити ілюзію нерівностей.
- Parallax map(паралакс - ілюзія руху об'єкта щодо фону, яка видно спостерігачеві, що рухається) змінює положення окремих ділянок текстури при малюванні. Тобто при малюванні parallax map змінюється положення окремих пікселів, а чи не вершин.
- Displacement map(англ. displacement - усунення) змінює геометрію об'єкта.
Ось приклад displacement map:
При малюванні моделі з такою текстурою додаються нові вершини, які зміщуються щодо полігону - піднімаються або опускаються. І ми отримуємо наступний результат:
Кількість полігонів вихідної моделі не змінюється, але геометрія об'єкта все ж таки стає більш складною під час малювання, тому тут видно реальний рельєф, а не його ілюзія.
Карта зсувів - одна з найреалістичніших карт висот. Але вона й більш витратна, тому що під час малювання додаються нові вершини. З цієї причини displacement map використовують не завжди, по можливості замінюючи її іншими текстурами. Наприклад, комбінацією bump map та карти нормалей (англ. normal map) або parallax map — залежно від того, якого ефекту потрібно досягти.
Процедурно генеровані текстури
На об'єкт можна накладати не тільки готові текстури, а й генеровані комп'ютером. текстуру шуму
(англ. noise texture) - Зображення, що містить візуальне сміття (Шум).
Текстура шуму потрібна, щоб поверхня моделі не виглядала надто ідеальною – у реальному житті практично не зустрічаються бездоганно рівні чи ідеально забарвлені предмети. Завжди є якісь потертості, плями, шорсткості та інші невеликі дефекти.
Використання шуму допомагає досягти різних візуальних ефектів. Наприклад, якщо накласти його на колірну карту, можна створити ефект розлучень, мазків пензлем, вицвітання чи потертості.
Якщо використовувати шум як displacement map, це допоможе швидко створити реалістичну штукатурку, глину, цедру апельсина, поверхню Сонця, плавлений сир, паніровку, тісто для піци та багато іншого.
Практично будь-які поверхні можна імітувати за допомогою шуму, якщо вибрати правильні параметри.
Висновок
Існують і інші види текстур.
- Карти відблисків(англ. specular map) дозволяють вказати, від яких частин світло має відбиватися, а яких немає.
- Карти тіней(англ. shadow map) дозволяють заздалегідь визначити, як падатиме тінь на модель. В основному карти тіней використовуються в іграх, тому що значно прискорюють малювання.
- Дифузні текстури(англ. diffuse map) - карта кольору без відблисків.
- Карта змішування(англ. stencil map) містить інформацію про розподіл інших текстур на поверхні.
Використання текстур значно прискорює роботу 3D-художника.
Якщо цікавитеся 3D-графікою та хочете професійно займатися моделюванням та текстуруванням, вам допоможе наш курс
для 3D-художників.