Текстурный пак для Thief 1-2

Автор Camelot, 06 апреля 2009 12:55:23

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

prabhu

#225
Цитата: Прихвостень от 08 марта 2023 05:54:38
Хмм, текстурки в obj  не трогали случайнейше?
PS  Использовал Gimp и плагин gimp-dds. Ну или DDS Converter 1.4
Трогал. как было замечено, что движок Dark лучше работает именно с dds файлами чем c png файлами в плане производительности

мои настройки конвертирования
output format: ATI 3Ds Commpession
Mipmaps: Box-filter
Texture format: DXT1
Datacheck: no


Вот например этот файл из EP2. Можете его сконвертировать И кинуть на место, но уже  в dds, удалив оригинал в той же папке... и первый уровень должен у вас зависнуть... Причем виснут все уровни от разных файлов... или не нужно вообще трогать папку obj, фиг его знает...может движок заточен только , чтобы читать с нее только png файлы... просто хочется быстрой и красивой игры с hd текстурами
https://www.mediafire.com/file/8tw03irll9b01eh/BLACJAC2.png/file

Можете проверить c помощью GIMP, cконвертировав эту текстуру и подсунув игре?

prabhu

#226
Silentor
Вы наплодили файлы в каком формате?  есть же программы с пакетной обработкой, например xnView... там не должно быть ошибки  с форматом разрешения. только не нужно снимать галку с "cохранять пропорции"
чтобы понять причину тормозов желательно знать те настройки с которыми вы создавали файлы

Прихвостень

Могу ошибаться, но вроде у меня были какие-то проблемы  с некоторыми текстурами obj, попробуйте для начала без изменений в obj вообще
Текстуры DDS, которые могли использоваться на объектах в окне выбора снаряжения (зелье, стрелы итд) перед стартом карты приводили к стабильному крашу.
Пример - оригинальная моделька снадобья здоровья (игра без модов и текстурных паков), создаём текстурный мод из единственной текстурки  obj\txt16\CHAND3.dds  и кря. Если снадобье здоровья будет предлагаться в окошке выбора, то до загрузки мапы дело уже не дойдёт.

И даже если отсеять все встречаемые в оригинале варианты, то в FM'ках в этом окне можно наткнуться на совершенно неожиданные объекты и текстуры, что потенциально чревато в случае DDS ;)

Silentor

Да, я вот сейчас проверил: зависает и вылетает. И именно на инвентаре. Просто одна рамка пустая и всё.
Только не BLACJAC2, а BLACJAC4. Он сейчас подгружается. А если через сэйв, то всё нормально, что неудевительно раз мы обходим инвентарь. Я кстати после этого тестирования решил заменить BLACJAC4 на епэшный запасной BLACJAC2, он лучше в темноте выглядит.
Если ддс скинуть в mesh (это уже сама дубинка в руке), то всё нормально. Делал точно также на компенсаторе (или как его там) и в гимпе (DXT1 no mipmaps)

А те файлы делал в Харе (Xara). Замечательный редактор с безразмерным полем. Но он может пакастить.

Ну видишь, так нахрапом с Зифом не получается. Там столько козней от Трикстера :devil:
Да, и не забывай, что некоторые новые текстуры с альфа-каналом делают, под прозрачность или иллюминацию.

prabhu

Silentor Прихвостень

И к какому выводу придем?  Как я понял движок только крашится при наличии  dds текстур инвентаря в папке obj, но  с файлами png  все нормально?
Тогда  может имеет  смысл все dds файлы  инвентаря. которые есть в наших папках в этой папке obj конвертировать в png...

prabhu

#230
Цитата: Silentor от 08 марта 2023 17:53:49

Если ддс скинуть в mesh (это уже сама дубинка в руке), то всё нормально. Делал точно также на компенсаторе (или как его там) и в гимпе (DXT1 no mipmaps)

