Использование текстур 240х240
Текстуры 240х240 не есть лучший выход для оптимизации карты.
Даже более того, вы должны чуть менее, чем совсем отказаться от их использования.
1. Текстуры с нестандартными разрешениями ресайзятся в игре до стандартных в ближайшую сторону.
Например, 240х240 -> 256х256, или 160х160 -> 128х128, или 160х240 -> 128х256.

Все эти текстуры имеют одинаковый верхний левый угол, они "продолжаются" за пределы своих брашей вниз-вправо (браши одинаковых размеров), все белые тексели контрастного рисунка полностью идентичны между этими текстурами (Все эти текстуры создавались из одной, просто обрезался чёрный край в фотошопе внизу,справа).
Если с ресайзом в большую сторону качество практически не страдает, то при уменьшении теряются детали и контрастные текстуры "плывут".
2. Тайлинг текстур.

Текстура растянута на всю поверхность кнопкой Fit.
Слева на право 128х128, 240х240, 256х256.
Вполне ожидаемый результат, поделился только браш с текстурой 256х256.
Добавим немного тайла.

Слева на право 128х128, 240х240, 256х256.
Интересная картина получается, 240х240 текстура поделилась через 224 текселя.
Для сравнения.

Снизу вверх 128х128, 240х240, 256х256.
Все текстуры, не зависимо от разрешения, поделились через каждые 224 текселя.
Ещё один интересный подводный камень.

Снизу вверх 128х128, 240х240, 256х256.
Та же кнопка Fit, только скейл текстур по вертикали имеет много знаков после запятой, после округления редактором/экспортом/компилятором получаем тайлинг.
Впрочем, всё зависит от размера стороны браша, в некоторых случаях текстура может обрезаться до границы следующего тайла.
Немного о параметре -subdivide для BSP компилятора.
По умолчанию он имеет значение 240.
Если увеличивать, то можно поймать ошибку Bad Surface Extents, обычно это происходит из-за скейла текстур менее 1.00 и сложных брашевых конструкций.
На простых картах это значение можно увеличить до 256, в некоторых случаях до 512.
-subdivide 256.
Без тайлинга поверхность с текстурой не более 256х256 будет иметь 1 полигон.
С тайлингом будет происходить деление через каждые 240 текселей.
При больших увеличениях -subdivide текстуры будут делиться через каждые -16 от значения -subdivide текселя.
Вывод.
С появлением тайлинга, текстура 240х240 теряет своё свойство делиться по краям тайла.
Текстура 240х240 искажается от ресайза самой игрой.
Для всякой мелочи, типа ящиков, остаётся 2 варианта.
Использования текстур не более 128х128, или текстура 256х256 и наложением на поверхность части текстуры в размере 240х240.
Если у вас финальная версия карты собралась без проблем с параметром -subdivide 256 и более, считайте вам крупно повезло.
Текстуры 240х240 не есть лучший выход для оптимизации карты.
Даже более того, вы должны чуть менее, чем совсем отказаться от их использования.
1. Текстуры с нестандартными разрешениями ресайзятся в игре до стандартных в ближайшую сторону.
Например, 240х240 -> 256х256, или 160х160 -> 128х128, или 160х240 -> 128х256.

Все эти текстуры имеют одинаковый верхний левый угол, они "продолжаются" за пределы своих брашей вниз-вправо (браши одинаковых размеров), все белые тексели контрастного рисунка полностью идентичны между этими текстурами (Все эти текстуры создавались из одной, просто обрезался чёрный край в фотошопе внизу,справа).
Если с ресайзом в большую сторону качество практически не страдает, то при уменьшении теряются детали и контрастные текстуры "плывут".
2. Тайлинг текстур.

Текстура растянута на всю поверхность кнопкой Fit.
Слева на право 128х128, 240х240, 256х256.
Вполне ожидаемый результат, поделился только браш с текстурой 256х256.
Добавим немного тайла.

Слева на право 128х128, 240х240, 256х256.
Интересная картина получается, 240х240 текстура поделилась через 224 текселя.
Для сравнения.

Снизу вверх 128х128, 240х240, 256х256.
Все текстуры, не зависимо от разрешения, поделились через каждые 224 текселя.
Ещё один интересный подводный камень.

Снизу вверх 128х128, 240х240, 256х256.
Та же кнопка Fit, только скейл текстур по вертикали имеет много знаков после запятой, после округления редактором/экспортом/компилятором получаем тайлинг.
Впрочем, всё зависит от размера стороны браша, в некоторых случаях текстура может обрезаться до границы следующего тайла.
Немного о параметре -subdivide для BSP компилятора.
По умолчанию он имеет значение 240.
Если увеличивать, то можно поймать ошибку Bad Surface Extents, обычно это происходит из-за скейла текстур менее 1.00 и сложных брашевых конструкций.
На простых картах это значение можно увеличить до 256, в некоторых случаях до 512.
-subdivide 256.
Без тайлинга поверхность с текстурой не более 256х256 будет иметь 1 полигон.
С тайлингом будет происходить деление через каждые 240 текселей.
При больших увеличениях -subdivide текстуры будут делиться через каждые -16 от значения -subdivide текселя.
Вывод.
С появлением тайлинга, текстура 240х240 теряет своё свойство делиться по краям тайла.
Текстура 240х240 искажается от ресайза самой игрой.
Для всякой мелочи, типа ящиков, остаётся 2 варианта.
Использования текстур не более 128х128, или текстура 256х256 и наложением на поверхность части текстуры в размере 240х240.
Если у вас финальная версия карты собралась без проблем с параметром -subdivide 256 и более, считайте вам крупно повезло.
Останнє редагування: