создал сетку, но спереди и сзади разные - PullRequest
0 голосов
/ 12 марта 2019

Я создал сетку в коде.

Сетка хорошо сделана. 4 вершины и 2 треугольника

Однако рендеринг стал другим. под картинками

Почему передняя и задняя часть разные?

Видимая сторона прозрачна с другой стороны.

Какие опции мне добавить?

Я только вводил значения для точек вершин и треугольников.

enter image description here

enter image description here

Ответы [ 2 ]

2 голосов
/ 12 марта 2019

После того, как вы создали свои сетки, убедитесь, что вы применили эти:

mesh.RecalculateBounds();
mesh.RecalculateNormals();

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

После изменения вершин часто полезно обновить нормали, чтобы отразить изменение. Нормы вычисляются из всех общих вершин .

0 голосов
/ 12 марта 2019

Вы можете добавить «Отключить» в свой шейдер для рендеринга обеих сторон сетки.По умолчанию система отображает только лицевую сторону из соображений производительности, как указано в этом посте https://answers.unity.com/questions/187252/display-both-sides.html

Причина заключается в том, что графические системы всегда отбраковывают задние грани.Грани обычно определяются порядком намотки, т. Е. Порядком, в котором объявлены вершины треугольника.Задние грани отбракованы, потому что это простой способ сохранить вычислительную мощность - обычно нет необходимости визуализировать грань, отворачивающуюся от зрителя, например, с другой стороны сетки объекта.

и пример кода: https://answers.unity.com/questions/209018/cutout-diffuse-shader-visible-from-both-sides-on-a.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...