Да, и не забывай, что некоторые новые текстуры с альфа-каналом делают, под прозрачность или иллюминацию.
Можешь конкретнее о настройках конвертации? Зачем ты выбрал no mipmaps?  И  при конвертации стоит учитывать текстура png с прозрачностью или нет? Я просто  выбираю DXT1 и фильтр box-filter и через пакетную обработки все конвертирую... Не смотреть же через редактор каждую текстуру прозрачна она или нет...Это долго...Вроде мерцания текстур нет и все нормально..


И как понять текстура с прозрачностью или нет и если она с прозрачностью. то как конвертировать в dds, чтобы эту прозрачность не нарушить?

Может и мне стоит выбирать для все текстур no mipmaps?

Silentor

В Гимпе no mipmaps просто по умолчанию стояло.
Ты не понял, я в двух прогах сделал (с точно твоими настройками и в Гимпе от балды), и оба вызывали завис с выкидышем.
Но в меше ддсовская дубинка движку по кумполу не била.
Вон тебе прихвостень посоветовал обж оставить в покое.
Насколько я понял, за прозрачность отвечает DXT3 и5. В чём разница я не знаю. Но с 5 у меня было неприятное отображение стен при движении. На DXT3 я вот такой нашёл: NecroAge\FAM\rescor_2\stain3.dds. И он с прозрачностью. Ну переведи всё в DXT3. Ну всё равно, тебе придётся искать в obj, что к инветарю относится.
И удалять не надо было прежние файлы. У ддс прерогатива над пнг, а у пнг над писикс.

Прихвостень

Цитата: Gadavre от 08 марта 2023 19:09:59
Тогда  может имеет  смысл все dds файлы  инвентаря. которые есть в наших папках в этой папке obj конвертировать в png...

Ну почему же, ограниченное использование DDS в obj вполне допустимо - двери, картины, плакаты, баннеры, шторы, мишени итд, это уже прилично разгрузит. Всё то, что вряд ли будет предлагаться/переноситься между картами ФМок. Просто иметь в виду, что в случае ФМ (особенно старых) это изредко всё же может быть проблемой и придётся временно обойтись без dds в obj
Вдруг между картами по сюжету в кармане будет погрызанный баннер механистов, кто же знает)  ;D

Silentor

#233
Вот что я сейчас обнаружил. Рябка (как-будто пережухано всё), которая возникала, если смотреть на стену с ддс и отходить от неё на несколько шагов и дальше, получалась из-за отсутствия мипмапов.
Я поставил в Гимпе по дефолту фильтр и wrap mode (что это я не знаю) и всё издалека начало нормально смотреться.

Куча вариантов DXT5 дают какую-то хрень. Остаётся DXT5 и 3. Объём у них абсолютно одинаков, но в два раза больше, чем DXT1, но на 50 кб меньше пнг (bigbl2 340/170/390). Интересно, что многие файлы на ддс имеют абсолютно одинаковый вес.
У DXT1 bigbl2 mipmap не было, но никаких искажений тоже не было. Получается, у прозрачных DXT3 и DXT5 такая особенность без mipmap. На статичном скриншоте вроде разницы нет, но DXT5 мне показалась почётче.

Если это возможно, исключи более лёгкий dds с DXT1 из пакетной обработки, а остальные в DXT5 с каким-нибудь mipmap. Или для идеальной компактности повозись с поиском прозрачных пнг и только их в DXT5.

Вот интересная статья про отличия DXT: https://habr.com/ru/post/206386/
Оказывается DDS с потерей качества, так что туда-сюда не стоит конвертировать.

prabhu

