Створення текстури з використанням альфа каналу в форматі dds - студопедія
Часто виникає необхідність створити таку текстуру, в якій певна частина зображення є прозорою, наприклад, при текстуруванні забору хитромудрої форми або кованого балкона. Моделювати такі візерунки досить трудомістким. Для спрощення моделі використовуються текстури з альфа каналом.
Спочатку розберемося з поняттям каналу. Кожен канал представляє одну складову колірної моделі. Кожне піксельний зображення являє собою набір каналів, число яких відповідає числу складових колірної моделі. Якщо виходити з цього визначення, то виходить, що в залежності від колірної моделі зображення, число каналів в кожному зображенні різному. І це дійсно так. Наприклад, в колірній моделі RGB тільки три канали, по одному на кожен основоположний колір - червоний, зелений і синій. У колірних моделях HSB і Lab теж по три канали (H, S, B і L, a, b). А в колірній моделі CMYK чотири канали, по числу основних кольорів - Блакитний, Пурпурний, Жовтий і Чорний. У зображенні, заснованому на колірній моделі Grayscale (Градації сірого) всього один канал. По одному каналу мають також Bitmap (Бітовий формат), Duotone (Дуплекси) і зображення з Indexed Color (Індексовані кольори).
Всі ці канали називаються колірними. Вони призначені для зберігання колірних параметрів кожного зображення. Кольорові канали створюються автоматично при створенні зображення відповідно до обраної колірної моделі. Всі зміни на зображенні негайно фіксуються у відповідних колірних каналах.
Кожен канал можна уявити собі як тонку, повністю прозору кальку, що накладаються один на одного, з певними параметрами, в результаті чого виходить повнокольорове зображення. Кожен канал можна відключати і робити невидимим. З кожним каналом можна працювати самостійно і незалежно від інших каналів в цій же кольоровій моделі.
Крім основних колірних каналів в додатку Adobe PhotoShop можна створювати додаткові канали. Загальна кількість каналів не може бути більше 24. Додаткові канали називаються альфа-каналами (alpha channels). Кожній точці кожного каналу відповідає 8 біт даних, або на кожен піксель кожного каналу (за винятком чорно-білого штрихового зображення) відводиться по одному байту. Звідси можна зробити висновок, при роботі з зображенням не рекомендується створювати багато альфа-каналів, так як це веде до збільшення обсягів файлу.
Для роботи з каналами передбачена спеціальна палітра Channels (Канали). Для включення або виключення кожного рядка в палітрі Channels (Канали) є спеціальний значок у вигляді відкритого ока (). Цей значок розташовується в спеціальному полі, яке розташоване в лівій частині кожного каналу або режиму. Наявність цього значка говорить про те, що даний канал або режим включений і бачимо. Якщо піктограма «очі» говорить про те, що даний канал або режим вимкнений і його не видно на зображенні. Одночасно всі колірні канали та режим відключити неможливо, так як хоча б один канал обов'язково залишиться включеним і активним.
У палітрі Channels (Канали) створюється за замовчуванням стільки каналів, скільки їх є в даній колірній моделі, на основі якої створюється зображення +1. Цей додатковий канал називається поєднаним каналом. Цей канал, який ми назвали +1, є загальним повнокольоровим режимом, який об'єднує всі вхідні в цей режим канали та який ми бачимо в кінцевому результаті на зображенні. Суміщений канал відображається тільки тоді, коли всі колірні канали є видимими. При включенні піктограми очі () у суміщеного каналу всі інші колірні канали також автоматично включаються. При виключенні видимості хоча б у одного каналу, видимість суміщеного каналу також відключається, так як це порушує його цілісність і неподільність.
Винятком з цього правила додавання одного суміщеного каналу є два колірних режиму - Grayscale (Градації сірого) і Indexed Color (Індексовані кольори). У цих моделях всього один канал, тому цей єдиний канал в будь-якому випадку буде поєднаним. При роботі з цими моделями просто немає сенсу створювати копію цього ж єдиного каналу.
Альфа-канали (alpha channels) потрібні, перш за все, для зберігання виділень на зображенні. Наприклад, створили Ви виділення. Пропрацювали з ним. Потім довелося виконати операцію поза цим виділення. Потім знову довелося повернутися до попереднього виділення. Але зробити цього неможливо в принципі: не можна з точністю до 1 пікселя виділити два рази одне і те ж. Як би Ви не виділяли, це виділення буде хоча б трохи, але інше. Тому створивши складне виділення, його можна зберегти в альфа-каналі, а потім використовувати це виділення не тільки в цьому зображенні, але і у всіх зображеннях.
Розглянемо створення текстури з альфа каналом на прикладі моделювання візерунчастої кованої арки під козирком ганку. Для цього використовуємо фотографію і зробимо видимими металеві елементи арки, а все інше має бути прозорим, потім збережемо текстуру в DDS форматі.
Мал. 3.32 Ковані арка1. Створимо новий документ з розмірами 1024x1024 px. На ньому будемо розміщувати підготовлені зображення, а після закінчення роботи збережемо цей файл як текстуру в форматі dds. Відкриємо фотографію ганку в Adobe Photoshop (Рис. 3.32.).
Мал. 3.33. Обрізка фотографії за допомогою інструменту Crop2. Обріжемо за допомогою інструменту Crop фотографію (Рис. 3.33), залишивши тільки арку. Параметри обрізки в нашому прикладі: width 256 px, hight 128 px. дозвіл має бути кратно ступеня 2. Для зручності створимо ще один шар кольору, контрастного арці, наприклад, світло-жовтого, щоб в подальшому було видно всі недоліки. Помістимо шар під зображення.
3. Тепер виділимо ті частини зображення, які не повинні бути видні (Рис. 3.34). Зробити це можна з використанням будь-яких інструментів виділення, наприклад: магнітне ласо. чарівна паличка і ін. Можна використовувати булеві операції: об'єднання, Перес-че-ня, віднімання. а також
Мал. 3.34. Виділення невидимих частин зображення
інструмент інвертірова-ня виокрем-лення: Select - Inverse. Видалимо фон, залишивши тільки ковану арку. Ті місця, де видно недоліки у вигляді обрамлення кольору фону, можна виправити інструментом Ластик (Eraser Tool). Для цього знімемо виділення і акуратно, по необхідності змінюючи діаметр гумки, пройдемо по краях, стираючи нерівності.
Мал. 3.35. Створення альфа каналу4. Щоб знову виділити арку, потрібно виділити вміст шару, де вона розташована, для цього з затиснутою клавішею ctrl потрібно щёклнуть по іконці шару. Перенесемо виділену арку в новий документ, в якому будуть розташовуватися всі текстури з альфа каналом. У новому документі не знімаючи виділення, переходимо на вкладку канали (Chan-nels) і створюємо новий
Мал. 3.36. Зафарбовуємо виділення білим кольоромканал за допомогою кнопки «Створити новий канал» (Create new channel) (Рис. 3.35). Альфа канал буде створений автоматично для виділеної області. Зображення цього каналу за замовчуванням буде чорним.
5. Тепер виділену частину зображення потрібно зафарбувати білим кольором (Рис. 3.36). для цього можна використовувати інстумент кисть (Brush) великого діаметру. У нашому прикладі розмір кисті дорівнює 60 px. Зафарбовуємо виділення, перебуваючи у вкладці канали. Знімаємо виділення (Ctrl + D). Таким чином, та частина зображення, яка зафарбована білим, буде видно, а та частина, яка залишилася чорної, - хоч я знаю (Рис. 3.36).
6. Переходимо у вкладку шари. Якщо шарів більше одного, об'єднуємо їх командою Merge Layer: виділяємо шари за допомогою клавіші Ctrl - ПКМ - Merge Layer. Потім ПКМ по єдиному шару - вибираємо «виконати зведення» ( «flatten image»). Зберігаємо текстуру в форматі «dds». У вікні «Save As» вибираємо формат DDS і ставимо галочку навпроти Alpha Channels. Далі у вікні NVIDIA вибираємо параметри, як показано на малюнку 6.6. Зберігаємо у форматі DXT5 ARGB 8 bpp / interpolated alpha (Рис. 3.37).
Мал. 3.37. Параметри збереження текстури
За замовчуванням можливість зберігати в цьому форматі в Adobe Photoshop може бути відсутнім. Щоб це виправити, потрібно встановити плагін: помістити файл dds.8bi в директорію \ Program Files \ Adobe \ Adobe Photoshop \ Plug-Ins \ File Formats \ dds.8bi.
7. Накладемо отриману текстуру на модель козирка ганку, виділивши попередньо дві побудовані площині (ріс.3.25), таким же чином, що і звичайну текстуру (див. Пункт 3.3). Видимість альфа каналу буде включена автоматично (Рис. 3.38).
Мал. 3.38. Застосування текстури з альфа каналом
Якщо передбачається, що текстура буде видно не з одного боку, то необхідно зробити її двосторонньою. В даному випадку така текстура потрібна для поручнів ганку.
Мал. 3.39. відображення нормалей
Створимо площину за формою поручнів, застосуємо до неї текстуру. Включимо відображення нормалей, щоб визначити, з якого боку буде видно текстура. Для цього виберемо режим виділення полігонів, потім у вікні властивостей об'єкта у вкладці Mesh Component Display відзначимо «галочкою» Display Normal (Показати нормаль). а в Normal Type (Тип нормалі) поставимо face. Для кожного полігону площині буде показана нормаль - тонка зелена пряма, перпендикулярна поверхні. Якщо напрямок будь-якої нормалі потрібно змінити на протилежне, то необхідно виділити цей полігон, потім в головному меню вибрати Normals - Reverse.
Тепер відобразимо всю площину поручня, щоб текстура відображалася і з іншого боку. Для цього виділяємо весь об'єкт, потім в головному меню вибираємо Edit - Dublicate, площина буде продубльована. Потім поміняємо напрямок нормалей у всіх полігонів нової площині. Тепер текстура з альфа каналом буде відображатися по обидва боки.
Мал. 3.40. Відображення текстури сальфа каналом