Здравствуйте, меня зовут Булатов Євген, іноді підписався як Vendigo. Нижче я розповім про один цікавий метод створення normal map з фотографій.
Часто для створення текстур використовуються фотографії. Однак в наше технологічне століття мало створити diffuse текстуру, потрібні ще текстури бампа, спекулярит, і бог ще знає чого. На жаль, фотоапарат може сфотографувати тільки колір. Я чув, в цьому напрямку ведуться роботи, але це ще тільки роботи. Так що всі праці лягають на руки художників. А все, що є в нашому арсеналі це тільки Photoshop, ну може бути ще і Wacom. Не сперечаюся, це звичайно круто, але все одно не достатньо. На наше щастя розумні хлопці з Nvidia зробили плагін для Photoshop`а - NVIDIA Normal Map Filter, який дозволяє створювати з карти висот карту нормалей. Цим плагіном ми і скористаємося.
Після установки він з'явиться в меню Filter - NVIDIA tools - NormalMapFilter.
Основні налаштування зосереджені в поле Height Generation.
Поле Scale - задає масштаб по висоті для карти нормалей. Вище нього знаходиться ряд перемикачів деталізованості карти. Підбираючи ці два параметри, ми отримаємо або деталізовану або глибоку карту, але все разом.
На малюнку показані різні варіанти згенерованих карт нормалей:
Але є цікавий метод, що дозволяє створювати об'ємну і разом з тим детальну карту нормалей.
- Переведіть зображення в режим 16 Bits / Chanel (в меню Image - Mode). Це поліпшить якість наступних перетворень.
- Скопіюйте шар із зображенням (Ctrl + J).
- Нам потрібна чорно / біла карта висот, тому обесцветьте його (Ctrl + Shift + U).
- Застосуйте до цього шару фільтр Normal Map з настройками, що забезпечують максимальну деталізацію, і невелику висоту. Наприклад, 4 sample, Scale - 3. Якщо на цьому кроці ви отримуєте дивний результат, то поверніться до налаштувань фільтра і встановіть всі перемикачі, в положення як на скріншоті вище.
- Розмістіть цей шар (Ctrl + J), призначте йому режим Overlay. Таким чином, ви зробите вашу карту нормалей в два рази більше опуклою.
Рендер в 3DSMax
Плагін NVIDIA Normal Map Filter, перетворює карту висот в карту нормалей. Тому для нього підходять зображення, де темні ділянки відповідають заглибинах, а світлі опуклостям. Часто доводиться вручну допрацьовувати карту висот з вихідної текстури, малюючи поверх фотографії карту висот.
Операція нормування (застосування фільтра Normal Map в режимі Normalize only) потрібна тому, що після накладення нормалей в режимі Ovelay, інформація в синьому каналі втрачається. Операція Normalize відновлює її.
Є думка, що при накладенні нормалей потрібно Червоний і Зелений канали змішувати через Overlay, а Синій накладати в режимі Multiply. Ті, хто добре знають Photoshop, можуть написати стрілялки для подібної операції і спробувати метод з таким, більш «правильним» змішуванням.
Збіжність текстури. Якщо ваша текстура Тайлі, то після цих операцій нормалі сходиться, чи не будуть (з'явиться гостра кромка по краях). В цьому випадку можна робити так:
Перед створенням normal map, збільште розмір полотна в 3 рази. Canvas Size 300% (Ctrl + Alt + C). Потім скопіюйте вашу сходящуюся текстуру на всю площу.
Після чого об'єднайте ці шари і створіть normal map, як було описано вище. Потім, викличте ще раз команду Canvas і впишіть вихідний розмір в пікселях (наприклад, 512 х 512). У вас вийде вихідна текстура нормалі, якій будуть ідеально сходитися.
Ось і весь метод, створення normal map з фотографії. Технологія люб'язно запозичена з сайту cgtextures.com