st_tyopa 20 Опубликовано 12 января (изменено) Программа предназначена для преобразования упакованных текстурных атласов в отдельные изображения Автор: st_tyopa Спойлер Разрабатывалось для себя, возможны баги или ошибки. Решил поделиться с сообществом, вдруг кому-то пригодится. Программа предназначена для преобразования упакованных текстурных атласов в отдельные изображения и обратно - для распаковки используются .dds текстуры сталкера - распаковака производится в .png формат - запаковка производится в .dds DXT5 формат Спойлер Только для некоммерческого использования. Программа использует разработанный сторонними авторами код: - pugixml - DirectXTex Спойлер 1) Распаковать архив в любую папку 2) Задать пути <texture_directory>, <unpack_directory> и <pack_directory> в config.ini. Спойлер Для распаковки: перенести .xml файл с разметкой текстур на .exe файл. Для упаковки: перенести .unpack файл, полученный после распаковки, на .exe файл. Спойлер Распаковка: 1) На вход программа получает .xml файл с разметкой текстур (найти можно тут: gamedata\configs\ui\textures_descr) 2) Происходит поиск файла атласа в формате .dds из <texture_directory>.Пример: для <file name="ui\ui_actor_achivments"> будет пытаться искать файл <texture_directory>\ui\ui_actor_achivments.dds 3) Извлекается изображение меньшего размера по настройкам из .xml файла.Пример: xml ноды такого формата являются якорями для извлечения текстур<texture id="ui_inGame2_Drug_stalkerov" x="0" y="0" width="121" height="121" /> 4) Сохраняется полученное изображение.Пример: для <texture id="ui_inGame2_Drug_stalkerov" x="0" y="0" width="121" height="121" /> попытается сохранить файл в <output_directory>\ui_actor_achivments\ui_inGame2_Drug_stalkerov.png 5) Сохраняется *.unpack файл для последующей запаковкиПример: для файла с разметкой ui_actor_achivments.xml будет создан файл <unpack_directory>\ui_actor_achivments\ui_actor_achivments.unpack Запаковка: 1) На вход программа получает .unpack файл, полученный при распаковке 2) Производится поиск всех распакованных файлов в <unpack_directory>Пример: Для ui_actor_achivments.unpack поиск распакованных файлов будет в <unpack_directory>\ui_actor_achivments 3) Происходит поиск исходного файла атласа в формате .dds из <texture_directory>Пример: для <file name="ui\ui_actor_achivments"> программа будет пытаться искать файл <texture_directory>\ui\ui_actor_achivments.dds 4) Распакованные файлы перезаписывают области на текстуре, которые для них предназначаются 5) Упакованная текстура сохраняется в <pack_directory>Пример: для <file name="ui\ui_actor_achivments"> программа будет пытаться записать файл <pack_directory>\ui\ui_actor_achivments.dds Спойлер 1) Если указать в конфиге replace = ui_inGame2_:my_, то имя целевого изображения будет изменено.Пример: для <texture id="ui_inGame2_Drug_stalkerov" x="0" y="0" width="121" height="121" /> получим файл с именем my_Drug_stalkerov 2) Если указать в конфиге replace = ui_inGame2_: , то имя целевого изображения будет изменено.Пример: для <texture id="ui_inGame2_Drug_stalkerov" x="0" y="0" width="121" height="121" /> получим файл с именем Drug_stalkerov 3) Если указать в конфиге to_lower = true , то имя целевого изображения будет переведено в нижний регистр.Пример: для <texture id="ui_inGame2_Drug_stalkerov" x="0" y="0" width="121" height="121" /> получим файл с именем ui_ingame2_drug_stalkerov 4) Если указать в конфиге pack_without_source = true, то пункт #3 в процессе запаковки будет пропущен.Внимание: один *.dds файл может использоваться в нескольких текстурных атласах, будьте осторожны с использованием этой опции Ссылки на скачивание:Yandex.disk Изменено 14 января пользователем st_tyopa 5 1 1 3 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stern-13 2 705 Опубликовано 12 января (изменено) 32 минуты назад, st_tyopa сказал: для преобразования упакованных текстурных атласов в отдельные изображения Наверное правильней назвать converter, а не unpacker. А то ассоциация по названию с распаковщиком в котором ui удобный для взаимодействия. Изменено 12 января пользователем Stern-13 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
st_tyopa 20 Опубликовано 12 января (изменено) А я могу название темы поменять? Не было умысла вводить пользователей в заблуждения. Хотелось бы узнать мнение от модераторов \ администраторов форума. Updated: Назвал по аналогии с программой Texture Packer для составления текстурных атласов Изменено 12 января пользователем st_tyopa Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stern-13 2 705 Опубликовано 12 января (изменено) 2 часа назад, st_tyopa сказал: А я могу название темы поменять? Конечно можешь, автор темы же. Изменить на главном пост нажимаешь и редактируешь не в окне поста, а выше чуть поднимаешь взгляд будет окно с текстом названия темы и правишь его. Нажимаешь сохранить после и все. Изменено 12 января пользователем Stern-13 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
chriotmao 1 897 Опубликовано 12 января Еще бы нормальное описание прикрутить, а также принцип работы 1 Знаете, я и сам своего рода LEVEL DESIGNER Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
st_tyopa 20 Опубликовано 12 января 25 минут назад, chriotmao сказал: Еще бы нормальное описание прикрутить, а также принцип работы Обновил описание 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stern-13 2 705 Опубликовано 12 января st_tyopa а обратно функционал добавится? Извлек, поправил и назад также внедрил по координатам - было бы тоже полезно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
st_tyopa 20 Опубликовано 12 января Stern-13 я думал об этом, просто мне в этом не было нужды. Наверное стоит добавить, следите за обновлениями . 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
chriotmao 1 897 Опубликовано 12 января 2 часа назад, st_tyopa сказал: Обновил описание Во, теперь другое дело) Знаете, я и сам своего рода LEVEL DESIGNER Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
st_tyopa 20 Опубликовано 14 января Вышла версия 1.1 Была добавлена возможность запаковки текстур, после распаковки и редактирования. Смотрите шапку - там все подробности. Спойлер 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты