Smooth Shading для программно созданного mesh
Программно создаю mesh, т.е. через код.
В результате получается, то что справа. А мне нужно чтобы нормали были размыты как слева. Картинка не моя. Взято отсюда: |
Ответ: Smooth Shading для программно созданного mesh
у тебя скорее всего каждый треугольник имеет свои, не соединённые с соседними, вертексы. автогенератор нормалей считает это за разрыв.
|
Ответ: Smooth Shading для программно созданного mesh
Может быть... но мне нужно для одной вершины разные UV координаты текстуры.
То есть получается несколько вершин в одной точке... Значит наверно нужно пересчитывать но как... Грубо говоря делаю Tiled Terrain |
Ответ: Smooth Shading для программно созданного mesh
У совпадающих вершин нормали тоже совпадать должны.
|
Ответ: Smooth Shading для программно созданного mesh
Цитата:
находишь на каждый треугольник нормаль, а потом для каждого вертекса усредняешь нормали стыкующихся с ним (по позиции) треугольников. |
Ответ: Smooth Shading для программно созданного mesh
Вложений: 1
Цитата:
|
Ответ: Smooth Shading для программно созданного mesh
Цитата:
|
Ответ: Smooth Shading для программно созданного mesh
Пока что так.
Код:
Vector3[] normals = new Vector3[mesh.normals.Length]; |
Ответ: Smooth Shading для программно созданного mesh
Цитата:
|
Ответ: Smooth Shading для программно созданного mesh
Цитата:
|
Ответ: Smooth Shading для программно созданного mesh
Вложений: 1
Цитата:
Цитата:
Все оказалось не так сложно... Делаю усреднение нормалей между вершинами у которых совпадают координаты. Алгоритм не оптимальный по скорости, но работает. Код:
// smooth normals for light P.s. более быстрая версия Код:
// smooth normals for light |
Часовой пояс GMT +4, время: 09:28. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot