1 Уроки Lightwaves 3D Создание низкополигонального персонажа 4/4 Пн Окт 04, 2010 9:42 pm
Admin
Admin
4.4.2. Карты нормалей в Photoshop
Теперь попробуем воспроизвести тот же эффект в Photoshop, используя возможность настраивать эффекты и стили для слоев, так же как это было сделано в Maya с помощью источников света. Установим значения цвета для бэкграунда (background color) 128, 128, 255. Нам понадобится еще 5 слоев поверх, по одному для каждого источника света (как в примере выше). Сделайте 5 слоев в Photoshop и установите значение для заливки слоя (Fill) на 0%. Потом мы выделим нужный силуэт на слое, зальем его, но будем видеть только эффект (стиль), который будет на слое, а не содержимое слоя.
Для красного источника света сделайте слой с настройками эффектов так, как показано ниже (эффект Bevel and Emboss). Выключите чекбокс Use Global Light, установите угол для источника света на нуль, а высоту для источника над объектом тоже равной нулю (источник света будет параллелен экрану). Для бликов выставьте режим наложения Overlay, цвет бликов — 255, 128, 128 (RGB значения). Имитируется освещение красного канала, поэтому установите настройки для прозрачности бликов на 100%, для теней же выставите значение 0% (они не нужны). Вы можете поиграть с другими настройками, но вышеперечисленные значения менять не надо.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Для «минус красного» источника света скопируем наш настроенный эффект, но изменим направление источника света на 180 градусов (свет будет слева) и значения для цвета на 0, 128, 128. Таким образом, будет изображена тень в красном канале.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Для зеленого источника света тоже скопируем настроенный эффект, но направление источника света будет 90 градусов (свет будет сверху). Изменим цвет блика на 128, 255, 128, чтобы сымитировать освещение в зеленом канале.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Для «минус зеленого» источника света опять скопируем эффект с направлением источника света в 90 градусов (свет снизу) и изменим цвет блика на 128, 0, 128. Имитируем тень в зеленом канале.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
И, наконец, для синего канала применяем другой эффект — Inner Shadow, выключив чекбокс Use Global Light и установив значения для distance и choke равным 0. Для параметра size подберите приемлемые по рельефности значения и установите для цвета эффекта RGB значения 255, 255, 128 и прозрачность 100%. Режим наложения — Multiply.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
После того как все слои настроены, можно удобно и быстро менять параметры объекта, толщину эффектов или применить размытие, чтобы смягчить края выпуклых деталей. Этот набор из пяти слоев можно продублировать и применять к другому силуэту — экспериментировать, одним словом. Или же разместить этот набор слоев поверх карт нормалей, сгенерированных в других программах.
Ниже показан пример, сделанный в течение нескольких минут несколькими наборами слоев с разными силуэтами. Карта нормалей стопроцентно передает сложную геометрию, которую трудно отличить от просчитанной геометрии.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Попробуйте сделать карту нормалей, подобно этой, но не в Photoshop, меньше чем за 15 минут. Автор уверен, что это невозможно.
Эти приемы были использованы при создании Peril (лука).
Каркас модели:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
C картой нормалей:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
И полностью затекстурированная модель:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Еще один случай, когда пригодится Photoshop, это объединение силуэтов с двух разных карт нормалей. Часто в таких случаях силуэты накладывают друг на друга в режиме Overlay, но это не совсем корректный прием, и ниже будет показано почему.
Пусть нам даны две карты нормалей (первая картинка). Нам надо наложить силуэт с правой текстуры на левую. Вы можете посмотреть данные для синего канала у каждого изображения и можете представить то, как они должны выглядеть (сумму значений). Но если вы наложите эти две картинки друг на друга в режиме Overlay, то обнаружите, что изображение в синем канале выглядит неправильно.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Ниже показан результат объединения слоев в режиме Overlay: мы полностью исказили информацию о нормалях (синем канале), поэтому режим Overlay применять нельзя.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Правильный метод объединения: совместить красные и зеленые каналы в режиме Overlay, а синий канал в режиме Multiply. Чтобы сделать это, продублируем верхний слой и изменим режим его наложения на Multiply. Теперь нам из слоя, который накладывается в режиме Overlay, надо убрать информацию из синего канала. Заливаем нейтрализующим серым (128, 128, 128) синий канал (переключаемся в него, с помощью Ctrl+3). Этот слой должен выглядеть так, как показано ниже:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Для второго слоя, который накладывается в режиме Multiply, нейтрализуем красный и зеленый каналы — заливаем их белым цветом (переходим в эти каналы с помощью Ctrl+1, Ctrl+2). Второй слой должен выглядеть так:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Ниже представлены картинки с обеими методами наложения, очевидна разница в результатах.
Если векторы, сохраненные в карте нормалей, затем будут нормализованы (приведены к единице), то информации в красном и зеленом канале может быть достаточно, так как значение вектора будет вычислено из значений касательной и бинормали. В этом случае наложение двух текстур оверлеем оправдано, потому что информация в синем канале не будет использоваться. Но в большинстве случаев информация из синего канала бывает нужной, поэтому используйте комбинированный Overlay/Multiply режим наложения двух карт.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Конечно, в нашем примере объекты не пересекаются, и их можно было наложить, просто вырезав и перетащив из одного изображения в другое. Но в большинстве случаев изображения будут перекрываться, как показано ниже:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Как мы можем применить метод объединения карт нормалей? Возможны варианты. Допустим, вы закончили диффузную текстуру и хотите добавить тонкую дополнительную детализацию в карту нормалей (поры на коже, особенности фактуры, ткани) поверх той карты нормалей, которая была просчитана с хайрезной модели. Этот метод проверен и работает замечательно.
Он также может помочь и в другой ситуации: когда автор делал хайрезную модель «Варги», он забыл нанести шрам от недостающей груди. Для того чтобы избежать проблем с громоздким перерасчетом хайрезной модели, он сделал шрам отдельно, на обычном квадратном полигоне. Затем совместил шрам поверх карты нормалей для тела.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Другой случай. При изготовлении пса автор не рассчитал количество полигонов, но позже понял, что детализации в мускулатуре персонажа недостаточно. Но было поздно — модель была разделена на части.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Чтобы исправить ситуацию, автор сделал детализацию мускулатуры на новом полигоне, используя как референс промежуточную карту нормалей. Затем произвел просчет этой карты нормалей, сделанной для прямоугольного полигона, и суммировал обе карты нормалей, чтобы сделать мышцы более выразительными.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Финальное изображение пса:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Ниже модели с корректированными картами нормалей:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
5. Финальная модель
Здесь показаны некоторые изображения, просчитанные с финальными текстурами.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Вот и весь урок. Good luck with normal mapping.]
Теперь попробуем воспроизвести тот же эффект в Photoshop, используя возможность настраивать эффекты и стили для слоев, так же как это было сделано в Maya с помощью источников света. Установим значения цвета для бэкграунда (background color) 128, 128, 255. Нам понадобится еще 5 слоев поверх, по одному для каждого источника света (как в примере выше). Сделайте 5 слоев в Photoshop и установите значение для заливки слоя (Fill) на 0%. Потом мы выделим нужный силуэт на слое, зальем его, но будем видеть только эффект (стиль), который будет на слое, а не содержимое слоя.
Для красного источника света сделайте слой с настройками эффектов так, как показано ниже (эффект Bevel and Emboss). Выключите чекбокс Use Global Light, установите угол для источника света на нуль, а высоту для источника над объектом тоже равной нулю (источник света будет параллелен экрану). Для бликов выставьте режим наложения Overlay, цвет бликов — 255, 128, 128 (RGB значения). Имитируется освещение красного канала, поэтому установите настройки для прозрачности бликов на 100%, для теней же выставите значение 0% (они не нужны). Вы можете поиграть с другими настройками, но вышеперечисленные значения менять не надо.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Для «минус красного» источника света скопируем наш настроенный эффект, но изменим направление источника света на 180 градусов (свет будет слева) и значения для цвета на 0, 128, 128. Таким образом, будет изображена тень в красном канале.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Для зеленого источника света тоже скопируем настроенный эффект, но направление источника света будет 90 градусов (свет будет сверху). Изменим цвет блика на 128, 255, 128, чтобы сымитировать освещение в зеленом канале.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Для «минус зеленого» источника света опять скопируем эффект с направлением источника света в 90 градусов (свет снизу) и изменим цвет блика на 128, 0, 128. Имитируем тень в зеленом канале.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
И, наконец, для синего канала применяем другой эффект — Inner Shadow, выключив чекбокс Use Global Light и установив значения для distance и choke равным 0. Для параметра size подберите приемлемые по рельефности значения и установите для цвета эффекта RGB значения 255, 255, 128 и прозрачность 100%. Режим наложения — Multiply.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
После того как все слои настроены, можно удобно и быстро менять параметры объекта, толщину эффектов или применить размытие, чтобы смягчить края выпуклых деталей. Этот набор из пяти слоев можно продублировать и применять к другому силуэту — экспериментировать, одним словом. Или же разместить этот набор слоев поверх карт нормалей, сгенерированных в других программах.
Ниже показан пример, сделанный в течение нескольких минут несколькими наборами слоев с разными силуэтами. Карта нормалей стопроцентно передает сложную геометрию, которую трудно отличить от просчитанной геометрии.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Попробуйте сделать карту нормалей, подобно этой, но не в Photoshop, меньше чем за 15 минут. Автор уверен, что это невозможно.
Эти приемы были использованы при создании Peril (лука).
Каркас модели:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
C картой нормалей:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
И полностью затекстурированная модель:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Еще один случай, когда пригодится Photoshop, это объединение силуэтов с двух разных карт нормалей. Часто в таких случаях силуэты накладывают друг на друга в режиме Overlay, но это не совсем корректный прием, и ниже будет показано почему.
Пусть нам даны две карты нормалей (первая картинка). Нам надо наложить силуэт с правой текстуры на левую. Вы можете посмотреть данные для синего канала у каждого изображения и можете представить то, как они должны выглядеть (сумму значений). Но если вы наложите эти две картинки друг на друга в режиме Overlay, то обнаружите, что изображение в синем канале выглядит неправильно.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Ниже показан результат объединения слоев в режиме Overlay: мы полностью исказили информацию о нормалях (синем канале), поэтому режим Overlay применять нельзя.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Правильный метод объединения: совместить красные и зеленые каналы в режиме Overlay, а синий канал в режиме Multiply. Чтобы сделать это, продублируем верхний слой и изменим режим его наложения на Multiply. Теперь нам из слоя, который накладывается в режиме Overlay, надо убрать информацию из синего канала. Заливаем нейтрализующим серым (128, 128, 128) синий канал (переключаемся в него, с помощью Ctrl+3). Этот слой должен выглядеть так, как показано ниже:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Для второго слоя, который накладывается в режиме Multiply, нейтрализуем красный и зеленый каналы — заливаем их белым цветом (переходим в эти каналы с помощью Ctrl+1, Ctrl+2). Второй слой должен выглядеть так:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Ниже представлены картинки с обеими методами наложения, очевидна разница в результатах.
Если векторы, сохраненные в карте нормалей, затем будут нормализованы (приведены к единице), то информации в красном и зеленом канале может быть достаточно, так как значение вектора будет вычислено из значений касательной и бинормали. В этом случае наложение двух текстур оверлеем оправдано, потому что информация в синем канале не будет использоваться. Но в большинстве случаев информация из синего канала бывает нужной, поэтому используйте комбинированный Overlay/Multiply режим наложения двух карт.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Конечно, в нашем примере объекты не пересекаются, и их можно было наложить, просто вырезав и перетащив из одного изображения в другое. Но в большинстве случаев изображения будут перекрываться, как показано ниже:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Как мы можем применить метод объединения карт нормалей? Возможны варианты. Допустим, вы закончили диффузную текстуру и хотите добавить тонкую дополнительную детализацию в карту нормалей (поры на коже, особенности фактуры, ткани) поверх той карты нормалей, которая была просчитана с хайрезной модели. Этот метод проверен и работает замечательно.
Он также может помочь и в другой ситуации: когда автор делал хайрезную модель «Варги», он забыл нанести шрам от недостающей груди. Для того чтобы избежать проблем с громоздким перерасчетом хайрезной модели, он сделал шрам отдельно, на обычном квадратном полигоне. Затем совместил шрам поверх карты нормалей для тела.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Другой случай. При изготовлении пса автор не рассчитал количество полигонов, но позже понял, что детализации в мускулатуре персонажа недостаточно. Но было поздно — модель была разделена на части.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Чтобы исправить ситуацию, автор сделал детализацию мускулатуры на новом полигоне, используя как референс промежуточную карту нормалей. Затем произвел просчет этой карты нормалей, сделанной для прямоугольного полигона, и суммировал обе карты нормалей, чтобы сделать мышцы более выразительными.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Финальное изображение пса:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Ниже модели с корректированными картами нормалей:
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
5. Финальная модель
Здесь показаны некоторые изображения, просчитанные с финальными текстурами.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Вот и весь урок. Good luck with normal mapping.]