Sidebar

размытость комбинированных текстур

Endym

ёкай
May 17, 2011
154
31
размытость комбинированных текстур

Часто из-за большого количества текстур я комбинирую их, объединяя в фш в одну большую. Например, в данном случае я объединил текстуры wall09ah и lig4_f2 в одну большую bigwall_f8, а oldstone8 и lig4_f2 объединил в bigwall_h6.

Внимание, вопрос знатокам! %) На приложенных скриншотах видна разница в качестве текстур. Слева - комбинированная, справа - 2 отдельных браша, покрашенных "изначальными", не комбинированными текстурами. Почему так происходит?


Текстуры я комбинирую так - экспортирую из wally в .bmp формат, в фш делаю новый слой размером, например, в 256х256 (текстуры всегда делаю квадратными и кратными 64). В данном случае текстуры 512х512, ибо я делаю скейл 0,5. После аккуратного соединения я экспортирую текстуру в тот же .bmp, предварительно поставив цветовой режим Indexed Color с параметрами Local (Selective) / (Adaptive) (разницы не замечал), остальное по умолчанию. Разрешение у новой текстуры обычно 72 или 92 px/дюйм, стандарт. И выходит вот такое уг, как на скринах.

Пробовал по совету экспортировать в .png, а не в .bmp, но картина не изменилась.
Что может быть не так, и как сделать текстуры шикарными?

ЗЫ. Оригинальные .bmp поместил в архив desktop.rar, чтобы было понятно, о чем речь
 

Attachments

Last edited:

fr1g0

New member
Sep 21, 2006
301
33
Wally - Open package - Двойной клик на желаемую текстуру - Ctrl+C
Photoshop - Новое изображение (размер будущей текстуры) - Ctrl+V - Подгонка
С моими кривыми руками, я всё же создавал хорошие текстуры.
Всё гениальное - просто.
 

Lopol2010

New member
Jan 2, 2014
317
0
0
а какой смысл обьеденять их так? типо меньше лагать будет или что? просто у меня на карте много какие можно обьеденят ь тоже
 

XaeroX

Crystice Softworks
Sep 5, 2008
9,254
38
Часто из-за большого количества текстур я комбинирую их, объединяя в фш в одну большую
Так делать нельзя. Будут проблемы с мипмаппингом - при генерации мип-уровней пиксели одной текстуры будут влезать на другую.
Оригинальные .bmp поместил в архив tex.rar, чтобы было понятно, о чем речь
Сделай, пожалуйста, архив, где помимо оригиналов, будет объединённая текстура и не будет всякого мусора вроде ajax.php.
 

npocTo_LaM

New member
Oct 27, 2012
1,474
47
0
я так понимаю вопрос связан с размазанность текстур на брашах слева. Предполагаю, это связано со способом работы с текстурами. Смотрим скрины (на брашах текстуры с масштабом 0,5): 1,2 - со включенным по дефолту сглаживанием в CS; 3, 4 - с практически выключенным. Имхо, разница только в границе между брашами на правой половине скринов (скрин 1,2), так как в этом случае сглаживания не происходит. В прилагаемом архиве (http://rghost.ru/58899258): использованные текстуры, wad-файл с ними и скрины в формате *.bmp, чтобы сжатие в jpg не влияло.
2 XaeroX: я так понимаю это мера вынужденная, приходится мириться с некоторым ухудшение переходов, хотя предполагаю, если подшаманить контратсность/яркость текстур (возможно поиграться с увеличением размытием перед соединением текстур, то будет немного получше - ведь за основу принимаются текстуры в 256 цветов.
 

Attachments

Last edited:

npocTo_LaM

New member
Oct 27, 2012
1,474
47
0
;) ну кроме границы между текстурами.
Меня вот это насторожило:
"После аккуратного соединения я экспортирую текстуру в тот же .bmp, предварительно поставив цветовой режим Indexed Color с параметрами Local (Selective) / (Adaptive) (разницы не замечал), остальное по умолчанию. Разрешение у новой текстуры обычно 72 или 92 px/дюйм"
Вообще-то, я так понимаю, используя 256-битные текстуры для создания новой текстуры, их лучше перевести в цвета 16 млн. и только потом после соединения перевести снова в 256 битную текстуру. Как я собсна и делал.
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Хех, ну текстура стала больше, а место для пол-литры осталось прежним.
Естественно мы потеряли в качестве. Особливо если у текстур палитра разная абсолютно.
 

Endym

ёкай
May 17, 2011
154
31
2 XaeroX:
Да, я заметил "диффузию" на границах текстур, но все-таки это не так заметно, а кол-во брашей можно уменьшить в 2 раза только для 2х текстур.
Насчет архива - извиняюсь, не знаю, как это туда попало :) Перезалью.

2 npocTo_LaM, Дядя Миша:
А какая разница, переводить или нет, если в конце концов палитра опять становится 256-цветной? Получается, чем меньше цветов у текстуры, тем лучше она выглядит или что?
Вообще говоря, я так и делаю. Импортирую текстуру в фш, ставлю режим RGB, потом перемещаю ее в новый документ (который тоже RGB). В новом документе я соединяю текстуры, после чего заново ставлю Indexed Color.
За архив спасибо, опробую текстуры.

Спасибо за помощь :)
ЗЫ. Кстати, режимы сглаживания в cs на это как-то влияют? По умолчанию стоит вроде GL_LINEAR_MIPMAP_LINEAR.
 
Last edited:

XaeroX

Crystice Softworks
Sep 5, 2008
9,254
38
а кол-во брашей можно уменьшить в 2 раза только для 2х текстур.
Но полигоны-то всё равно режутся каждые 240 юнитов.
Если же это текстура кромки, объединённая с текстурой стены - тогда другое дело. Так все делают.
И вот ещё такой вопрос. Когда к текстуре приближаешься ближе, нечёткость уменьшается до уровня оригиналов?
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
А какая разница, переводить или нет, если в конце концов палитра опять становится 256-цветной?
Цвета в палитру добавляются не от фонаря, а по крайне сложному алгоритму, типа самообучаемых нейронных сетей. Потому что цветов в любой текстуре заведомо больше 256 и надо выбрать самые-самые, чтобы потеря в качестве не была заметна глазом. Если ты объединил текстуры с похожей палитрой, то в качестве мы не потеряем. Если они сильно разные, то текстурам достанется вдвое меньше цветов. Вот тебе и потеря в качестве. И никакие уловки, типа сначала в 24 бита, а потом 8 не помогут.
 

Endym

ёкай
May 17, 2011
154
31
2 XaeroX:
Нет, текстура остается размытой на любом расстоянии. Если бы она становилась четкой при приближении, я бы догадался, что дело в настройках контры :)
Полигоны - да, режутся. Но на самом деле я уже экспериментировал с тексами в 240 пикселей, и они почему-то выглядят убого, видимо, движку не нравится такой размер, пусть он и кратен 16. И кстати, ты ведь вроде тоже про это пост делал когда-то?
По сути да, это текстура кромки, объединенная с текстурой стены. Хотя чаще я ее использую, как полноценную текстуру стены, типа посередине основная текстура, а по краям - "разделители" для красоты и гармонии в дизайне.))
Просто сверху/снизу у стен делать браши с отдельной текстуркой - дорого в плане брашей (и вполи), а так - текстур 2-3 штуки на 1 браш получается.

2 ZGreen:
gl_max_size вроде за кач-во текстур отвечает? Не знаю, стояло 256, поставил 4096, но ничего не изменилось...

2 Дядя Миша:
То есть, чтобы потерять минимум в качестве, надо сначала экспортировать в полноцветный режим типа rgb?
Т.е. если я правильно понимаю, то базовые текстуры (маленького размера) выглядят так хорошо потому, что содержат не слишком много разных оттенков цветов, и поэтому все эти оттенки (или почти все) помещаются в 256 цветов, а при объединении текстур разного тона и цвета мы теряем в качестве из-за того, что теперь на палитру в 256 цветов приходится больше разных оттенков?
А разница между png и bmp есть, кстати? В png вроде по-другому как-то изображение хранится
 

ZAZA

New member
Nov 8, 2011
2,434
40
0
2 Endym:
Вот смотри. У тебя есть одна текстура, в палитре которой 256 цветов. И есть другая текстура, в палитре которой еще 256 ДРУГИХ цветов. При объединении, чтобы не потерять качество, нам нужно совместить две эти палитры в одну. То есть, нам нужно получить палитру, в которой 512 цветов. Но в восьмибитном изображении может храниться только 256 цветов, поэтому эти палитры урезаются. Как сказал Дядя Миша, выбираются самые-самые, но все равно полученая палитра уже не соотвествует оригинальной для каждого изображения, вот качество и падает. Никакие экспорты в ргб и т.д. тебе не помогут, помоту что в конечном изображении в любом случае палитра будет урезаться.
Endym said:
А разница между png и bmp есть, кстати?
А какая разница, если гс только бмп 8-бит хавает?
 

Skaarj

Супер Модератор
Aug 12, 2004
18,747
Endym said:
gl_max_size вроде за кач-во текстур отвечает? Не знаю, стояло 256, поставил 4096, но ничего не изменилось...
Вот здесь и проблема, а вы тут с палитрой развели... :facepalm:
 

[POD]ILLbot0

Главный бездельник
Dec 4, 2006
2,036
16
0
Я тоже сталкивался с сабжем. Причём дело не том, что текстуры комбинируются и что-то там с суммирование палитр происходит. В ФШ ткстуру рисуешь, запихиваешь в вад, а она в игре размыта.
 

XaeroX

Crystice Softworks
Sep 5, 2008
9,254
38
и они почему-то выглядят убого, видимо, движку не нравится такой размер, пусть он и кратен 16.
Видеокарте не нравится, ей надо степень двойки. Ну, то есть, современным это не критично, но халфа - двиг старый и об этом не знает. Поэтому и масштабирует текстуру при загрузке, что ведёт к потере качества.
 

Game Server

CSM TV

Page QR Code

QR Code

Donate Campaign

Total amount
$0.00
Goal
$25.00

Latest profile posts

TestUser wrote on TRUP@C's profile.
Master?
TestUser wrote on TRUP@C's profile.
Hello Father

Members online

No members online now.

Discord