Четверг, 16.05.2024, 07:32
Вы вошли как Гость | Группа "Гости" | RSS
 
РегистрацияВыходВход

.
1  2  3  4  5  6  7  8  9  10  11  12  13

Введение в карты нормалей
Стр.   1   2
Этим уроком я надеюсь помочь всем начинающим понять как использовать карты нормалей в своих моделях.

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

Вы узнаете несколько подсказок и трюков. Я собираюсь рассказать все шаг за шагом, так что любой сможет повторить урок. Я использую 3DS Max 8, но техника применима к любомй 3d программе, поддерживающей карты нормалей.
Я надеюсь урок Вам понравится.

Давайте начнем!
Прежде всего проверьте, что Вы работаете с теми же единицами измерения, что и я. Перейдите в меню Customize (Настройки) и в Units Setup (Установки единиц) проверьте, что выбраны Generic Units.

Второе - Вам нужно выбрать используемый драйвер. Перейдите в меню Customize снова и на этот раз в Preferences (Предпочтения). В всплывающем окне установите Currently Installed Driver (Текущий драйвер) в Direct3D 9.0.

Перейдите на закладку Viewports, нажмите кнопку Choose Driver (Выбрать драйвер), установите флажок Direct3D,
нажмите кнопку Advanced Direct3D..., проверьте, что выбрано DirectX 9.0.

БВА
Сначала Вам нужно сделать низкополигональную модель.
Сделаем box с размерами:
Lenght: 50
Width: 50
Height: 50
Это будет низкополигональная модель, так что переименуем ее в LowPolyDice.

Теперь Вам нужно сделать высокополигональную модель. Т.к. геометрия лоуполи и хайполи моделей должна занимать одно пространство Clone (Клонируем) LowPolyDice и назовем его HighPolyDice. Проверьте при клонировании, что выбрано Copy (Копирование) а не Instance.

Перед тем как делать хайполи модель всегда лучше спланировать, что Вы будете делать. Есть два пути сделать карту нормалей:

  • сделать лоуполи и хайполи модели и сгенерировать карту нормалей, используя 3dsmax
  • сделать только лоуполи модель и использовать Фотошоп для генерации карты нормалей.
После нескольких тестов я нашел, что лучший путь - комбинация этих двух. Если Вы имеете сглаженные ребра на модели лучше сделать карту из высокополигональной модели, но если на Вашей модели есть текст, или другие тонкие детали легче сделать ее в Фотошопе. 

Сначала это Вас запутает, т.к. Вы не знаете когда делать модель, а когда оставить ее для Фотошопа. Сейчас я покажу Вам как сделать кубик. Для скругления формы кубика и для дырок я сделаю высокополигональную модель, а текста я буду использовать Фотошоп. Я мог бы сделать и дырки в Фотошопе, но я захотел иметь более детализированную хайполи модель, так чтобы Вы могли увидеть что может делать карта нормалей, сгенерированная 3dsmax.
Далее описываются шаги, которые нужно проделать, чтобы получить хайполи модель: 1.Выделите все ребра модели и примените Chamfer (Фаску) со значением 2.

После этого выделите все ребра в углу и Connect (Соедините) их.
Этот шаг гарантирует, что кубик сохранит свою кубическую форму, когда будет применен модификатор MeshSmooth.


2.Выберите ребра вокруг кубика - Connect их с 2 сегментами и передвиньте их ближе к границе.
Это делается т.к. когда мы будем моделировать дырки нужно ихнесколько отделить от ребер.


3.Повторяем шаг 2, но на этот раз оставляем ребра на месте, так что расстояние между ними одинаковое.


4.Выделяем все грани, на которых должны быть дырки.
Применяем Inset со значением 2 и проверим, что выбрано By Polygon.
Не изменяя выбора полигонов применяем модификатор Bevel используя значения:
Height: -2
Outline Amount: -1


Проверьте снова что выбрано By Polygon.


Картинка справа поможет Вам определить на какой грани сколько дырок.


5.Применим модификатор MashSmooth Iteration:3. Обычно достаточно значение 2 для итераций, но т.к. геометрия проста я могу позволить себе более сглаженный результат.


Хайполи модель готова!


Перед генерацией карты нормалей нам нужно unwrap (развернуть) лоуполи модель. Тут некоторые вещи,которые нужно знать о развертке:
  • хайполи модель разворачивать не надо
  • Вы должны быть уверены, что нет полигонов, которые используют тоже UV пространство
Т.к. большинство из временного текстурного пространства очень важно есть путь разделить пространство текстур в карте нормалей. После того как Вы развернули модель просто как Вы это делаете когда не собираетесь делать карту нормалей , с полигонами использующими тоже пространство текстуры, offset (Сместите) UVs которая сверху другой UVs со значением 1 по U или V осям. Т.о. они будут использовать текстуры из следующей tile и карта нормалей будет генерироваться верно, т.к. 3dsmax не визуализирует в текстуры UVs которые не в гловном боксе UV редактора. После того как Вы сгенерируете карту нормалей Вы можете сместить UVs назад со значением -1. Это для более профессионального рассмотрения, результат будет тот же. Есть еще две важные вещи, на которые нужно обращать внимание при развертке лоуполи модели:
  • seams (швы)
  • streaching (растяжение)
Здесь Вы можете найти преимущества наличия хайполи модели. Если Вы имеете хайполи модель Вам не нужно заботиться о швах и растяжении, т.к. Макс будет заботиться о них. В большинстве случаев, однако лучше избегать растяжений, т.к. на картах с низким разрешением они будут видны. Чем меньше растяжений, тем больше швов Вы имеете. Вам нужно заботиться только о гранях, где Вы хотите добавить детали в Фотошопе. Очень трудно сделать настройки, если область, в которой нужно сделать модификации имеет шов в середине ее. Развертка этой модели очень простая. Примените модификатор Unwrap и выберите Flatten Mapping (Плоское картирование) из меню Mapping. Карта UV выглядит как эта:

Как Вы можете видеть есть много швов, но это не проблема, т.к. мне не нужно рисовать в Фотошопе на ребрах, нужно только сделать изменения в середине полигонов, где будет текст.


Здесь есть множество пустого места. Мы исправим это позднее. По некоторым причинам карта нормалей, генерируемая 3dsmax, квадратная. Но после того как мы сделаем карту при разрешении 512x512 мы можем изменить ее до 512x256 и затем снова настроить UV так что она совпадет с новой разверткой.

Все что Вам нужно сделать сейчас - передвинуть грань сверху и поместить ее в правый угол. После этого развертка выглядит так:


У меня по умолчанию Flatten Mapping выключено.

Чтобы его включить нажмите кнопку Edit, перейдите на уровень граней в модификаторе Unwrap UVW,
в меню открывшегося окна выберите Mapping=>Flatten Mapping.
БВА
Теперь, когда мы развернули нашу модель, collaps (сверните) стек, т.к. нам больше не нужно делать изменений в развертке и выведите диалог Render2Texture нажав 0 на клавиатуре или перейдя в меню Render и выбрав Render To Texture
Вот что Вам нужно знать об этом окне:
  1. Значение для Padding это число пикселей, которые визуализируют часть развертки так, что не будет черных областей вокруг швов. Значение 2 установленное по умолчанию достаточно, так что Вам не нужно изменять его, но проверьте, что флажок установлен и выбрано значение 2.
  2. В свитке Projection Mapping проверьте что флажок Enabled установлен и LowPolyDice выбрано и затем нажмите на кнопку Pick. Всплывет диалог Add targets (Добавить цель), где выберите HighPolyDice объект и нажмите Add. Если диалог пустой проверьте не скрыт (hide) ли объект HighPolyDice. В этой точке Вы можете увидеть что появился модификатор Projection в стеке LowPolyDice. Мы вернемся к нему позднее.
  3. Теперь нажмите кнопку Options (Опции) и в появившемся диалоге проверьте что Use Cage (11.) установлен и затем нажмите в том же диалоге кнопку Setup (Установка) (10.). Это выведет еще одно меню, в котором в свитке Global SuperSampling Вы можете выбрать опции для фильтрации визуализации Вашей карты нормалей. Наилучшая установка для этого Max 2.5 Star. Так что просто проверьте, что Enable Global Supersamplerвключен и Max 2.5 выбран. Если Вы не хотите визуализировать карту нормалей с фильтрацией просто установите флажок Disable all Samplers.
  4. В большинстве случаев Вы не используете Mapping Coordinates так что оставьте здесь все как есть. Если Вы нажмете render (визуализировать) и получившаяся текстура черная проверьте что выбрано Use Existing Channel (Использовать существующий канал) и значение Channel 1. Но пока не нажимайте render, нужно сделать много изменений прежде чем сделать это. Если Вы изменили канал для UV проверьте, что тут установлен тот же.
  1. Вернемся к окну Визуализации в текстуру. Нажмите кнопку Add и выберите NormalsMap из появившегося диалога и нажмите Add Elements.
  1. В области File Name and Type (Имя и тип файла) выберите путь куда Вы хотите сохранить Вашу карту и тип файла. Я рекомендую tga или bmp файлы. Не используйте jpg, т.к. компрессия значительно ухудшит качество карты нормалей.
  2. В области Target Map Slot (Целевой слот карты) Вы можете указать куда будет добавлена карта после визуализации. Я предпочитаю оставлять это место пустым, т.к. мен нравится добавлять ее вручную в Редакторе материалов. Если хотите, можете указать здесь Bump.
  3. Укажите size (размер) карты. Указывайте всегда окончательный размер, т.к. изменение размера впоследствии ухудшает качество. Для этой модели укажите 512.
  4. Кнопка render визуализирует карту. Если Вы нажмете ее сейчас, Вы увидите, что карта нормалей выглядит странно. Это потому, что Cage (каркас) не настроен.
Перед тем как нажать на кнопку Render Вам нужно настроить Cage в модификаторе Projection. Это очень важная часть - не забывайте о ней. Чтобы сделать это закройте диалог Render to Texture (не беспокойтесь о сделанных изменениях - они сохранятся) и нажмите на модификаторе Projection, появившемся над Editable Poly.
Модификатор Projection имеет подобъекты подобные модификатору EditPoly но только points (точки) могут настраивать контейнер.
Перед тем как что-то делать с каркасом проверьте, что включено Shaded и затем нажмите Reset (Сброс). ОпцияShaded включается, чтобы можно было увидеть где каркас пересекает хайполи модель а Reset сбрасывает Cage к форме лоуполи модели, что является хорошим стартом для настройки каркаса. Если вы имеете нерегулярную лоуполи модель большинство времени Вы будете перемещать точки инструментом Move так чтобы каркас не пересекал хайполи модель, но если Вы имеете модель похожую на нашу, намного проще использовать опцию Push.
Каркас должен быть как можно ближе к хайполи модели, но не пересекать ее.

Для этой модели лучший путь настроить каркас - Сбросить его, затем просто ввести значение 0.1 в Push Amount. После того как Вы нажмете Enter вы увидите, что Amount сбросилось в 0. Не беспокойтесь об этом, изменения в каркасе сделаны.
После того, как вы настроите каркас, выведите снова диалог Render to Texture и нажмите Render. Вы увидите окно, подобное тому, какое появляется при простой визуализации, но изображение в нем - UV карта. Это окно полезно, т.к. в нем можно увидеть, что каркас пересекает хайполи модель. Если это так, Вы увидите красные области. Это значит, что этих местах Ваш каркас пересекает хайполи. Если Вы получили это просто сделайте push каркаса немного больше.


Вот еще подсказка: Когда вы имеете более сложную геометрию лучше перейти в режим вершин (Cage) и перетаскивать вершины вручную, пока каркас не станет верным. Если Вы используете ползунок push вы вытянете все вершины на одно расстояние, что может привести к проблемам со сложной геометрией, так что используйте его только тогда, когда Вы уверены, что при этом каркас не пересечет другие части хайполи. Хороший пример - рука. Если Вы используете ползунок push каркас пересечет себя и хайполи модель между пальцами. Здесь лучше настраивать вершины каркаса вручную.



Карта нормалей выглядит так:я 
Теперь мы применим карту нормалей к модели и посмотрим как она выглядит. Чтобы сделать это откройте в Фотошопе сохраненную карту нормалей. Сохраните файл с расширением .psd, т.к. мы собираемся делать в нем изменения и сохранение файла в другом формате после каждого изменения просто расточительство времени. Лучше иметь один PSD файл со множеством слоев.

Теперь перейдем в Макс и откроем Редактор материалов (M). Выберем пустой слот и перейдем в слот и перейдем к слотуBump. Сначала установим значение в 100 (по умолчанию 30). Нажмем кнопку None и в появившемся окне выберемNormal Bump. Нажмем кнопку Normal и в появившемся окне выберем Bitmap. загрузим .psd файл, который Вы только что сохранили. Есть еще одна вещь, которую нужно сделать, чтобы увидеть карту нормалей в окне. В редакторе материалов включите DX Display of Standard Material в свитке DirectX Manager.


Как Вы можете видеть есть еще один слот здесь - Additional Bump. Это полезно, если Вы хотите добавить добавочные неровности к модели, но они будут видны только на визуализации, а не в окне просмотра.


Примените материал к низкополигональной модели и нажмите иконку Show Map in Viewport (Показать материал в окне). Если Вы все сделали правильно, Вы увидите лоуполи модель, выглядящую почти как хайполи.
Чтобы увидеть результат лучше создайте светильник Omni и переместите его вокруг модели, чтобы увидеть как она реагирует на него.

Т.к. все установки уже сделаны, теперь Вам просто нужно поработать в Фотошопе , чтобы внести изменения в карту нормалей, и вернуться назад в Макс, чтобы увидеть результат.
Прежде чем мы продолжим этот урок, Вам нужен nVidia плагин для Фотошопа, чтобы сделать grayscale слой в слоях карты нормалей.  

Стр.   1   2

Дата 16.05.2024 Время 07:32
Гора Ай-Петри
Поиск
Никитский ботанический сад


Крымские горы

Раскрутка Вашего сайта
Пасионаты / Санатории г.Ялты

Гостиницы / Отели г.Севастополя
Заработай на своем сайте!

Заработок для web-мастеров!

Покупка/продажа web-трафика



Copyright MyCorp © 2024
Введение в карты нормалей