Найти в Дзене

Процедурные меши и триангуляция

Процедурные меши и триангуляция Несколько лет назад я писал небольшую статью про триангуляции. Основной профит от статьи скорее в этом репозитории. Я даже недавно не поленился запихнуть это всё в пакет (хотя ещё нужно будет сделать свой кастомный скоуп пакетов на досуге) Уметь в Unity манипулировать данными меша довольно полезный навык. И в 3д, и в 2д. В статье указан базовый пример игры, где это вообще маст-хев. Был раньше такой класс головоломок-платформеров, которые проходились за счёт рисования простых форм, по которым дальше нужно было карабкаться. Но на самом деле задач больше, допустим меш каттинг. Если в разрезаете меш плоскостью, то в данном случае вы получаете на самом деле набор контуров (2д). По которым можно построить меш и наложить материал, который должен быть на разрезе (в играх аля beat saber и fruit ninja можно использовать такой подход). И многое другое на самом деле, вопрос тут ограничивается фантазией. При попадании пули натурально разбивать стекло (и да, это можно

Процедурные меши и триангуляция

Несколько лет назад я писал небольшую статью про триангуляции. Основной профит от статьи скорее в этом репозитории. Я даже недавно не поленился запихнуть это всё в пакет (хотя ещё нужно будет сделать свой кастомный скоуп пакетов на досуге)

Уметь в Unity манипулировать данными меша довольно полезный навык. И в 3д, и в 2д. В статье указан базовый пример игры, где это вообще маст-хев. Был раньше такой класс головоломок-платформеров, которые проходились за счёт рисования простых форм, по которым дальше нужно было карабкаться. Но на самом деле задач больше, допустим меш каттинг. Если в разрезаете меш плоскостью, то в данном случае вы получаете на самом деле набор контуров (2д). По которым можно построить меш и наложить материал, который должен быть на разрезе (в играх аля beat saber и fruit ninja можно использовать такой подход). И многое другое на самом деле, вопрос тут ограничивается фантазией. При попадании пули натурально разбивать стекло (и да, это можно сделать в реалтайме), уточнение сетки меша для аккуратной деформации металлической пластины при попадании той же пули. В целом в мат. моделировании огромное внимание уделяется понятию "Mesh Refinement" В тех местах, где расчёты нужны точнее. И зачем иметь постоянно огромную сетку меша, если менять её можно динамически при достаточно быстром алгоритме триангуляции :) А на современных мощностях это вполне реально)

Но вся история выше про 2д триангуляции. Что касается 3д, то там задача в разы любопытнее. И есть тоже разные репозитории (по большей части на питоне) типа такого https://github.com/nmwsharp/learned-triangulation Так как есть такая интересная задача, что на вход вам идёт облако точек, а вам по ним нужно построить меш. И есть с выпуклыми формами всё как всегда довольно просто, то вот восстановить меш по облаку точек типа того же шкафа — не самая простая задача. Хотя когда я ковырялся в чём-то аналогичном, я нашёл много интересных инструментов. Один из самых крутых — это Open3D. Огромная опенсорс либа, которая имеет в себе очень много интересных методов по манипуляции 3д данными. Собственно в том числе строить меш по облаку точек)

В общем не важно, работаете вы с 2д или с 3д графикой, но навык манипуляции мешами штука очень полезная, которая позволяет делать очень много крутых штук :)