3D WORKSHOP: Normal Mapping in Blender
Материал из Blender3D.
Использование карт нормалей в Blender
Возврат на главную страницу
Автор: Lance Flavell(Lancer)
Содержание |
Введение
Используя карту нормалей (Normal Map), вы можете добавить высококачественные подробности поверхности для низко-полигональной модели. Эффект похож на карту неровностей (Bump Map), за исключение того, что алгоритм карты нормалей использует больше каналов. Проще говоря, карта нормалей более точна и выглядит менее "нарисованной на", чем плоский полутоновый метод карты неровностей.
Карта нормалей может придать низко-полигональному мешу вид высоко-полигонального, но без нагрузок на процессор, которые вызвал бы высоко-полигональный объект. По этим причинам, они обычно применяются в играх где различные герои и модели должны выглядеть ужасно детализированными, но без замедления в процессе игры. В этом уроке вы будете использовать карту нормалей, чтобы сделать вид низко-полигонального объекта как у его высоко-полигонального варианта. для работы необходимы базовые знания Blender, включая UV-развертывание и Sculpt mode (режим Скульптуры/Лепки).
Тезисы:
- Вы начнете с низко-полигональной модели, с которой вам необходимо снять UV-развертку
- Сняв один раз развертку, продублируете низко-полигональную модель и используйте Sculpt режим, что бы создать высоко-полигональную копию.
- Вы пройдете простой процесс запекания, что бы создать карту нормалей на основе различий между двумя моделями.
- И наконец, вы примените карту нормалей к низко-полигональной модели и увидите эффект.
Шаг 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" из следующего выпадающего списка.
Результат хорошо работает в GLSL/textured режиме (перейдите в верхнее меню "Game->GLSL materials", а затем покажите 3D окно как "textured"). Игровой движок, также работает, но убедитесь, что удалили высоко-полигональную модель перед нажатием "P" или вы рискуете "завесить" свою машину.
Кроме того, мое решение использовать "Сюзанну" как модель не идеально. Проблемные коричнивые пятна могут быть очищены в Photoshop/Gimp и т.п., но гораздо проще избегать плохо расположенных поверхностей.
Так что вот. Теперь вы можете использовать карты нормалей (Normal Mapping), что бы придать вашим мешам с низким разрешением вид как у объекта с высоким разрешением, без затраты кучи времени на анимационные рендер.
P.S. От переводчика. Ссылки по развертыванию "Сюзанны":
- Глава_10.1:_UV_развертка_и_Раскрашивание._Теория
- Глава_10.2:_UV_развертка_и_Раскрашивание._Практика
- в версиях старше 2.46 режим выбора поверхностей совмещен с режимом редактирования объекта.



