
SupHamster
Пользователи-
Публикации
141 -
Зарегистрирован
-
Посещение
Репутация
0 НейтральнаяО SupHamster
-
Звание
Активный участник
Интересности
-
Конфигурация компьютера
Core Q6600, GF 260GTX, RAM 4Gb
Информация
-
Пол
Male
-
Откуда
РФ
Посетители профиля
2 217 просмотров профиля
-
Бандл полтора гига, а разжатый 2, есть идеи почему такая шляпа вылезла (пробал с -ncomp - та же шляпа)? Upd: Вроде, если для импорта оставить только команду “UnityEX.exe importres "%%a"”, то ошибка не вылазит, правда я не уверен, что в таком случае всё корректно запаковывается, то бишь надо тестить. И ещё по поводу “Добавлена поддержка записи звуков и видео сразу в ресурс файл находящийся в бандле с учётом, что ресурс с индексом может быть не последним в архиве.” команда какая-то дополнительная нужна для консоли, чтобы это работало или как и если да, то пример команды в студию плз.
-
Да, иногда напрягает тема с длинными именами, ибо бывает сами бандлы в игре в нескольких поддиректориях запрятаны и имя у файла внутри ассетов бандлов километровое и тогда хоть путь делай D:\1 всё равно длинным окажется пока туда сами бандлы не запихнёшь. Не совсем понятно почему автор проги до сих пор никак не решил проблему (испольнования относительных путей не в счёт, ибо не всегда и не везде помогают). Если самому напряжно, то любой ИИ “на гора” выдаст за пару секунд решение: Delphi 7 по умолчанию использует ANSI-версии функций API, которые не поддерживают длинные пути. Вы можете использовать Unicode-версии функций API, такие как WideString и UnicodeString, чтобы обойти это ограничение. Пример использования Unicode-функций: uses SysUtils, Windows; var LongPath: WideString; FileHandle: THandle; begin LongPath := '\\?\C:\VeryLongPath\...\filename.txt'; FileHandle := CreateFileW(PWideChar(LongPath), GENERIC_READ, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); if FileHandle = INVALID_HANDLE_VALUE then begin ShowMessage('Не удалось открыть файл'); Exit; end; // Работа с файлом CloseHandle(FileHandle); end;
-
Удаление файлов из ассетов не планируется (добавление же есть)? В UABEA это есть давно (не буду расписывать зачем мне, но раз туда добавили — значит не бесполезная функция).
-
Не знаю предлагали ли (скорее всего да), но в качестве дальнейшего развития программы такая идея возникла: было бы удобно если б превью (хотя бы для картинок, в идеале конечно для всего что возможно) добавить (опционально), как в виндовом проводнике, например. Для этого желательно также сделать, чтобы при растяжении окна проги, при следующем запуске это не сбрасывалось. Ибо по интерфейсу программа проигрывает пожалуй всем известным аналогичным тулзам (UABEA, DevX).
-
Во время работающего впн такая шляпа вылезает, причём у меня на хром только трафик через впн идёт и всё равно ошибка всплывает. Не совсем понятно причём тут шрифты, я бы ещё понял, если бы программа не запускалась вообще...
-
Походу хард умирает. Проверил на другом - всё работает в плане распаковки, правда запись пока не тестил. Сорян за кипешь.
-
Где-то походу поломалось открытие больших бандлов после v1.10.7.0 ибо на данной версии по крайней мере разжимает бандл игры, а на последних версиях при разжатии происходит крэш проги без каких-либо ошибок. Хотя в итоге разжатый через v1.10.7.0 бандл всё равно не хочет распаковываться до конца через Export_bundles_root.bat из-за ошибки EStreamError.
-
-
Бандлы размером более 8Гб прога не хочет разжимать, приходится UABEA юзать.
-
https://pixeldrain.com/api/file/dvQ7B41d/info/zip/Out of Touch/OoT_Data/StreamingAssets/sound1 что ни делай с саунд бандлом — конвертит в mp3 только при распаковке и если через консоль, а в гуи вообще fsb онли какой формат не выбирай.
-
Текущий метод конвертации BC7 ->DXT5 делает текстуры намного темнее. В моём случае, если вручную конвертить и добавить к texconv.exe в конце ключ “-srgb”, то всё норм. Также качество DXT5 текстур (после конвертации BC7 ->DXT5) оставляет желать лучшего, хотя это к тулзе texconv.exe вопрос (вроде с ключём “-bc u” качество лучше). Upd: перекомпилил https://workupload.com/file/y4TuWN9Cj7s тулзу, чтобы по умолчанию это делала (без мипмапов). UnityEx в GUI может определять тип/формат dds текстуры, поэтому, думаю не сложно добавить в консольный режим экспорт по определённому типу текстуры (допустим BC7 [id=25] только, ибо если кранчить обратно всё подряд типа курсоров и тп, то это будет кринжово смотреться или вообще приведёт к крашу игры). Нашёл ещё баг: извлекается битый (на картинке справа UnityEx, слева UABEA, где всё ОК) dds файл не важно его в BC7, DXT5, png, либо в ARGB извлекать, где вместо картинки рябь из цветных пикселей показывается, хотя размер файла вроде верный, кстати, resS файл почти 5 гиг, но в данном случае, думаю, дело не в этом, ибо ~70% извлеклись без проблем. Ключ -skip_error не совсем понятно, что делает, ибо с ним UnityEx продолжает сыпать предупреждениями, что нельзя сохранять dds в dtx не кратным 4, ругается на слишком длинный путь и тд.
-
Поломана (или изначально бажная) запаковка в (большие? в районе 3.5Гб после разжатия, может и с меньшими тоже) бандлы (см мой прошлый пост). Исходный формат картинок BC7, если что. После переконвертации UnityEx в DXT5, ARGB или после кранча, игра не видит картинки. v1.10.6.4: в гуи пакует очень быстро, что уже подозрительно, в игре картинки (причём их размер не важен — тот же, меньше, больше) не видны в итоге, в консоле пакует с большими проблемами или не пакует вообще (см мой прошлый пост) - итог тот же (битые картинки, в игре не видны как будто их нет вообще, т.е. полностью игнорируются игрой). v1.10.6.1: после доп. тестирования вплыли походу те же проблемы, что и с более новой версией. Предыстория та же, что и выше (речь идёт о больших бандлах, на простых ассетах не проверял). Разница более новыми версиями в том, что гуи пакует картинки не в ResS файл (хотя в настройках выбран ResS), а в ассет. Upd: В общем, если делать так: for %%a in (intro) do ( UnityEX.exe export "%%a" -nft -t dds -p ".\" ) for %%a in (intro) do ( if exist "Unity_Assets_Files\%%~na\" ( UnityEX.exe exportbundle "%%a" UnityEX.exe import "%%a" -nft -res -dds_force_import_to_crunch -p ".\" UnityEX.exe importbundle "%%a" ) ) то нифига не работает, но если так: for %%a in (intro) do ( UnityEX.exe exportbundle "%%a" -p "%CD%\" ) for %%b in (CAB-????????????????????????????????) do ( UnityEX.exe export "%%b" -nft -t dds UnityEX.exe import "%%b" -nft -res -dds_force_import_to_crunch ) for %%a in (intro) do ( UnityEX.exe importbundle "%%a" -p "%CD%\" ) del /q "CAB-*" то всё норм — сложно сказать в чём причина, то что баг это да, но из-за BC7, большого размера бандла, кранча или всего вместе вопрос.
-
texconv.exe/ConverterTexture.exe довольно медленно конвертит BC7 → DXT5 (использует видяху только если наоборот DXT5 → BC7 (кстати возможность такой обратной конвертации не помешала бы в UnityEx при запаковке), обновление тулзы не особо помогает, хотя работает чуть быстрее), было б неплохо добавить многозадачность (ключ типа -tasks), ибо у меня проц даже до 50% нагрузки не доходит, чтобы допустим сразу 5 процессов texconv/ConverterTexture (для обработки 5 dds) можно запускать. С “-nft” и “-dds_force_import_to_crunch” через консоль так и не хочет кранченные текстуры создавать/паковать. Отредактировал батник — заработало. Было: if /i "!flip!"=="-yflip" ( set infile=%~dpn2_FLIP%~x2 Copy /Y %2 "!infile!" "%~dp0..\ConverterTexture.exe" "!infile!" "!infile!" -flipv rem "%~dp0..\texconv.exe" -vflip -o %~dp2 -y "!infile!" ) "%~dp0crunch_x64.exe" -file "!infile!" -out %1 %3 -maxmips %5 if not exist %1 ( "%~dp0old\nwn_crunch.exe" -file "!infile!" -out %1 %3 -maxmips %5 ) if /i "!flip!"=="-yflip" ( del "!infile!" ) Стало: set infile=%2 set infile=%~dpn2%~x2 Copy /Y %2 "!infile!" if /i "!flip!"=="-yflip" ( "%~dp0..\ConverterTexture.exe" "!infile!" "!infile!" -flipv ) "%~dp0crunch_x64.exe" -file "!infile!" -out %1 %3 -maxmips %5 if not exist %1 ( "%~dp0old\nwn_crunch.exe" -file "!infile!" -out %1 %3 -maxmips %5 ) По поводу бандлов ещё такой вопрос: если c “-dds_force_import_to_crunch” в бандл (> 3Gb) паковать, то текстуры битые пакуются? В GUI вроде норм, только через консоль проблемы с паковкой, но в игре dds не будут видеться. for %%a in (animation.bundle) do ( if exist "Unity_Assets_Files\%%~na\" ( UnityEX.exe exportbundle "%%a" UnityEX.exe import "%%a" -res -dds_force_import_to_crunch -p ".\" UnityEX.exe importbundle "%%a" Если паковать в бандл через exportres/importres (см ниже), то dds пакуются, но всё равно сначала надо сделать “сухой” прогон (см в самом низу), иначе будет ошибка EStreamError, хотя dds будут в итоге нечитабельные (EReadError при распаковке и игра их не будет видеть). for %%a in (animation) do ( if exist "Unity_Assets_Files\%%~na\" ( UnityEX.exe exportres "%%a" UnityEX.exe import "%%a" -res -dds_force_import_to_crunch -p ".\" UnityEX.exe importres "%%a" ) ) В общем разобрался — если импортить в очень большой неразжатый предварительно бандл сразу, то получаем: но если сделать сначала “сухой” прогон (для разжатия бандла), то затем в бандл можно паковать, хотя всё равно в итоге будут проблемы с импортированными файлами (см выше). for %%a in (animation) do ( UnityEX.exe exportbundle "%%a" UnityEX.exe importbundle "%%a" )
-
Не знаю баг не баг, но BC7 (а по факту BC7 → DXT5 → crn, ибо экспорт в DXT5 теперь работает) кранчится, только если убрана галка переворачивать, даже если сначала запаковать DXT5 вместо BC7, а потом уже делать импорт в crn, батник pack_crunch.bat сегодняшний если что.
-
Проблема в том, что BC7 как раз в DXT5 у меня не экспортируются в UnityEx, вот ассет https://pixeldrain.com/u/f4daWrHg (слева на картинке открытый Spaceship-Drakir5.tex.dds после экспорта)