Porsche — Underwater road
3d award

Экспорт в 3ds max: Невероятное уменьшение полигонов. Конкурсный урок

 VeRB 23.256.0 9 июня 2013 в 22:09

Здравствуйте!
Компьютерной графикой я занимаюсь уже более 3 лет. Это мое хобби. Начинал изучение 3D мира с 3ds max, потом попалась программа для 3-х мерного скульптинга Zbrush, которую полюбил и освоил. Хочу принять участие в конкурсе для того, чтобы поделится полезным опытом совмещения нескольких из лучших компьютерных программ для получения отличного результата творческой самореализации.

Как-то я столкнулся с проблемой, когда захотел экспортировать свою модель PtyREX из Zbrush для последующего рендера в 3dsmax. Сам ПтиРЕКС (без наездника и аттрибутов – только его туловище) вышло чуть больше 6 миллионов полигонов. Естественно никакой «макс» не выдержит обработку такой тяжелой сетки. В процессе экспорта из Zbrush я сталкивался со сбросом "ювишек", зависанием компьютера и т.п. Поэтому я не остановился и продолжил поиски решения проблем. Хочу поделиться с вами «формулой» экспорта модели из Zbrush в 3ds max (или любой другой пакет 3-мерной графики).

Итак, поехали - 7 шагов на пути к совершенству!

Используемые инструменты:

  • Zbrush: Unified Skin, Decimation Master и UV Master.
  • UVlayout.
  • 3dsMAX smoоthing groups.
  • xNormal.
  • Photoshop+nDo2.
  • 3dsMAX + Vray.
  • Marmoset Toolbag (по желанию).

Предисловие:
Для последующей работы понадобятся следующие нестандартные программы:
UVlayout, xNormal, nDO2, Marmoset Toolbag (по желанию). Необходимо их найти и установить.

I. Zbrush: готовая модель (tool).

1.1. Этот этап начинается тогда, когда вы закончили свое творчество и лепку из электронной глины, покрасили модель (Polypaint) и хотите отрендерить в 3dsMAX. Я взял модель  ПтиРЕКСа (около 6ккк полигонов, полипейнт). Никаких UV координат у нее на данный момент нет. Изображение - одно из финальных рендеров в Zbrush:

1.2. Экспортируем из Zbrush HI-poly модель (именуем Ptyrex_HP) в формат obj. Естественно, имя файла у вас должно быть свое. Я привел пример для того, чтобы в последующем понимать какие файлы и для чего использовать.
1.3. Содаем копию упрощенной модели через Unified Skin (меню Tool). Устанавливаем значение Resolution от 384 до 512. Smooth - в зависимости от модели 1 или 2 или 3.... Жмем Make Unified Skin

1.4. Переключаемся на вновь созданный tool.

1.5. Разворачиваем панель плагина Decimation Master. Для начала проводим анализ сетки (Pre-process Current). Затем выставляем значение % of decimation. Здесь хочу отметить, что вы настраиваете итоговую сетку, на которую будете натягивать карты (текстуру, нормал мэп).
Жмем Decimate Current.

1.6. Получаем перелопаченную сетку. Если не нравится - Ctrl+Z.

 1.7. Используя еще один плагин UV Master делаем развертку модели. Enable control painting и закрашиваем защищенные части (Protect), разрешенные для развертки (Attract). Защищенные части – те, которые должны быть на виду – со стороны взгляда на модель. При помощи кнопки Flatten - можно посмотреть развертку (Unflatten - собрать обратно). Здесь я особо не заморачивался.

1.8. Экспортируем в obj с настройками (Включенная кнопка Txr гарантирует сохранение UVs в файл) Именуем файл как Ptyrex_LP (Low Poly).

1.9. На этом Zbrush можно закрывать (предварительно сохраняем файл проекта).

II. UVlayout: запекание развертки.

2.0. Для начала я не понимал значения UVlayout, т.к. вроде бы Zbrush сохраняет карту развертки в obj, но, как показала практика без этой программы дальнейшая процедура в программе xNormal, в которой запекаются текстуры, невозможна - она не видит развертку, созданную Zbrush.

2.1. Открываем UVlayout. Окно, сперва может показаться непривычным, но - это временно :) Нажимаем Load - справа появится окно проводника, снизу - некоторые настройки. Нас интересует Edit. Выделяем в проводнике окне файл _LP, жмем Edit. Жмем большущую зеленую кнопку Load.

2.2. Модель загружена и имеет границы развертки.

2.3. 1) Открываем меню Display
2) Жмем 3D, а затем UV и видим расклад развертки в плоскости.

Цветовые поля показывают нам где могут быть проблемы - где все очень красно - все очень плохо. UVlayout позволяет исправить ситуацию, но мы не будем углубляться так далеко (если есть желание - можно найти и изучить по это программе отдельные файлы справки).

Управление разверткой в UVlayout (вне рамках данного урока):

  • наведение курсора на сплайн + "С" (удаление - Backspace).
  • ENTER разделение модели на 2 части.
  • наведение курсора на одну из частей + "D" - перевод 3-мерной в плоскость.
  • кнопка AutoFit - автоматическое размещение разверток в пределах границы квадрата.
  • наведение курсора на одну из частей + Shift+F, затем "пробел" - запуск процесса разворачивания. Еще раз "пробел" - остановка.
  • с зажатым "пробелом" и навигацией можно масштабировать, крутить и двигать части развертки.
  • Render - Save - сохранение развертки (+указать в конце пути в окне имя и расширение файла (.jpg) .

3) Сохраняем файл Save. Закрываем окно программы.

III. 3dsMAX: настраиваем группы сглаживания.

Этот этап чисто индивидуальный. Цель его – автоматически настроить группы сглаживания в низкополигональной модели так, чтобы было поменьше углов.
3.1. Выделяем все полигоны и очищаем группы - Clear All.
3.2. В настройке Autosmooth я поставил значение 60. В зависимости от модели.

3.3. Экспортируем _LP модель в obj. В настройках экспорта сохраняем текстурные координаты и группы сглаживания.

IV. xNormal: запекаем карты.

4.0. Окно xNormal напоминает медиаплеер, но, опять – не будем на это отвлекаться. Нам важен результат. 
В данном случае в окне xNormal нас интересует 5 кнопок:
1) High definition meshes – определяем модель с многополигональной сеткой и полипейнтом, экспортированную из Zbrush.
2) Low definition meshes – определяем модель с низкополигональной сеткой и экспортированной на этапе 3 из 3dsMAX.
3) 3D Viewer – просмотр и корректировка наложения двух моделей, экспорт новых мэшей (HP, LP) модели.
4) Baking options – настраиваем карты для запекания.
5) Generate Maps – для запекания и экспорта карт.

4.1.High definition meshes:
а) ПКМ на таблице сверху - Add meshes - выбираем файл _HI.obj
б) Стоит обратить внимание на необходимость снятия галочки Ignore per-vertex-color, т.к. именно сперва мы и будем запекать цветную текстуру.
в) Также по-умолчанию в программе я сразу настроил масштаб - 5.000 (внизу окна), т.к. это может помочь при генерации карт. Если масштаб не обновился в строке модели – кликните в окошке Mesh Scale и в ручную установите значение 5.000.
4.2. Low definition meshes:
а) ПКМ на строке – Add meshes - выбираем файл _LP.obj
б) Следует обратить внимание на масштаб (5.000) и установить галочку Use Cage.

4.3. 3D Viewer
а)  Жмем кнопку Launch Viewer.

б) Ждем генерации 3-мерного изображения.
Возможно, появится ошибка:

Для того, чтобы исправить проблему необходимо изменить драйвер.
в) Меняется он в самой программе. Открываем настройки:

г) Выбираем OpenGL.

д) Снова жмем кнопку Launch Viewer. Навигация в окне как в играх жанра «action» - передвижение с помощью кнопок WSAD, а ПКМ - управление камерой.
е) В окне мы видим модель. На самом деле в сцене присутствуют 2 модели HI и LOW поли.

HI-поли спрятана под LOW-поли. Задача "3D-вьювера" полностью покрыть HI-поли модель, так чтобы ее не было видно.
ж) 1) Жмем Show Cage - отобразится сетка. 2) Жмем Edit Cage - появятся дополнительные настройки:

3) Cage Opacity Gage Color – прозрачность и цвет сетки LP модели.
4) Изменение размера – глобальное экструдирование.
5) Настройки каждой точки в пространстве по осям координат
з) Выбираем точку (СКМ), которую хотим передвинуть для закрытия "дырок". Настраиваем ее положение при помощи ползунков.
и) Когда все манипуляции будут закончены нажимаем справа кнопку Save Mashes.
к) Далее действия по скриншотам (тип файла и автоподстановка):

л) Закрываем окно (кнопка слева внизу). Вы увидите, что программа в поля High и Low defenition meshes автоматически подставила экспортированные файлы из 3D-вьювера.

 м) Возвращаем обратно настройки драйвера - DirectX9.

4.4. Baking options:
Переходим в раздел Baking Options.
Нам важны:

  • папка и имя сохранение файла (при сохранении файла xNormal автоматически приставляет после вашего имени свои значения, соответствующие запекаемым картам).
  • Размер файла - чем больше - тем лучше, но тем намного дольше рендерится.
  • в разделе Maps to render для начала снимаем галочки, которые есть и устанавливаем галочку Bake highpoly's vertex color (помните я выше писал, что в разделе High defenition meshes мы сняли галочку  Ignore per-vertex-color. - это как раз для запекания основной цветной карты-текстуры).
  • Сглаживание (antialiasing). Обычно я выставляю среднее значение.
  • Edge padding и Bucket size - это настройки сглаженности границ.

5) Жмем круглую кнопку Generate Maps – получаем запеченную текстуру (сохраняется автоматически в указанную папку:

6) Закрываем окно (close). Переходим в раздел High defenition meshes ставим галочку Ignore per-vertex-color, забываем об этой галочке :)
7) Обратно в окно Bake options.
Снимаем галочку Bake highpoly's vertex color. Далее – Ставим поочередно галочку Normal – запекаем, Ambient occlusion – запекаем.

Ура! Дождались!
Примечание: Справа от каждой опции есть кнопка с "троеточием" - это настройки. Можно поковырять (Совет: В Ambient Occlusion слишком много лучей "rays" приведут к плачевному состоянию вашего PC.)
8) Откладываем xNormal в сторону. Он нам больше не понадобится. Кстати, он сохраняет все настройки, поэтому в следующий раз после запуска нужно будет их очистить.

V. Photoshop+nDo2: генерируем и склеиваем итоговые карты.

Хочу обратить внимание на плагин «nDo2», который, работая в паре с Фотошопом (ФШ), - очень интересная программа, которая за вас делает всю черновую работу.
5.1. Открываем ФШ, загружаем полученные карты в слои, выставляем их как на скриншоте, придаем наложение для карты AO - multiply.

5.2. Дублируем слой с картой Normal в новый документ и оставляем как активное окно.
5.3. Запускаем nDo2. Если при запуске программа не соединилась с ФШ - ничего страшного в этом нет - закрываем это окно:

5.4. Интерфейс nDo2 составляет 2 окна - слева окно настроек – справа – 3D превью (Навигация превью простая: ЛКМ – двигать, СРМ – крутить, скролл – масштабировать, ПКМ – двигать источник света). Нажимаем кнопку Convert.

5.5. Появится новое окно. Выделяем окошко AO. Нажимаем Active Doc.

5.6. После просчета появится новый документ (Ambient Occlusion) с несколькими папками со слоями.

5.7. Переносим его как новый слой в основной документ (Edit - Copy Merged ->Past).
5.8. Также в nDo2 на 3D объекте для просмотра появится отображение карты.
и возможность настроить тени (у кого нормально запустился nDo2. Если нет – карту можно откорректировать стандартными средствами ФШ).

5.9. Придаем новому слою (для наглядности его я назвал AO2) также режим наложения Multiply. Тени стали еще глубже.

5.10. Активизируем опять документ с картой Normal, разворачиваем nDo2 (если прежде он вам мешал и вы его свернули), жмем опять Convert, выбираем Cavity и жмем Active Doc.

