|
---|
|
Правила форума | FAQ | Пользователи | Администрация | Календарь | Поиск | За 24 часа | Пометить все разделы прочитанными |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
![]() |
#1 | |
Skaarj
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Регистрация: 12.08.2004
Сообщения: 18,749
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Текстуры 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 и более, считайте вам крупно повезло. |
|
Последний раз редактировалось Skaarj, 05.02.2012 в 22:20. |
||
![]() |
![]() |
![]() |
#2 | |
rave
Сержант
![]() ![]()
Регистрация: 10.04.2011
Возраст: 38
Сообщения: 254
|
![]() По поводу -subdivide 256:
патченный hlbsp работает на ура http://cs-mapping.com.ua/forum/showthread.php?t=25404 Выигрыш wpoly, в среднем, примерно 10% (-subdivide 256) С немодифицированным hlbsp и параметром -subdivide 256 у меня даже кубик не компостировался |
|
Последний раз редактировалось rave, 07.08.2011 в 12:44. |
||
![]() |
![]() |
![]() |
#3 | |
dezax
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Регистрация: 02.01.2011
Адрес: Астана
Возраст: 33
Сообщения: 3,264
Замечания: 5
![]() |
![]() 2 Skaarj: Отлично!
|
|
![]() |
![]() |
![]() |
#4 | |
DrTressi
Хрустик
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Регистрация: 06.03.2010
Адрес: На белом свете
Возраст: 31
Сообщения: 6,383
Замечания: 16
![]() |
![]() 2 Skaarj: Спасибо! Классный тутор. Буду знать, хотя и юзаю практически всегда 512*512.
|
|
![]() |
![]() |
![]() |
#5 | |
marikcool
Капитан
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Регистрация: 13.09.2007
Сообщения: 906
Замечания: 2
|
![]() отличная статья
я юзаю -subdivide 256 и текстуры 256, самый выгодный вариант. текстуры 240 активно юзаются на дасте для экономии wpoly. |
|
![]() |
![]() |
![]() |
#6 | |
npocTo_LaM
Генерал-Лейтенант
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Регистрация: 27.10.2012
Сообщения: 1,474
![]() |
![]() Почитал, обдумал, немного не согласен - текстуры с размерность 240 (либо в обоих направлениях, либо в каком-либо одном) полезны там, где текстура вписывается на грань в каком-либо направлении полностью - заборы, двери, невысокие стены.
|
|
![]() |
![]() |
![]() |
#7 | |
XaeroX
Crystice Softworks
![]() ![]() ![]() ![]() ![]() ![]() ![]()
Регистрация: 05.09.2008
Адрес: Новосибирск
Возраст: 38
Сообщения: 9,254
![]() ![]() ![]() ![]() ![]() ![]() |
![]() 2 npocTo_LaM:
Экономя каких-то 7 кб веса текстуры (причем только на диске, но не в памяти), ты заставляешь игру саму её масштабировать, и качество при этом может быть далеко не фотошоповским. |
|
![]() |
![]() |
![]() |
#8 | |
Дядя Миша
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383
![]() ![]() ![]() ![]() |
![]() Товарищи! Вот вы хоть тресните но на 16 текселей приходится 1 луксель. Отсюда и "странности" в супдивайде.
Дядя Миша, подумав, добавил 17.11.2012 в 18:09 Нате вот вам мой цикл статей, там про всё есть http://hlfx.ru/forum/showthread.php?s=&threadid=3062 |
|
Последний раз редактировалось Дядя Миша, 17.11.2012 в 18:09. |
||
![]() |
![]() |
![]() |
#9 | |
XaeroX
Crystice Softworks
![]() ![]() ![]() ![]() ![]() ![]() ![]()
Регистрация: 05.09.2008
Адрес: Новосибирск
Возраст: 38
Сообщения: 9,254
![]() ![]() ![]() ![]() ![]() ![]() |
![]() 2 Дядя Миша:
Товарищи это прекрасно знают, поэтому речь и идёт о текстурах 256, а не 512 или, скажем, 2048. |
|
![]() |
![]() |
![]() |
#10 | |
Дядя Миша
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383
![]() ![]() ![]() ![]() |
![]() >>На простых картах это значение можно увеличить до 256, в некоторых случаях до 512.
И вот про это еще хочу предостеречь. В некоторых случаях, вместо ошибки Bad Surface Extents вы наоборот получите чорную карту без освещения. |
|
![]() |
![]() |