Porsche — Underwater road
3d award

Normal Mapping в 3dsmax

 seaman 35.0117.0 15 января 2007 в 00:00

Введение.

Если Вы обращали внимание на технологию видеоигр, Вы слышали о термине "Карты нормалей". Игры подобные Doom 3, Half-Life 2, и F.E.A.R. все используют эту технику, чтобы показать так много деталей, как только возможно без причинения вреда компьютеру от перегрузки. В это уроке Вы узнаете все об основах карт нормалей и их применении в движке Torque Shader Engine. Прежде чем мы начнем, важно узнать и понять Что есть карты нормалей?

Normal Mapping в Nut Shell

Предположим, что Вы испльзуете 3DS Max достаточно давно, чтобы заинтересоваться техникой карт нормалей, следовательно достаточно уверенно чувствуете себя в 3D пространстве. Вершины в этом пространстве описываются координатами вдоль осей X,Y и Z. Когда Вы применяете 2D текстуры к Вашим 3D моделям, Вы приписывате им UVW координаты. UVW координаты основываются на полигонах, где U и V наиболее важные, т.к. они представляют X и Y, в то время как W представляет как текстура будет обертываться вокруг нескольких полигонов на модели в 3D пространстве.

В карте нормалей, RGB картинка кодирует и XYZ и UVW координаты. Она содержит размещение текстуры, куда Вы ее развернули в UVW, но каждый пиксель представляет XYZ координаты своим цветом. Любой красный пиксель будет транслироваться в X координату, зеленый в Y, а синий в Z. Результат сводится к смеси этих трех цветов, так что пристально рассмотрим пример карты нормалей, чтобы почувствовать как она будет транслироваться.

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

Давайте начнем.

Т.к. это урок не по моделированию, я предполагаю, что Вы уже имеете и высокополигональную и лоуполи сетку и готовы сделать карту нормалей. Еще раз мы будем работать в 3ds max, но все сказанное может быть легко приспособленно для других программ трехмерного моделирования. Для этого урока я построил очень простую стенную панель, приспособленную для мозаичного повторения, и импортировал ее в TSE. Вам нужно проверить, что Ваша модель центрирована для уменьшения трудов при создании карты нормалей. Также всегда помните одну вещь: НАЗЫВАЙТЕ ВАШИ ОБЪЕКТЫ! Я не могу достаточно объяснить насколько легче все будет, если Вы все соответственно назовете. Здесь я имею основной план высокополигональной модели справа и рядом лоуполи (Это просто чтобы их показать они обе здесь, по настоящему они наложены друг на друга, что Вы далее увидите).

Ваша первая задача сделать развертку (unwrap) вашей лоуполи модели. Есть другие уроки, которые описывают этот процесс, так что я пропущу эту часть. Ok, Вы имеете обе модели и развертку низкополигональной модели. Что дальше? Выберите лоуполи модель, нажмите "0" или выберите Rendering-> Render to Texture. Следующие несколько скриншотов показывают что описывается, так что попытайтесь следовать им так аккуратно, как возможно или Ваш результат может оказаться не таким как надо.

Нажмите Setup (Установка) в Render Settings (Установки визуализации).

На закладке Renderer включите Enable Global Supersampler.

Закройте установки визуализатора и перейдите ниже к свитку Projection Mapping. Включите разрешение (enable) Projection Mapping (Картирование проекций) и нажмите Pick (Взять) для указания высокополигональной модели.

Укажите хайполи модель и нажмите Add (Добавить).

Пройдите дальше вниз в окне Render to Texture и нажмите Add в свитке Output (Выход). Затем нажмите NormalsMap и Add Elements.

Пройдите еще ниже и Вы увидите, что Вы можете назвать и выбрать Ваши выходные установки карты нормалей. Также выберите размер Вашей карты нормалей (помните, что большие размеры создают большую нагрузку на производительность, и никогда не делайте больше 1024).

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

Здесь как клетка должна выглядеть когда Вы закончите; полностью охватывает обе сетки.

Окончательно вернитесь в окно Render to Texture и перейдите в самый низ. Проверьте что Вы в правильном окне для визуализации переда сетки. Нажмите Render для визуализации Вашей карты нормалей.

Пофвится подобный диалог. Нажмите Continue (Продолжить).

Вы наверное рассердитесь. "Это только визуализация Вашей глупой сетки! Она не выглядит как карта нормалей, которую Вы показывали ранее!" Ну это потому что это не карта нормалей. Перейдите в Вашу папку, куда установлен 3dsmax и посмотрите в папке Images. И - ага, там есть прекрасная карта нормалей.

Скройте Вашу хайполи сетку. В редакторе материалов создайте новый стандартный материал и примените его к лоуполи сетке. Нажмите на карте Bump и выберите Normal Bump. В поле Normal выберите Bitmap и найдите Вашу только что созданную текстуру.

Поместите светильник Omni в сцену и Вы увидите результат что-то вроде этого:

Перевод Беляев Валерий ака seaman.

Комментарии (Всего: 9)

Online|Offline Даниил 6.0 -0.1 17 января 2007 в 15:57 #0

Аватар Даниил
картинок не видно, залей плиз!!!

Online|Offline vicol 0.0 0.0 22 января 2007 в 04:46 #0

Аватар vicol
Так до конца и не понял - для чего же он нужен этот Normal Mapping?

Online|Offline Tweak 2.0 0.0 10 февраля 2007 в 22:18 #0

Аватар Tweak
Чтобы комп разгрузить! Делаешь ты супер мега видео, где всё хайполи, так можешь и сидеть годами, пока визуализация, а так просто Нормал Мэппинг и всё улучшаеться)

Online|Offline asist 0.0 0.0 5 июля 2007 в 18:31 #0

Аватар asist
отличный урок! для тех кто занимается моделингом для игр это необходимо по крайней мере знать, потому что реализовать такую красоту на програмном уровне удалось, как это уже было сказано в уроке, лишь в единичных играх.
До урока знал ЧТО, но не знал КАК. Спасибо!

Online|Offline RUsH.MoD 0.0 1.0 26 декабря 2007 в 21:10 #0

Аватар RUsH.MoD
Эта технология уже устарела! Сейчас все переходят на Relief mapping.

Online|Offline gudvin 0.0 1.0 15 сентября 2009 в 20:45 #0

Аватар gudvin
+10

Online|Offline tallmann 0.0 0.0 27 марта 2010 в 22:53 #0

Аватар tallmann
Блин))))) давно искал такой урок )))))) неужели ))

Online|Offline eraking 0.0 0.0 26 июля 2010 в 10:16 #0

Аватар eraking
то есть нормали это и есть текстура?

Online|Offline ЛУНАТИК 0.0 1.0 24 ноября 2010 в 14:31 #0

Аватар ЛУНАТИК
а чё это такое
Что бы оставить комментарий вам необходимо войти или зарегистрироваться!

Советуем почитать

Введение в карты нормалей

Этим уроком я надеюсь помочь всем начинающим понять как использовать карты нормалей в своих моделях. В этом уроке мы будем создавать кубик, показанный выше, используя простой бокс и карту нормалей.

Комментарии 15 Рейтинг 2 Просмотры 65 061 Автор: seaman 14 января 2007 в 00:00

Объёмный свет в Mental Ray

В этом уроке рассказывается о создании объёмного света в Mental Ray. Настройка материалов, освещения, эффектов и самого рендера.

Комментарии 10 Рейтинг 12 Просмотры 40 035 Автор: diablo_ 12 июня 2011 в 10:52

Создание материала нержавеющей стали

Урок, по созданию материала нержавеющей стали.

Комментарии 12 Рейтинг 0 Просмотры 51 943 Автор: diablo_ 19 января 2006 в 00:00

Моделирование ВАЗ 21093

Один из лучших и популярных уроков по моделирования автомобиля ВАЗ 2109 «Девятка». Это первый урок, по моделированию русской машины.

Комментарии 12 Рейтинг 0 Просмотры 220 928 Автор: diablo_ 21 мая 2006 в 00:00

Видео Управление экспозицией в Mental Ray

Видео урок по Mental Ray и 3ds max. Рассказывающий о настройке и управлению экспозицией. Урок на английском языке. Рассчитан на опытных пользователей 3ds max.

Комментарии 0 Рейтинг 3 Просмотры 5 059 Автор: diablo_ 22 октября 2013 в 20:03

3D моделиприслатьещё

Форумещё

Блогиещё

Популярные урокиещё

Реклама

3dmir.ru - Вся компьютерная графика
      www.megastock.ru