Показать сообщение отдельно
Старый 23.09.2015, 03:00   #12
NB79
Местный
 
Регистрация: 12.07.2015
Сообщений: 417
По умолчанию

Давайте я ещё раз о группах сглаживания, применительно к игре, расскажу.

Меши игры не содержат в себе групп сглаживания. Что такое "группы сглаживания"? Условно, это некий атрибут, указывающий на то, каким образом должна рассчитываться нормаль к вершине. Мы объединяем полигоны с одинаковыми атрибутами и при загрузке модели, ориентируясь на эти атрибуты, рассчитываем нормали для всех верши. Однако, то, что приемлемо для разработки моделей совершенно не годится для игры. Расчёт нормалей операция дорогая, занимающая приличное время. Если это десяток полигонов, то это не беда, но если у нас куча мешей и тысячи полигонов, то это уже становится проблемой. Негоже заставлять игрока сидеть перед монитором и любоваться на неторопливый прогресс загрузки.

По этому, при экспорте в игру готовой модели нормали просчитываются заранее. А информация о группах сглаживания после этого расчёта просто выкидывается за ненадобностью. Игре она не нужна, хранить её в игре - бесполезно занимать место, нормали то, уже есть!

Вот по этому и взят для конвертации obj, в отличии от 3ds он может писать в себя нормали. Группы сглаживания тоже, но в иловском меше их нет. По этому я и не пишу их в obj.

Как я уже говорил, какую-то часть информации о группах сглаживания наверное можно восстановить по нормалям. Но это сложный алгоритм и не факт, что результат будет приемлемый. Алгоритму нужно обойти тысячи вершин и полигонов, определённым образом отсортировать их по разным критериям, обнаружить определённые закономерности и принять решение о размещении того, либо иного полигона в определённую группу. И всё это осложняется тем, что полигон может состоять в нескольких группах сразу. И, соответственно, его нормали, это результат нескольких перерасчётов. Как этот фарш провернуть назад - ХЗ. Частично что-то вынуть можно, но что получится в итоге - подозреваю, что ничего хорошего. В общем, на эту задачу нужно убить прорву времени. И самое главное, время это, с высокой долей вероятности, будет потрачено в пустую. И вполне возможно, что вообще зря, ибо исправлять последствия неверных трактовок обычно труднее, чем руками их указывать. Имею богатый опыт подобного из другой сферы, но схожий по смыслу.

Так-что, групп сглаживания в ближайшее время точно не будет. А там - посмотрим будут ли на них силы и ваще.
NB79 вне форума   Ответить с цитированием