Упрощение сетки для нескольких слоев

В моей игре есть пейзаж, он состоит из нескольких слоев (каждый представляет собой отдельную сетку), теперь я хочу сделать упрощение сетки для всех слоев, но я обнаружил, что между разными слоями есть много пересечений после применения упрощения в игровом движке. Итак, существует ли алгоритм упрощения, позволяющий избежать пересечений (или уменьшить количество), или как я могу избежать пересечения после упрощения (будут оценены любые репозитории или библиотеки с открытым исходным кодом)?


person Su Tongkui    schedule 15.12.2019    source источник


Ответы (1)


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

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

Другая идея - использовать алгоритм упрощения, основанный на «прореживании кластеризации вершин», который даст эффект, аналогичный количественной оценке. В этом случае вы можете выполнить кластеризацию вершин облака точек с вершинами каждого слоя, чтобы они отображались вместе, так что вы убедитесь, что репрезентатор вершин для каждого кластера является общим для каждого слоя.

meshlab vsel

person Rockcat    schedule 15.12.2019