"Понятие Subdivide”
Q: Что это такое в мире BSP (Binary Space Partition)?
A: А это то, что непосредственно влияет на уровень r_speeds.
Как известно плоскость делится на полигоны, и многие не понимают, по какому
принципу эти полигоны создаются.
Я попытаюсь объяснить.
Параметр Subdivide при компиляции карты по умолчанию равен 240. Это значит,
что через каждые 240 юнитов плоскость будет делиться на очередной полигон (если
texture scale = 1). Значение 240 при компиляции увеличить очень сложно. Если
оно и увеличивается, то очень не существенно. Уровень может зависеть от
величины "MAX scale – Min scale” , то есть если на карте есть scale 0.3 и есть
scale 2.0, то можете и не мечтать об увеличении этого значения.
Q: Причем здесь текстуры? Мы же говорим о Subdivide!
A: Притом, что разбиение происходит относительно текселей (текстурных
пикселов) а не юнитов в игровом мире.
При texture scale 1: 1 unit = 1 pixel.
Если текстура будет со scale 0.5, то плоскость будет разбиваться на полигоны
через каждые 120 юнитов! Давайте выведем небольшую формулу:
UnitSubDivide = Texture Scale * Subdivide
Если смериться, что subdivide 240 нам не увеличить, то с этой формулы видно,
что основной переменной есть Texture Scale!
Ниже, я на брашах объясню:
Есть у нас браш 240х240 :
1) он натянут текстурой со scale 1 – следовательно, он будет разбиваться через
240 текселей, а в данном случае и 240 юнитов. А поскольку наш браш не превышает
240х240 юнитов – он не будет разбиваться на дополнительные полигоны. (Всего
1 полигон)
2) он натянут текстурой со scale 0.5 – разбитие происходит через 240 текселей,
а значит через 120 юнитов в данном случае. (Уже 4 полигона)
Сравнение: уменьшив texture scale в 2 раза, мы из 1-го полигона сделали 4.
Вывод: Уменьшая scale, мы улучшаем качество текстуры в игре, но увеличиваем
количество полигонов. Количество полигонов можно уменьшить, увеличив texture
scale, но этим теряя качество текстуры.
Автор: TRUP@C
CS-Mapping.com.ua
|