#234
Цитата: Silentor от 08 марта 2023 22:43:40
Вот что я сейчас обнаружил. Рябка (как-будто пережухано всё), которая возникала, если смотреть на стену с ддс и отходить от неё на несколько шагов и дальше, получалась из-за отсутствия мипмапов.
верно. Мипмапы надо включать. Они хорошо разгружают видюху, так как dds с мипмапами  влияют на детализацию текстур.
На большом расстоянии обзора текстура выходит в худшем качестве, что не напрягает комп
Цитата: Silentor от 08 марта 2023 22:43:40
Оказывается DDS с потерей качества, так что туда-сюда не стоит конвертировать.
Да, это формат чисто для игр...

Цитата: Silentor от 08 марта 2023 22:43:40
Если это возможно, исключи более лёгкий dds с DXT1 из пакетной обработки, а остальные в DXT5 с каким-нибудь mipmap. Или для идеальной компактности повозись с поиском прозрачных пнг и только их в DXT5.
Я общался недавно с разработчиком  хайрес текстур Enhancement Pack 2.0 alpha  . Он мне посоветовал  именно использовать для вора DXT1
Не знаю как много текстур в ворах с прозрачностью,но думаю их очень и очень мало... если будут единичные артефакты от DXT1, то можно конвертнуть в DXT5

Silentor

#235
Причём тут артефакты? Просто будут отсутствовать приятные улучшения типа прозрачных решёток (в фмках этого гораздо больше) или возможность подсветки окон.
Там в статье на хабре про какую-то XNU говорилось, что в процессе конвертации там может автоматом определяться, где альфа, и будет перевод в DXT5. Но это похоже что-то серьёзное в плане программирования, а не привычная прога.

Force

Gadavre
ЦитироватьМипмапы надо включать. Они хорошо разгружают видюху, так как dds с мипмапами  влияют на детализацию текстур.
На большом расстоянии обзора текстура выходит в худшем качестве, что не напрягает комп
Не совсем так. На расстоянии всегда используются мипы. И нужно это для улучшения качества картинки на расстоянии. Если мипы не использовать, картинка вдалеке будет "рассыпаться на пиксели" из-за большой погрешности при выборках значений текстуры, а при использовании мипов - выбирается уже усредненное значение пиксела из мипа, следовательно, с увеличением расстояния до пиксела, переход будет более плавным. Сами мипы, если их не предоставить в самой текстуре, генерируются процессором при загрузке текстуры с диска, об этом должен позаботиться программист. Если он не позаботился - будут вышеозначенные артефакты или вообще вылеты, поскольку приложение обращается к неинициализированной памяти.

Так что, если кодируете DDS для 3D игры, мипы включать нужно обязательно. Тут есть ещё такой момент - если использовать текстуры без аппаратного сжатия, типа png, gif, bmp, то мипы для них скорее всего сгенерирует любая игра без проблем, но вот для DDS это уже очень нетривиально и дорого. Скорее всего, именно поэтому New Dark Engine не генерирует мипы для dds.

prabhu

Force , а в вашей программе можно как то понять текстура с прозрачностью или нет? И если она с прозрачностью то как ее конвертировать в dds чтобы ничего не сломать в игре?

Silentor

Да конвертируй в DXT5 раз ты не хочешь, чтоб долго. Может этого уже будет достаточно, чтоб пропали все фризы.
Прозрачность можно в том же XnView выявлять. Хотя всё равно, чтоб-нибудь пропустишь.

Force

Цитата: Gadavre от 09 марта 2023 12:07:23
Force , а в вашей программе можно как то понять текстура с прозрачностью или нет? И если она с прозрачностью то как ее конвертировать в dds чтобы ничего не сломать в игре?
Сейчас такая информация не выводится, да и Silentor правильно говорит, что можно либо просто всё перегнать в DXT5, либо, если хочется прямо идеального результата - всё перегнать в DXT1, и в игре, или ещё каким способом, смотреть, где встречаются непрозрачные места, требующие прозрачности, и точечно переконвертировать эти тексутры в DXT5.

Я бы для начала перегнал в DXT5 и проверил, есть ли прогресс, помогло ли. Если не помогло, тогда, скорее всего, и перегон в DXT1 не поможет.