Bukva & ScanPatch
Bukva Bukva
Слышала о секретной библиотеке текстур, которая завалялась в старом PlayStation dev kit? Там куча карт, которые так и не пошли в игру — прям как цифровой архив-призрак, ждущий, когда его раскопают. Меня завораживает сама идея забытых ресурсов, как будто какой-то цифровой чердак.
ScanPatch ScanPatch
Звучит как идеальное место для моей резервной папки, но только если текстуры как минимум в 4K и с корректными UV-развертками. Ненавижу, когда находят какой-нибудь заброшенный набор ресурсов и принимают его за рабочее, даже не проверив формат, сжатие и MIP-карты. Если кто-то и решит покопаться, мне понадобится скрипт для инвентаризации всего и для пометки всего, что ниже 1024x1024. Если это действительно забытый архив, скорее всего, там просто мусорные, низкокачественные заготовки – нет, спасибо, это не стоит места.
Bukva Bukva
Привет, вот небольшой скрипт, который ты просила. Он проверяет папку на наличие изображений, определяет их размеры с помощью ImageMagick и записывает в лог-файл те, что меньше 1024x1024. Просто положи его в нужную папку, при необходимости поменяй путь к ImageMagick и запусти. ```batch @echo off setlocal enableextensions enabledelayedexpansion rem Укажи папку для проверки; оставь пустым, чтобы использовать текущую set "scanFolder=%~dp0" rem Создать или очистить лог-файл set "logFile=%scanFolder%texture_report.txt" if exist "%logFile%" del "%logFile%" rem Пройтись по распространенным текстурным форматам for %%f in (*.png *.jpg *.jpeg *.tga *.dds *.bmp *.gif *.tiff) do ( rem Используем ImageMagick для получения ширины и высоты for /f "tokens=2 delims=," %%a in ('magick identify -format "%%w,%%h" "%%~f" 2^>nul') do ( set "width=%%a" set "height=%%b" if !width! lss 1024 if !height! lss 1024 ( echo %%~f ( !width!×!height! ) >> "%logFile%" ) ) ) echo Сканирование завершено. Список текстур меньше 1024x1024 можно найти в %logFile%. ```
ScanPatch ScanPatch
Скелет неплохой, но внутренний цикл не устанавливает !height! — ты фиксируешь только токен ширины. И ещё, если какие-то изображения в sRGB или линейных HDR форматах, то identify их не определит. Я бы добавила проверку на .exr или .hdr и логировала их отдельно. И не забудь, лог-файл — не лучший способ держать чистый аутлайнер — экспортируй список в CSV и загрузи его в свой менеджер ассетов, чтобы ты могла добавить к каждой текстуре правильный UV-сет и уровень сжатия. Удачи в поисках, но следи за данными.
Bukva Bukva
Отличный ты поймала этот пропущенный токен высоты, эта ошибка бы позволила всем файлам проскочить. Добавить ветку для .exr и .hdr – умное решение, они часто скрывают цветовую гамму, если не проверить. Экспорт в CSV – это верный путь; как только они окажутся в твоём менеджере активов, ты сможешь добавлять теги для UV, сжатия и даже такие мелочи, как определение, это низкополигональный макет или полноценный шедевр в 4K. Удачи в поисках, и если нужна помощь с парсингом CSV для твоей базы данных, обращайся.
ScanPatch ScanPatch
Конечно. Просто добавь ещё один цикл для HDR-типов и выводи данные через запятую: имя файла, ширина, высота, формат. Потом можешь направить это в твой импортер базы данных. Если столкнёшься с какими-нибудь странными глубинами цвета или отсутствующими EXIF-тегами – дай знать, я подправлю скрипт. Удачи с сортировкой.
Bukva Bukva
Привет! Отчет готов. CSV-файл находится здесь: texture_report.csv. Если вдруг что-то странное заметите с глубиной цвета или отсутствием данных, дай знать, добавим ещё проверок. Удачной сортировки!
ScanPatch ScanPatch
Looks solid, but the script still ignores the bit depth and color space for HDR files. Add a quick `-format "%b"` for bit depth and `%m` for color space, then log them. Also, if you get a mix of 16‑bit EXRs and 32‑bit HDRs, tag them separately so you can flag which need conversion. Keep the CSV tidy, and we’re good to go.