Я хочу создать процедурно сгенерированные ландшафтные сетки с плоским затененным взглядом в Unity3D.Должен ли я использовать общие вершины в сетке в Unity?
Я думал, что было бы лучше всего создать три уникальных вершины на треугольник и использовать одну рассчитанную нормаль для вершин. Построение этой сетки приведет к избыточной информации о местоположении вершин. (Может ли это повлиять на время рендеринга?)
В любом случае ... проблема в том, что я хотел бы использовать методы затенения, например. окружающая окклюзия на этой сетке. Я не хочу испортить топологию сетки, которую Unity3D ожидает для своих шейдеров.
Лучше создать сетку с разделяемыми вершинами, добавьте, возможно, настраиваемый атрибут вершин, например. 'flat_normal' и настроить шейдеры, чтобы использовать это?
Я думаю, что в абсолютном большинстве случаев GPU обладает большей вычислительной мощностью, чем процессор. Единственный способ узнать, это проверить оба сценария, я думаю. Мне бы хотелось увидеть статистику профилировщика на этом. –
"избыточная информация о расположении вершин"? нет такого понятия. Нет абсолютно никакой причины, вы должны делиться вершинами в сетке. – Fattie
чисто FWIW, (1) обычным явлением является создание сетки для использования в качестве пейзажа (часто совершенно ненужного, но не большого). (2) вам нужен «плоский, мультяшный» вид. не проблема, просто нажмите через много плоских картонных шейдеров, доступных (там есть огромный выбор), чтобы посмотреть, что вам нравится. Стоит отметить, что (3) Единство полностью включает в себя систему «рельефа», которая в наши дни действительно хороша. вы можете просто тривиально использовать это и всю работу. (Снова просто выберите шейдерный вид, который вы хотите.) – Fattie