|
![]() |
#11 |
Местный
Регистрация: 12.07.2015
Сообщений: 417
|
![]()
Признаков нет.
Базово если: - Есть вершина - Из вершин можно сложить полигон. У нас это треугольник. - Для полигона можно: - а) Иметь одну нормаль - б) Иметь нормаль для каждой вершины Вариант "а" для игры в модели не зашивается. Если для фейса должна быть задана одна нормаль, то она рассчитывается при загрузке модели. Потому что сглаживающие нормали определяют то, каким образом мы соединяем соседние вершины, а одиночная нормаль просто является перпендикуляром к поверхности и указывает только на то, как эта поверхность развёрнута к наблюдателю (лицом/задом ![]() Отличить значение нормали от других данных в общем случае нельзя. Это просто число с плавающей точкой, такое-же, как и координаты вершин, маппинга и т.п. Нормали могут быть нормированы и в этом случае их значение будет в диапазоне -1 .. 1. Если не нормированы, то любое значение в пределах выбранной разрядности. Обычно нормали всегда зашиваются в модели нормированными, по традиции, чтоб при загрузке лишнее не считать. Но в шейдерах один чёрт, после умножения на матрицу, либо при вычислении отражений/направлений, значение нормализуется. В Иловских мешах нормали от вершин отделяются директивно - первые три значения в описании вершин задают координаты вершины, три следующих - нормаль для вершины. Таким образом: - Если строка содержит 3 значения, значит эта строка содержит только координаты вершины - Если 6 значений, то координаты вершины и нормаль для неё Для лодов используем 6 значений (вершины и нормали). Для теней - 3, только вершины. Фейсы для лодов и теней в игре прописываются одинаково. Три значения, которые являются тремя индексами для массива вершин/вершин+нормалей. Эти три значения и образуют один минимальный замкнутый полигон-треугольник. Для коллизий фейсы задаются только для возможности нарисовать её на экране во время дизайна, в самой игре они нафиг не нужны и теоритически их из меша можно выкинуть, эта часть игрой в процессе работы не используется, нужны только донные о том, какие полигоны с какими граничат. Но лучше это всё руками не трогать, ХЗ какой результат может получиться. ![]() Вроде всё, на сколько мог упростил для понимания. |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|