Ретопология тряпичных поверхностей. Конкурсный урок.

Ретопология тряпичных поверхностей. Конкурсный урок.

Я не назову метод очень быстрый, в зависимости от навыка и сложности модели, ретопология может занять время, от тридцати минут, до нескольких часов, но это будет в любом случаи быстрее и удобнее, чем заниматься ручной ретопологией, так как в данном методе, может задействоваться большое количество полигонов, так как мы имеем дело с “High Poly modeling”, а с ним работать руками, довольно сложно. В этом уроке так же рассмотрятся все варианты ошибок, которые могут возникнуть при этом методе топологии. Сразу говорю, метод несколько обширен в применение инструментов, которые в принципе в других сценах могут не возникнуть, но если геометрия у вас будет в результирующем моменте ломаться, тут найдёте метод их устранения.

Особую отрасль кузнечного дела представляет художественная ковка – изготовление металлических изделий методом ковки, содержащих в основе свойства художественного произведения. При ковке изделий мастера используют стали различных марок, цветные металлы, сплавы.

В чём прелесть этого метода:

  1.  возможность ретопить ткань с большим количеством фейсом.
  2.  самое главное, сохранится нужный нам маппинг, что кстати не может обеспечить нам “Mudbox 2014” с его инструментом “retopologize”, а включать Ptex затратно, так как ткань может в себе содержать большой тайлинг, а тайлинг Pteh не любит, да и не все версии3ds max поддерживают его.

Что у нас должно получиться:

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

Ну так, поехали!

Первая часть марлезонского балета!

За основу урока, мы возьмём стандартную модель CLO3D, которая грузится по умолчанию, в ней есть всё, что нужно для нашего урока, включая все возможные косяки и геморрой.

Запускаем CLO3D.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

Что нам от неё нужно: жмём “Export” в формат OBJ, и в появившемся окне ставим галочку “Unified UV Coordinates”.

alt

Эта функция группирует в одно окно маппинга, все объекты, находящиеся в сцене, вот, что должно получиться в 3ds max.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

В окне Unwrap UVW, нажимаем выделение по полигонам и ставим галочку, выделение всего элемента, после выделяем один первый нам попавшийся.

alt

Далее, в стек 3ds max добавляем “Edit Poly” модификатор, и в появившемся окне переходим под объект полигон и видим, что выделение в “Unwrap UVW” скопировалось в Poly объект. Жмём “Detach”.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

После чего, из стека удаляем модификатор “Edit Poly” снова переходим в Unwrap UVW, повторяем эту операцию со всеми элементами в маппинге, их тут всего пять. Что бы объект был полностью разобран на части. 
Должно получиться так:

alt

Для чего это делается? В дальнейшем, мы будем использовать скриптhttp://www.scriptspot.com/3ds-max/scripts/textools-toolbox-for-the-texture-artist он сторонний и пока является бесплатным в пользовании и распространении. В этом скрипте есть очень полезная функция.

alt

При её нажатии, скрипт разворачивает по маппингу всю геометрию в плоскость, без этой функции данный урок не получился бы.
Так для чего же мы отделяли геометрию друг от друга? Что бы количество вертексов в объекте при конвертации не менялось! Для чего, по конкретнее объясню позже, походу урока. А пока выделяем первый элемент, он у нас в маппинге самый левый.
На что стоит обратить внимание в первую очередь, при выделении первого объекта, он у нас самый левый, крайний в маппинге, это разорванные края.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

Открываем Textools и жмём кнопку “UV to 3D”, как это изображено на рисунке выше. Пока это мы делаем в качестве инспектирования и устранения ошибок. В получившейся плоскости выделяем все вертексы и спаиваем их. Опять кладём модификатор “Unwrap UVW” открываем окно, редактирование маппинга, и видим такое безобразие.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

Выделяем все вертексы и жмём в Tools > Weld select, спаиваем всё.
Но как видно, в конце спаялось, но не всё.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

В “UV editor” выделяем все нам нужные вертексы.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

В Tools жмём Break.
Разбираем каждый вертекс по отдельности, а потом так же по отдельности выделяя по одному, сшиваем при помощи инструмента “Stitch to Target”.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

В конце должно получиться так.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

Затем снова жмём, UV to 3D, модель снова принимает первоначальный вид, но уже с убранными рваными краями.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

Коллапсируем стек.
Теперь нам нужно проверить, как происходит морфирование из одной формы в другую. Для этого мы копируем объект и на копию опять используем “UV to 3D”, на скопированный объект кладём модификатор Morpher, и назначаем в нём первый объект.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

ПЛОХО!!!! А вот почему плохо, я так и не разобрался, количество полигонов и количество вертексов в двух объектах, в точности совпадают, но почему геометрия криво морфируется, Видимо нарушилось ID нумирация вертексов, с ID нумерации в маппинге, в результате на выходе получается такая ерунда. Как с этим бороться — быстро поменять топологию переиначить сетку объекта. Для этого, удаляем морфируемый объект, он нам больше не нужен, возвращаемся к первому. Кладём на него модефикатор “HSDS modifier”, и добавляем “Subdivide”.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

Снова повторяем операцию с Morpher`ом,
“копируем объект и на копию опять используем “UV to 3D” и на скопированный объект кладём модификатор Morpher, и назначаем в нём первый объект.”

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

С этим элементом почти всё, осталось только его с масштабировать под одежду, для этого мы просто воспользуемся инструментом “Scale” и на глаз увеличим под всё остальную одежду.

Идём дальше:
На что стоит обратить внимание в этом элементе и в последующих так же:

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

При развёртки  “UV to 3D”

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

Количество вертексов меняется, а это недопустимо в нашем методе. Это происходит потому что, до конвертации геометрия была спаяна,  а “UV to 3D”, разрывает геометрию по маппингу, добавляя новое число вертексов, меняя при этом их ID нумерацию, которая в дальнейшем сослужит нам плохую службу, то есть нам придётся уже в первоначальном объекте так же их порвать.

Что мы для этого делаем:
Удаляем “Edit Poly”, возвращаем объект в прежнее положение, снова кладём “Edit Poly” и уже руками рвём необходимые нам края при помощи инструмента Split, находящийся в подобъекте “Edge”, всё, готово.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

И теперь всё это повторяем на всех оставшихся элементах! Не забываем каждый элемент проверить по отдельности на идентичность в количестве вертексов, это очень важно, они должны совпадать! Когда всё сделано, можно объединить эти четыре элемента, в один.
Дальше: открываем CLO3D, сейчас будет немного математики. В CLO3D, включаем показать размеры линий, а дальше всё делаем, как показано на рисунке ниже.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

Записываем в блокнот, или запоминает размер 695мм, он нам пригодится. В 3ds max, выделяем этот элемент и на нём применяем снова “UW to 3D”, затем заходим в настройки 3ds max, Customize > Preference и во вкладке General выкручиваем “Precision” на полную катушку, на 10, это параметр, отвечающий за количество знаков после запятой, так как излишняя точность нам не помешает.

alt

Жмём ОК. Замеряем этот же отрезок в 3ds max и делим на ту длину отрезка, которая у нас значится в CLO3D, то есть 695/128,407699585 = 5,412448024894, это мы получили значение, насколько мы должны увеличить UWV координаты. Для чего это объясню в конце урока.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

УДАЛЯЕМ в стеке “Edit Poly”, тем самым возвращаем объект в первоначальную форму и кладём на него модификатор, “UVW Xform”, во все параметры “Tile”, вписываем получившийся путём деления размер, 5,412448024894.

alt

В конце этой операции, добавляем HSDS модифер, и один уровень Subdivide.

Всё, первая и самая сложная часть марлезонского балета закончена, приступаем ко второй!

На получившийся у нас объекте, применяем уже полюбившийся нам “UV to 3D”, получаем такую геометрию. В “Edit Poly” выбираем “Sub object” – “Border”, в нём выделяем все края, после жмём параметры “Create Shape” и в его параметрах выбираем значение “Linear” жмём OK.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

На получившийся сплайн кладём модификатор “Extrude”. Создаём в стороне объект Box.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

А на “Extrud`ированный” объект накладываем “ProBoolean” и в нём выставляем параметре, в свите “Advanced Options”, ставим флажок под сложным названием, который натощак не выговоришь,  “Make Quadrilaterals” и флажок на «Remove Only Invisible», после чего, выбираем “Start Picking”, указываем на созданный “Box” и любуемся тем, что получилось.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

Далее накладываем в стек модификатор “Edit Poly” и удаляем всё основание получившегося объекта, делая его двух мерным. Сверху накладываем “UVW Map”, “Planar” с равными значениями “Length” и “Width”, что бы стороны его были равны, “1×1”.
Дальше полученную новую геометрию, прикладываем к нашей старой геометрии, при помощи “Snap”. На новый объект назначаем модификатор, “Skin Wrap” и в нём жмём “Add”, указываем на старую геометрию. Ждём некоторое время…
В зависимости от количества полигонов, ждать иногда приходится долго.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

Выбираем старую геометрию, в ней удаляем модификатор “Edit Poly”, смотрим, что должно получиться.
Тоже самое повторяем на оставшемся элементе. Затем всё это в “Edit Poly” спаиваем разорванные края, правим ошибки и вот, что у нас должно получиться.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

Ещё…

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

И ещё…

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

Надеюсь, профессионалы оценят мой труд и он не пропадёт даром.
Ещё есть моё старое видео https://vimeo.com/27964580, где правда без комментариев, так как из-за навороченности звукавухи, не работал микрофон, в итоге просто музыка, чтобы не было скучно.

Так же в подтверждение, о работоспособности моего метода, другие сцены.

Nadin Mesh Smooth не применял.

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

Pirat

http://www.3dmir.ru/image/cursor/zoom.cur);»>alt

Теперь хочу ответить на несколько вопросов, которые появятся во время прохождения урока.

  1. Почему не “Mudbox 2014” там же теперь всё делается в одном клике? — Да, делается, но при этом уничтожается весь маппинг, а делать новый, уже очень сложно, меняется структура и форма, всего объекта, нужно очень долго и скрупулёзно, возится, что бы приблизиться к нужному результату и не факт, что он может устроить.
  2. Для чего мы замеряли размеры в CLO3D, сопоставляли с 3ds max, потом вычисляли? Вы заметили, когда применяешь на поверхность “UV to 3D”, плоская поверхность по площади, становится меньше объёмного объекта, она не совпадала по размерам. Всё бы ничего, если бы не работа модификатора “Skin Wrap”, чем меньше плоский объект, тем потом швы будут больше. Так как вертексы плоского объекта, следуют за объектом который принимает форму объёмного, получается некая растяжка по краям, поэтому, мы масштабировали маппинг под реальный размер объекта. Что бы потом легче, можно было их все спаивать в “Edit Poly”.
  3. Зачем столько телодвижений? На самом деле, не всегда “UV to 3D”, корректно сохраняет количество вертексов, а то и вообще меняет их порядок ID номеров, в итоге при деформации, морфировании от плоской формы к объёмной, объект разрушается и следуемые за ним вертексы, не правильно принимают в пространстве положение.
  4. Почему сразу не использовать HSDS модификатор? Если вам лень ретопить и вас устраивает такая сетка и не жалко ресурсов системы, то пожалуйста. Но запомните, HSDS есть много оперативной памяти и с большим количеством полигонов, она сильно подгружает систему, причём очень заметно, намного больше чем “Mesh Smooth”. Тем более сложно работать с такой геометрией.
  5. HSDS модификатор, применил только в данном уроке, в собственных сценах такой необходимости некогда не возникало, так что, это была крайняя необходимость в его использовании. Так что, если у вас всё-таки геометрия ломается, хотя количество вертексов совпадают, а разрезы сделаны в точности как в маппинге, используйте HSDS. Если опять ошибки, значит, что-то вы делаете не так, что-то пропустили, или фейс разделён не там, или где-то остался один, спаян.

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

Автор: Feodor

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