5.11. Переносим получившийся слой в новом документе (серого цвета) в основной документ поверх слоев и придаем ему режим наложения Overlay. Обратите внимание, насколько увеличились детали текстуры.

5.12. Проделаем еще один трюк для улучшения качества карты Normal.
Включаем отображение слоя карты Normal. Устанавливаем слой Cavity наверх. И видим чудо :)
Сохраняем как новую карту Normal для последующего использования как Normal Bump в 3dsMAX.

5.13. После некоторых манипуляций с корректирующими слоями я получил отличную диффузную карту.

VI. 3dsMAX: рендерим.

6.1. Теперь у нас все готово для того, чтобы использовать полученные карты в 3dsMAX на низкополигональной модели, что, я надеюсь, вы сможете проделать самостоятельно.
6.2. Импортируем файл в формате .sbm.
6.3. Создаем материал (для своей модели я использовал настройки для создания кожи).
6.4. В материал загружаем текстуры, настраиваем рендер и свет :)

VII. Заключение: Marmoset toolbag.

Заключительным шагом предлагаю бегло познакомится с программой, которая является отличным просмотрщиком 3D моделей со всеми необходимыми картами - это Marmoset toolbag.
Эта программа позволяет в реальном времени отобразить наложение запеченных карт.
Навигация в окне - с зажатой клавишей Alt: ЛКМ – крутим, СКМ – двигаем, ПКМ – масштабируем.
7.1. Загружаем программу, открываем файл __LP.obj (кнопка Open...) с низкополигональной сеткой. Если нужны настройки света – вкладка Light.
7.2. Во вкладке Material в соответствующие поля загружаем карты (понимает форматы .tga, .psd), также ниже настраиваем блики, отражение.
7.3. Вкладка render - настройки отображения.

Послесловие.

Итак, после нелегкого пути, мы добились-таки своей цели. Используя xNormal для того, чтобы создать 3 карты, используя Полипейнт с высокополигональной модели и UVs с низкополигональной. Пропустили полученные карты через Фотошоп+nDo2 и получили 2 карты: диффузную (текстуру с тенями) и normal (глубина и детализация).

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

Автор: Денис Глаголев, ака VeRB

Конкурс уроков проводиться порталом www.3dmir.ru совместно с интернет-магазином «Третье измерение»

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

Online|Offline sergyn4ik 5.0 34.7 10 июня 2013 в 00:11 #0

Аватар sergyn4ik
IV. xNormal: запекаем карты.
в этой части урока на картинке и в списке перепутаны соостветствия цифр

Online|Offline Master_Prime 66.1 393.4 10 июня 2013 в 08:15 #2

Аватар Master_Prime
Я как раз искал такой урок. verb молодец

Online|Offline Sto 254.2 1404.2 10 июня 2013 в 10:10 #2

Аватар Sto
Затянуто как то по мойму можно было обойтись одним Zbruch !

Online|Offline VeRB 23.2 56.0 10 июня 2013 в 20:30 #0

Аватар VeRB
Master_Prime, спасибо. Кто ищет, тот всегдп найдет! )

Online|Offline stein_69 33.4 52.3 11 июня 2013 в 20:54 #-2

Аватар stein_69
Незнаю как вам, но такую грязную сетку я бы постыдился показывать Для как говорят на "скорую руку" сойдет. Но ретопологию лучше сделать вручную, да, дольше, зато качествунее и красивее, и проблем потом при анимации не будет.

Online|Offline VeRB 23.2 56.0 12 июня 2013 в 18:30 #0

Аватар VeRB
stein69, Автор урока не преследовал цель - создание анимации. Цель - была показать как уменьшить модель для последующей качественной визуализации. Конечно, можно сделать еще один небольшой шаг после пункта 1.6. и подключить еще Topogun, или хотя бы средствами Zbrush. Это не трудно, но ваш "зеленый смайлик" не по существу рассматриваемого вопроса.

Online|Offline Grin 4.1 49.0 13 июня 2013 в 18:19 #2

Аватар Grin
Не понимаю зачем такой перечень программ. Все выше описанные шаги делаются в ZBrush-e, к тому же он vector displacement выдать нам может, что не одна другая программа выдать не в состоянии, кроме мудбокса.

Online|Offline Peace_and_Love 53.9 230.7 13 июня 2013 в 18:58 #3

Аватар Peace_and_Love
По моему для урока как раз хорошо, что охватывается такой перечень программ. Ну а то что все можно сделать в браше, это понятно в нем можно и рендры делать, однако туторы по сторонним рендерам пользуются успехом. Как по мне урок вполне не плох, многие могут почерпнуть из него полезной инфы.

Online|Offline Feodor 67.4 1837.2 12 июля 2013 в 11:26 #1

Аватар Feodor
6 миллионов полигонов. Естественно никакой «макс» не выдержит обработку такой тяжелой сетки.
Зуб даёшь? :) Уже давно как выдерживает и выдерживает намного больше.

Online|Offline VeRB 23.2 56.0 30 июля 2013 в 13:26 #1

Аватар VeRB
ДОПОЛНЕНИЕ К УРОКУ:

В связи с тем, что вышла новая редакция Zbrush 4R6, а также, отвечая на вопрос/предложение stein69 - после шага 1.6. урока предлагаю сделать ретопологию при помощи Zremesher - новая функция, которая позволяет легко и, главное, качественно сделать ретопологию модели прямо в Zbrush. Находится он в меню Tool -> Geometry.

Пример:

1. Имеем перелопаченную топологию после Decimiation Master.


2. Кистью ZremesherGuide обозначаем основные линии топологии.


3. Нижамаем кнопку Zmesher (с настройками по умолчанию) и получаем результат в считанные секунды.

Что бы оставить комментарий вам необходимо войти или зарегистрироваться!

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

Моделирование кулака. Конкурсный урок.

Для одного персонажа мне необходимо было заскульптить руку, зажатую в кулаке. Хотя рука предполагалась в перчатке, в итоге я подошел к более-менее реалистичности и хотел бы поделится принципиальными шагами по скульптингу кулака.

Комментарии 0 Рейтинг 6 Просмотры 12 948 Автор: VeRB 29 июня 2013 в 14:13

Мёртвая тишина

Я рад данной мне возможность рассказать о моей работе «Мёртвая тишина». Задумки как таковой не было, практически все мои работы появляются спонтанно, я не люблю планировать, всегда думаю, что вдохновение приходит во время самой работы, так же, как и аппетит во время еды :)

Комментарии 6 Рейтинг 10 Просмотры 13 586 Автор: Sto 11 февраля 2012 в 10:40

Водяной. Конкурсный урок

Конкурсный урок от Станислава Блаженко aka Sto, по созданию "Водяного" в программе ZBrush.

Комментарии 23 Рейтинг 30 Просмотры 15 229 Автор: Sto 20 июня 2013 в 20:51

Making Of Medieval Daredevil

Привет всем! Я хотел бы поделиться с вами пошаговым процессом создания моей работы для Comicon 2011. Я изобразил «средневековую» версию одного из моих любимых персонажей: "Человек без страха" - Daredevil (Сорвиголова).

Комментарии 2 Рейтинг 6 Просмотры 16 053 Автор: venik 17 апреля 2012 в 14:07

Моделирование Бельфордского льва

В этом уроке вы будете создавать скульптуру бельфорского льва. Вы пройдете через все шаги процесса создания базовой сетки в 3ds Max (хотя работать будет любое приложение полигонального моделирования), экспортируете ее в ZBrush, а затем создадите окончательный детальный результат. Этот учебник предназначен для введения в 3d-скульптуру в ZBrush и ориентируется только на самые основные и важные скульптурные инструменты и функции. Не рекомендован для начинающих и продвинутых пользователей.

Комментарии 2 Рейтинг 6 Просмотры 12 086 Автор: diablo_ 28 января 2014 в 14:08

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

Форумещё

Конкурсы CGWarsещё

CG Art XXV
28.11.2016 — 07.12.2016 Комментарии7 Просмотров2 0

Блогиещё

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

Реклама

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