3D WORKSHOP: Normal Mapping in Blender

Материал из Blender3D.

Перейти к: навигация, поиск

Использование карт нормалей в Blender
Возврат на главную страницу

Автор: Lance Flavell(Lancer)

Содержание

Введение

Увеличить

Используя карту нормалей (Normal Map), вы можете добавить высококачественные подробности поверхности для низко-полигональной модели. Эффект похож на карту неровностей (Bump Map), за исключением того, что алгоритм карты нормалей использует больше каналов. Проще говоря, карта нормалей более точна и выглядит менее "нарисованной", чем плоский полутоновый метод карты неровностей.

Увеличить

Карта нормалей может придать низко-полигональному мешу вид высокополигонального, но без нагрузок на процессор, которые вызвал бы высоко-полигональный объект. По этим причинам они обычно применяются в играх, где различные герои и модели должны выглядеть ужасно детализированными, но без замедления в процессе игры. В этом уроке вы будете использовать карту нормалей, чтобы сделать вид низкополигонального объекта, как у его высокополигонального варианта. Для работы необходимы базовые знания Blender, включая UV-развертывание и Sculpt mode (режим Скульптуры/Лепки).

Тезисы:

  • Вы начнете с низкополигональной модели, с которой вам необходимо снять UV-развертку.
  • Сняв один раз развертку продублируете низкополигональную модель и используйте Sculpt режим, чтобы создать высокополигональную копию.
  • Вы пройдете простой процесс запекания, чтобы создать карту нормалей на основе различий между двумя моделями.
  • И, наконец, вы примените карту нормалей к низкополигональной модели и увидите эффект.

Шаг 1: Подготовка и развёртка вашей низкополигональной модели

Низкополигональная модель Сюзанна, после subsurf с уровнем 1
Увеличить
Низкополигональная модель Сюзанна, после subsurf с уровнем 1
Мой низкополигональный меш - это "Сюзанна", голова обезьянки, с однократным удвоением(subdivide) узлов. Сюзанна, конечно, же не идеальна, потому что у неё имеются перекрывающиеся поверхности, главным образом вокруг её глаз, которые, возможно, будут сложны для создания карты нормалей.
Увеличить
Там, где это возможно, используйте меш, основанный на простых формах без наслаивающихся поверхностей.

Я применил "Set Smooth" для её границ, так как это помогает скрыть то, что это низкополигональный объект.

Сделайте развертку этой низкополигональной модели. Хорошая карта нормалей зависит от качества UV-слоя (развертывания).

Убедитесь, что низкополигональный меш связан с разверткой в UV редакторе. Пока мы в режиме Edit mode назначим "new image" в UV-редакторе (предварительно сохраним это изображение). Этот новый UV-рисунок завершен и готов к запеканию, которое наступит позже, в Шаге 3.

Шаг 2: Подготовка высоко-полигональной версии

Вы можете сделать высоко-полигональную копию низко-полигонального меша дублированием (Shift-D), затем применить Multires и т.п. и используя Sculpt Mode добавить деталей на поверхность.


Несколько подсказок...

  • Называйте каждый меш (Я свои назвал "Suzanne_hi" и "Suzanne_lo")
  • Вам НЕ нужны идентично развернутые UV-карты для каждого объекта. Ваш высоко-полигональный меш может быть совершенно другой моделью для остроумных эффектов.
  • При запекании Карты нормалей будет важно иметь оба меша в одном месте; один внутри другого (не бок о бок). При использовании Sculpt Mode, переместите низко-полигональный меш на другой слой (клавиша М).
  • Sculpt Mode поможет добавить детали поверхности для вашего низко-полигонального меша (выпуклости мускулов, кожные складки, кожные текстуры и так далее), но не пытайтесь смоделировать дополнения, которых у вышей низко-полигональной модели нет (например не отращивайте больше рук или большие дыры в коже).
  • Сохраняйтесь часто. Моделирование в Sculpt mode - трудоемкий для компьютера процесс, возможны баги.

Шаг 3: Запекание карты нормалей

Выберите через Shift+ЛКМ обе высоко- и низко-полигональные модели (низко-полигональная должна быть выбрана ПОСЛЕДНЕЙ!). Теперь надо это запечь (Scene(F10)-> Bake настройки) со следующими установками...

Убедитесь, что "Selected to Active" активно.
Это сравнит высоко-полигональный меш с низко-полигональным в плане обработки смещений поверхности.

Область нормалей должна быть установлена в "tangent". Это сгенерирует Карту, которая позволит объекту быть анимированным (например повернутым). Старые методы могли бы создать карту нормалей только для неподвижных объектов где может быть изменено только освещенность.
Теперь жмем большую кнопку "BAKE" и вы должны будите увидеть вышу новую, голубую сгенерированную UV-карту. (Мне нравится использовать размер карты 1024 пикселя для приемлемого разрешения).

Сохраните эту карту когда закончите.

Шаг 4: Применение карты нормалей к низко-полигональной модели

Высоко-полигональный меш нам больше не нужен. Просто применим вновь сохраненный имидж как текстуру низко-полигонального объекта с точно такимиже установками как на рисунке...
Увеличить


  • Панель Shading (F5)-> Материалы (Materials) (иконка: красный шарик)
  • Панель "Map input" измените проецирование с "Orco" на "UV".
  • Панель "map to" по умолчанию установлено "Col" (рассеяный цвет). Измените это на "Nor" (нормаль или выпуклость)


Чтобы карта работала как карта нормалей вместо карты выпуклостей, на панели Shading (F5) -> Texture (F6)(иконка из леопардовой шкурки), панель "Map image" щелкните "Normal Map" и выберите "Tangent" из следующего выпадающего списка.

Низко-полигональная модель с Картой нормалей
Увеличить
Низко-полигональная модель с Картой нормалей
Ваш рендер (F12) должен теперь показать модель низкого разрешения со всеми выпуклостями, которые были у модели с высоким разрешением. Этот прием хорошо работает на моделях с удвоением узлов (subdivide) с "мягкими гранями". Как вы можете видеть, этот низко-полигональный меш теперь выглядит очень похоже на высоко-полигональную "вылепленную" версию.

Результат хорошо работает в GLSL/textured режиме (перейдите в верхнее меню "Game->GLSL materials", а затем покажите 3D окно как "textured"). Игровой движок, также работает, но убедитесь, что удалили высоко-полигональную модель перед нажатием "P" или вы рискуете "завесить" свою машину.
Кроме того, мое решение использовать "Сюзанну" как модель не идеально. Проблемные коричнивые пятна могут быть очищены в Photoshop/Gimp и т.п., но гораздо проще избегать плохо расположенных поверхностей.
Так что вот. Теперь вы можете использовать карты нормалей (Normal Mapping), что бы придать вашим мешам с низким разрешением вид как у объекта с высоким разрешением, без затраты кучи времени на анимационные рендер.

Увеличить


Возврат на главную страницу

P.S. От переводчика. Ссылки по развертыванию "Сюзанны":

Личные инструменты