3D. Вычисление Нормалей Для Вершин, Которые Не Являются Вершинами Всех Соседних Треугольников.

  • Автор темы Dep
  • Обновлено
  • 17, Oct 2024
  • #1

В моей процедурно сгенерированной сетке в Unity не все вершины являются вершинами всех соседних треугольников — по сути, это сетка с ячейками разного размера. Однако это портит расчет нормалей, делая молнию негладкой. Как мне это объяснить? Это часть сетки, иллюстрирующая то, что я имею в виду, в затененном каркасе и в затененном режиме: 3d. Вычисление нормалей для вершин, которые не являются вершинами всех соседних треугольников.3d. Вычисление нормалей для вершин, которые не являются вершинами всех соседних треугольников.

#3d #сетка

Dep


Рег
07 Jun, 2004

Тем
72

Постов
215

Баллов
575
  • 26, Oct 2024
  • #2

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

Например: все вершины в зеленом поле ниже необходимо будет установить путем интерполяции между двумя синими вершинами в зависимости от их положения вдоль этого края.

Однако, как упомянул Никол, вы не можете получить идеально герметичный рендеринг (или идеальное совпадение затенения) при построении сетки с помощью Т-образные соединения так.

]

 

Lexa97


Рег
08 Apr, 2011

Тем
72

Постов
183

Баллов
573
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно