Как из low poly сделать high poly
Перейти к содержимому

Как из low poly сделать high poly

  • автор:

Как из High poly сделать Low poly?

Создал High poly модель из 700к треугольников, по пайплайну я должен делать ретопологию, развёртку, запекать и текстурить. Но возник вопрос: а как делать эту ретопологию? Можно ли просто взять и отключить модификаторы bevel и subdivision surface и тем самым уменьшить количество полигонов или придётся создавать упрощённую форму обьекта? Нужно ли мне объединять все детали в один обьект? Нужно ли применять всё модификаторы перед развёрткой и экспортом в substance painter? Нужно ли разделять high poly и low poly по разным файлам или можно в одном? И последний самый глупый вопрос, полигон это четырёхугольник или треугольник? 🙂

Прости за нубские вопросы, заранее спасибо.

602cc919a33aa412566846.jpeg

  • Вопрос задан более трёх лет назад
  • 5230 просмотров

1 комментарий

Простой 1 комментарий

High Poly в Low Poly

Делаю RTS-игру. Сам не 3D-художник. Приобрел 3D-модель солдата за 50$. Но она оказалась слишком высокополигональной: около 50000 полигонов.
Когда я уменьшаю количество полигонов через Polygon Reduction в Cinema 4D, результат получается ужасный. С точки зрения геометрии — более менее приемлимый, но текстуры вообще некорректно отображаются.

1 | High Poly в Low Poly

2 | High Poly в Low Poly

Я так понимаю, что текстуры надо как-то перезапекать (diffuse и normal), чтобы все корректно было?

Модель также имеет привязку к скелету, т.к. должна будет анимироваться. Риг нужно будет делать заново?

Насколько сложно привести модель к low poly (3000-5000 полигонов к примеру) или дешевле купить какую-нибудь другую сразу в low poly?

  • arte_de_mort
  • Постоялец

#1
16:02, 25 сен 2019

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

  • endeavour_pr
  • Постоялец

#2
16:09, 25 сен 2019

macondos
> около 50000 полигонов
ну или так оставляй или ты лоханулся
вступай в клуб обманутых покупателей

отрежь ему лишнее, вон рацию к примеру нафига она ему, сколько в ней поликов ?

потом пихай в миксамо там вроде автоматически все делается(риг+скиннинг) без проблем

#3
16:53, 25 сен 2019

Что-то мне это до боли напоминает )))

Изображение

#4
18:19, 25 сен 2019

arte_de_mort
Благодарю.

endeavour_pr
Думаю, убрать рацию не спасет:

3 | High Poly в Low Poly

Наверное, забью пока на оптимизацию, потом другую модельку куплю.

  • endeavour_pr
  • Постоялец

#5
19:36, 25 сен 2019

macondos
рация, очки, рюкзак, . все детали на которых дофига поликов, там у него фонарик ?

#6
23:50, 25 сен 2019

«Поменять настройки» ничего не даст. Там много элементов, которые для low poly надо просто убирать под ноль, ремешки с пряжками, разные неровности на куртке, например. Т.е. речь идет о качественном изменении. Едва ли какой-либо автоматический алгоритм на это способен.

#7
1:45, 26 сен 2019

Похоже проект сильно устаревший, потому что сейчас актуальна Синька R20+
а плагин поддерживает максимум R11.
ощущение, что он десять лет, как забыт

#8
9:20, 26 сен 2019

радио
> Другое дело что macondos по этому пути не пойдет,
> т.к. потребуется изучать программки позволяющие это сделать.
Да, в 3D-редакторах я на уровне «подвинуть что-то или убрать».

Интересно, какие вообще расценки на то, чтобы сделать LOD на 5-7k и 2-3k poly с сохранением рига для вышеупомянутой модели (Soldier.zip).

  • Horace Godfrey Lewis
  • Постоялец

#9
22:13, 26 сен 2019

Удалить все лишнее, затем в збраш 2019, dynamesh->zremesher. Запечь текстуры с оригинала. Проверил по-быстрому

Изображение

Hа выходе 4к треугольников и 1 текстура, в оригинале 69к и 8 текстур по 2к. В принципе вариант рабочий, если заморочиться и сделать не на коленке. Риггинг придется делать заново, разумеется.

#10
13:25, 27 сен 2019

Horace Godfrey Lewis
> Удалить все лишнее, затем в збраш 2019, dynamesh->zremesher. Запечь текстуры с
> оригинала. Проверил по-быстрому
Это именно то, что я бы хотел. Только рюкзак нужен )
Плюс, думаю, с картой нормали запеченной, как в этом ролике было бы еще круче:

Запустить видео по клику - Как делать игры

zbrush | High Poly в Low Poly

Поставил даже zbrush, чтобы попробовать. Еле разобрался как двигать камеру, а при импорте вообще модельки плодятся почему-то при каждом клике )

  • Horace Godfrey Lewis
  • Постоялец

#11
18:21, 27 сен 2019

macondos
Карту нормалей можно запечь с оригинала точно так же, как и цветовую. Я правда не знаю точно, что получится, ибо никогда раньше подобной ерундой не занимался, но не вижу особых препятствий.
Если у тебя нет опыта работы с зеброй, то. в общем, очень много времени уйдет на освоение. Могу сделать модель в одном экземпляре без привязки к скелету где-нибудь на следующей неделе. Если нужно, пиши.

#12
9:17, 28 сен 2019

Поставил даже zbrush, чтобы попробовать. Еле разобрался как двигать камеру, а при импорте вообще модельки плодятся почему-то при каждом клике )

После первого клика, как появится моделька на экране, нажмите кнопку «едит» сверху слева.

#13
9:02, 1 окт 2019

Можно еоиграться с LOD. может переводить в low poly.

#14
23:03, 13 ноя 2019

Сделай ретопологию и будет счастье)

UV-развертка с lowpoly модели на high poly

Добрый день, такая ситуация: подготовил для Substance painter lowpoly версию модели с разложенными UVs, все нарисовал, но в итоге не совсем устраивает качество модели и теперь хочу результат применить к highpoly версии этой же модели.

Возможно ли каким-то образом теперь применить/адаптировать UV-развертку lowpoly к high poly версии это же модели чтобы перебросить на нее экспортированные текстуры? В общем-то без разницы в какой программе это делать, буду признателен за любую наводку по данному вопросу. Спасибо.

Статья 3/7 про сетку. Lowpoly, Highpoly и вертекс нормали

Это третья статья из цикла про ААА-пайплайн. Вот ссылки на все пять, выбирай ту, которая тебе нужна:

Эта статья поможет новичкам, которые хотят научиться делать high poly и low poly так, чтобы потом не переделывать. Ты узнаешь, что такое сетка, зачем она нужна и из чего состоит. Поймешь, зачем нужны ограничения по полигонам и как оптимизировать свою модель. Внимательное изучение статьи займет около 20 минут. Если возникнут вопросы — пиши в чат-бот (кнопка справа внизу). Там на связи живой менеджер 🙂 Он поможет разобраться. Ну что, давай начнем!

Из чего состоит любая 3D-модель

Сетка — технический этап и он требует понимания технологий. Прежде чем говорить о работе с low poly и high poly давай разберем из чего состоят все модели и какие особенности игровых движков нужно знать.

Любая 3D модель состоит из:

⚫️ Точек (vertex, вертекс)
➖ Рёбер (edge, эдж)
⬛️ Плоскостей (tris, polygon, nGon, трис, полигон, эн-гон)

#1 Точки (вертексы)

Это простейший элемент модели. У каждой точки есть 2 параметра: координаты в пространстве и направленность.

Координаты точки в 3D-пространстве

  1. Положение в пространстве — это ее положение по осям x, y, z;
  2. Направленность еще называется «вертекс нормаль».

Ребро — это 2 точки, которые соединены линией. У каждой из этих точек есть вертекс нормалей.

#3 Полигоны (polygons)

Из точек и ребер мы создаём многоугольники. В геймдеве их называют полигоны. Самый простой полигон состоит из 3 точек — это треугольник.

Помимо треугольников, есть четырехугольники (quad/квад) и многоугольники (n-gons/нгоны). Так что, ты можешь создать полигон из любого количества точек. Но учти — во всех игровых движках и 3D-программах все состоит из треугольников. Поэтому, когда ты делаешь квад или нгон — программа автоматически превращает их в треугольники (это называется триангуляция). У разных программ свои алгоритмы триангуляции. Потому, одна и та же модель в разных программах выглядит по-разному.

3 программы в которых одна и та же модель воспроизводится по разному. Marmoset не правильно посчитал полигоны и потому на модели даже нет отверстия внутри.

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

Слева искаженный блик, а справа хорошая триангуляция

Триангуляция — одна из ключевых задач создания игровой сетки. Мы переводим всё в треугольники руками, чтобы блики были одинаковыми.

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

Такие полигоны называются непланарами (non-planar)

Что такое запечка нормала

Нормали — это векторы, которые определяют, как свет отражается от поверхности. Они есть у каждой точки модели. Если их изменить, поменяется поведение света. Но векторы отражения нельзя поставить на случайное место, они находятся у точки.

Добавить нормаль внутри полигона не получится, их нужно фиксить руками в том месте, где есть вертекс (точка). Но есть крутая технология — карта нормалей (Normal Map), которая помогает обойти этот этап. Карта нормалей — это текстура, которая создает виртуальные вертекс нормали внутри каждого пикселя.

Вот простой куб:

Normal Map у него будет выглядеть как на фото внизу. По сути, это отсутствие карты нормалей, он никак не влияет на твою модель. Синий цвет означает, что нормали перпендикулярны поверхности.

Просто синий цвет. 128,128,255 RGB
А теперь откроем фотошоп и добавим на него вот такую детальку:

В красном канале горизонтальный градиент, в зеленом канале вертикальный. А теперь смотри что будет, если Normal Map привязать к модели:

Normal Map умеет рисовать детализацию с бликами поверх полигонов

Normal Map не рисуют руками, для этого используют технологии запечки и рисования нормала. Скопируй этот куб в отдельный файл и замодель на нем любую детализацию.

Теперь у нас 2 файла — обычный куб и куб с кучей деталей. Обычный куб — это low poly модель, в которой нет лишней детализации. Такую модель мы вставляем в игровой движок, потому что она не сильно детализирована и не перегружает его. А есть high poly модель — куб с кучей деталей.

Технология «запечки» позволяет перенести вертекс нормали с детальной модели на легкую low poly и сохранить их в Normal Map. В этом случае в кубе 6 полигонов, а модель отражает свет, как куб с кучей деталей.

Модель запеченная с Normal Map

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

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

Нейтральный голубой цвет (128,128,255 RGB) означает, что оригинальная вертекс нормаль не будет меняться. Красный канал отвечает за отклонение нормали влево или вправо, зеленый — вверх или вниз. Синий имитирует глубину.

Что происходит с сеткой после драфта?

Как только мы закончили драфт модели, на нем уже есть сетка. Но она еще не оптимизирована для игры. Внизу, на примере машины показан драфт, на котором из-за большой детализации превышен лимит полигонов. Если листнешь вправо, увидишь разницу по количеству полигонов на этапе драфта, LowPoly и HighPoly.

Драфт нельзя засунуть в игру. В нем либо движок неправильно стриангулирует сетку, либо лимит по полигонам будет превышен. Потому, для игр нужны легкие модели из треугольников и минимума полигонов. Такая модель называется LowPoly.

Вспомни наш куб. Все 8 точек влияют на силуэт, удалять ничего нельзя, иначе это будет уже не куб. Это и есть LowPoly модель, которую вставляют в игровой движок. По пайплайну, детализацию модели мы делаем с помощью запечки HighPoly на Normal. Поэтому мы должны взять драфт, сделать его супер детализированным, а потом запечь детали и накинуть их на LowPoly модель.

На последней модели всего 8 полигонов, а детализация сделана через Normal Map

Если работаешь по пайплайну для игры — на этапе сетки нужно сделать LowPoly и HighPoly с правильной топологией.

На драфте студент собрал основные формы, на high poly сделал модель пластичной и, а на low poly избавился от лишнего, сделав сетку легкой.

  1. LowPoly — упрощённая модель для игры с минимальным количеством полигонов.
  2. HighPoly — детализированная модель, которая нужна, чтобы перенести всю детализацию на low poly через Normal Map.
  3. MidPoly — компромис между бесконечно детализированными high poly и оптимизированными low poly. Используется в основном для кино.

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

Low poly для разных игр отличаются. На мобилках low poly очень легкая, 2к — 10к треугольников. На ААА-проектах только на главного персонажа может выйти 50-60к треугольников. А бывают проекты по 250к треугольников на персонажа.

В этой модели 55,4к треугольников

А это моделька идеально подойдет для мобильной игры, в ней всего 3,2к треугольников. https://skfb.ly/6IHTT

Очень клёвая моделька, всего на 13,2к трисов. Часть детализации делается картой прозрачности https://skfb.ly/6HwCM

Моделька из известной игры на 258,8к трисов https://skfb.ly/6MDUQ

Low poly сильно зависит от технологии. В мобильной игре, на важном объекте 5-7к полигонов. В старых играх важные объекты были по 10-20к полигонов. Современные игры тянут модели по 50-150к полигонов. А бывают модели и по 200-300к полигонов, например, корабли, танки или дома.

low poly с бампом — это как нормал, но чуть проще

Откуда берётся лимит на low poly?

Представь, что технический директор высчитал ограничение на локацию в 10 млн полигонов и 200 материалов. Получаем по 150-200 моделей в которых от 10 до 100к полигонов. Это ограничение взялось из производительности движка и железа, под которое делается игра.

Как сделать low poly?

Вот главные правила:

  • На low poly важны полигоны, которые влияют на силуэт формы.
  • Элементы, которые не видишь нужно удалять.
  • Всё, что слишком угловато на силуэте — округляй. Иногда для этого надо добавить новую геометрию.
  • Все плоские детали, не влияющие на силуэт, рисуются через текстуры или на нормале.

В правой форме больше сечений на внешней грани, потому геометрия выглядит более круглой, чем левая

Картинка, которую я стащил где-то в интернете. Обрати внимание, дядька убрал почти половину полигонов, просто удалив лишний мусор, но силуэт и формы модели не поменялись

  • Цилиндры кратны 4, а число сечений зависит от размера цилиндра

На нижнем ряду маленькие цилиндры слишком плотные, а большие недостаточно детальные

  • Удаляй задние стенки у объектов.
  • Пересекающиеся объекты утапливай друг в друга. Но не переусердствуй — тогда впустую потратишь место на развертке. Ставить их впритык друг к другу тоже ошибка — может появиться зазор, через который шов будет некрасиво бликовать.

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

На этапе low poly, это делать не обязательно, т.к. развёртку проще делать с квадратами, но потом этот момент нужно учесть.

Одна и та же модель с разной триангуляцией

High poly — это детализированная модель без ограничений по полигонам. Такие модели делают концепторы, а в видеоиграх они нужны для запечки нормала.

На high poly можно всё, потому что нет ограничений по полигонам. Главное ограничение — чтобы файл открылся на компе. На high poly работают с квадратами вместо треугольников, а от угловатостей избавляются при помощи сглаживания. В игровой движок такую сетку не засунешь, но она может быть сколько угодно детализированной и гладкой.

3 способа сделать high poly:

В видеоиграх high poly нужна для запечки нормала. Для сложных органических форм первым делают high poly, а потом «ретопят» в low poly.

Это сабдив геометрия под запечку

1) Cабдив (subD) — это создание high poly через поддержки. Ты делаешь формы, накладываешь поддержки, они правильно скругляются и получается более гладкая модель без угловатостей. Самое важное на сабдиве — понять, как строить лупы и кольца полигонов, чтобы они подчеркивали форму модели.

Слева полигональные кольца направлены без учета формы, а справа они аккуратно обводят угол.

2) Скульпт — это как пластилин, только в 3D. Мы используем скульпт, если у модели мягкие формы или органика. Программы для скульптинга (zBrush, mudbox, 3d coat) делают сетку настолько плотной, что наша модель становится мягкой и тянется как 3D-пластилин. Когда работаем со скульптом — можем работать с десятками и сотнями миллионов полигонов. Мы учим как скульптить для игр на бесплатном курсе по zBrush.

Тяжелую сетку из программ по скульпту оптимизируют с помощью алгоритмов
клевый скульпт https://skfb.ly/6MUvt

3) CAD геометрия — каждая поверхность задается формулой, поэтому модель гладкая и плавная, ее легко редактировать на любом этапе. CAD подходит для твердотельного моделирования из-за того, что модели получаются гладкими. Крутой CAD софт — Fusion 360. Его сделали для инженеров, чтобы они проектировали и собирали реальные мосты, машины, роботов. Если хочешь научиться моделить технику в Fusion 360 — присмотрись к нашему курсу Hard Surface Lite.

Это компромисс между бесконечно детализированными high poly и оптимизированными low poly. С этой сеткой делают детальные и интересные модели, которые клёво смотрятся в кадре, но в то же время они оптимизированы лучше, чем high poly. Mid poly больше используют для кино, чем для игр. В играх важно влезть в число полигонов установленное техническим директором, чтобы игра была быстрой и не лагала. А в кино важно, чтобы картинка была красивой, потому не так страшно перегрузить движок, просто рендерится фильм будет дольше.

Пример Mid Poly сетки из Love Death and Robots

Сегодня ты узнал много нового про вертекс нормали и работу с топологией. Разобрался, как работает технология запечки, зачем нужно делать 2 файла — low poly и high poly, как они связаны друг с другом через Normal Map.

К чему ведут провалы на этапе сетки?

— К плохой оптимизации и не аккуратному шейдингу;
— Плохую low poly даже текстуры не спасут;
— Ошибки с хардами и софтами испортят запечку и текстуры;
— Плохая high poly с потягами и плохим шейдингом — не запечется;
— high poly и low poly должны совпадать. Они должны быть похожи друг на друга и покрывать друг друга. Иначе будут проблемы на запечке.

Если хочешь освоить весь пайплайн и научиться моделить в 3D, присмотрись к нашему курсу Draft Punk. Ты поймешь, как устроен пайплайн разработки 3D-моделей в больших игровых студиях. Научишься создавать выразительные драфты. Разберешься с топологией, high poly, low poly, разверткой и запечкой. А в конце создашь полноценную 3D-модель по всем правилам пайплайна. Полученных знаний хватит, чтобы работать на фрилансе или джуном в студии.

Вот что получилось у наших студентов после курса Draft Punk:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *