Главная

360 Видео из Unreal Engine 4

Posted on Январь 16, 2017

У меня появилась возможность записывать видео в формате 360 из UE4

Ретопология

Posted on Сентябрь 20, 2015

Доброго всем!

На написание этого небольшого урока меня сподвигла одна из недавних моделей в базе 3DDD.RU, набравшая множество голосов.

Собственно вот эта:

108835.53b65209d8e8d.jpeg

Эта моделька мне как раз подошла для одного интерактивного проекта, которым сейчас занят.

Отличная, качественная, красивая модель дивана. (Не реклама). Однако, полигонаж. Количество полигонов у модели составляет почти 620 000, что обсолютно не приемлемо для моего проекта. К тому же сетка модели, тоже не преемлема для real-time графики. Следовательно нужна ретопология.

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

Инструментов для ретопологии существует масса, такие известные программы, как Topogun, 3D-Coat базируются на этом. Так же есть возможность делать ретопологию в привычных нам пакетах 3DsMax, Zbrush, MudBox, Cynema4D и многих других.

Для себя я выбрал пакет с внушительными возможностями — 3D-coat. С помощью него я буду делать ретопо модели дивана. Сама суть ретопологии во всех пакетах одинакова, и лишь различается инструментарием. Возможно для Вас будет удобнее работать в другой программе. Советую попробовать для этого несколько пакетов.

Принципы ретопологии я покажу на примере одной из подушек дивана

PBL_08.jpg

Экспортируем подушку в формат obj. В программе 3D-coat идем в пункт File-Import-Reference Mesh и выбираем наш obj с подушкой. Далее переходим во вкладку Retopo

Я привык пользоваться инструментом Points/Faces для создания новых полигонов. Левой кнопкой мыши создаем точки, а правой создаем полигон между ними.

Сперва создаем грубую сетку из минимального кол-ва полигонов

PBL_09.jpg

С помощью инструмента Split Rings нарезаем нужные нам ребра, в нужных местах

PBL_10.jpg

На данном этапе можно остановиться

PBL_11.jpg

Теперь перейдем во вкладку UW и сделаем развертку. Для начала удалим созданные программой швы нажав кнопку Clear Seams

PBL_12.jpg

C помощью инструмента Mark Seams и зажатой клавиши shift делаем швы

PBL_13.jpg

После того, как все швы намечены нажимаем кнопку Unwrap

PBL_14.jpg

В правом нижнем окошкепоявилась наша раскладка uv, но она пока далека от идеалов. Об этом нам говорят красные пятна на сетке. Выбрав один из элементов сетки и нажав несколько раз кнопку Relax можно исправить эту проблемму. В этом же окошке можно трансформировать элементы uv как Вам нужно.

PBL_15.jpg

И заключительный этап, когда раскладка Вас полностью устроит, нажимаем Apply UV-set и наша раскладка сохранится на нашей модели. Теперь можно экспортить нашу модель в obj файл

PBL_16.jpg

Импортируем нашу новую модель обратно в 3DsMax. Теперь нам надо «запечь» normal map. Оставьте в сцене только наши hi и low-поли модели (Обязательно, чтобы их координаты совпадали)

PBL_17.jpg

Выберете LowPoly модель. Переходим в пункт меню Rendering и в открывшийся вкладке выбираем Render to texture. Поставьте галочку в поле Projection, нажмите Pick и выберете из списка hiPoly модель. Далее заполняем, как на скриншоте.

PBL_18.jpg

Теперь можно нажимать Render и наша normal map сохранится туда, где мы указали.

PBL_N.jpg

Вот, что вышло у меня

PBL_01.jpgPBL_03.jpg

Рендер: Corona | LowPoly 2432 против 81 622 у старой HiPoly | defuse 2048 Normal 2048

PBL_04.jpgPBL_05.jpg

Итого на одну подушку у меня было затрачено около 10 минут. Соответственно все подушки на диване реально сделать за полтора-два часа. Весь полигонаж дивана составит примерно 40 000 полигонов. Данное качество и экономия в 580 000 полигонов меня полностью устраивает) Вот собственно и весь небольшой урок о том, как можно уменьшить полигонаж и не сильно потерять в качестве.