Garry's Mod

Garry's Mod

74 个评价
Простое сжатие аддонов
由 [FG] Shark_vil 制作
Это руководство по использованию приложения для быстрого и простого сжатия тяжелых аддонов.
   
奖励
收藏
已收藏
取消收藏
1. Введение
Думаю, многие из вас вздыхали, когда видели очередной крутой, но тяжелый аддон. Это терпимо, когда их один или два. Но когда их много, контент игры может достигать пяти и более гигабайт. Это особенно неприятно при разработке контента для игрового сервера, когда скорость загрузки важнее, чем текстуры с разрешением 8k.

Я разработал простое приложение, которое использует примитивные методы сжатия, но может рекурсивно сжимать все файлы в указанной вами папке.

Сторонний видео-туториал:
2. Установка
2.1. Установка пакета Net 6
Для работы приложения необходимо установить пакет "Net 6". Загрузите его по этой ссылке:
https://dotnet.microsoft.com/en-us/download/dotnet/6.0/runtime

Выберите категорию, которая позволяет запускать десктопные приложения:




2.2. Установка приложения
После установки пакета вы можете загрузить приложение. Это можно сделать, перейдя по этой ссылке:
https://github.com/Shark-vil/GmodAddonCompressor/releases/latest

Выберите версию для вашей системы:



Я рекомендую поместить файл запуска в отдельную папку, так как он создаст дополнительные файлы. Пример:



3. Как использовать
3.1. Интерфейс
Приложение выглядит следующим образом:



3.1.1. Блок выбора папки


Здесь вы можете выбрать папку для сжатия. Определившись с настройками, нужно нажать кнопку "Compress", чтобы начать.

Вы также можете запустить консоль разработчика, но это нужно сделать сразу после запуска приложения, иначе потом ничего не будет отображаться.

3.1.2. Блок настройки аудио
Здесь вы можете выбрать настройки для сжатия аудиофайлов. На данный момент поддерживается только формат "WAV".



Не рекомендую ставить "16000". Качество заметно ухудшается. Лучше использовать первые два варианта.

3.1.3. Блок настройки текстур
Здесь вы можете выбрать настройки для сжатия текстур практически всех форматов.



Этот параметр отвечает за степень сжатия изображения от его исходного размера. Например, 2 - это ширина и высота, деленные на 2.



Здесь вы можете установить ограничения. Разрешение изображений не будет меньше установленных вами пределов.



Здесь вы можете задать настройки для пропуска. Любые изображения с указанными ограничениями будут пропущены.



Если вы установите этот флажок, все изображения будут сжаты точно до указанных пределов.



Эта опция необходима для сохранения оригинальных пропорций изображений. Я не рекомендую ее отключать.



По умолчанию текстуры "VTF" сжимаются через "VTFCmd". Если вы включите эту опцию, то в приоритете будет использоваться библиотека "ImageMagick". Она обеспечивает лучшее сжатие и сохраняет качество текстур.



UPD 07.08.2022: Функция изменила своё наименование и была помечена как демонстрационная из-за обнаруженных ошибок при сжатии некоторых текстур. Рекомендую использовать её выборочно, а не на большой папке с контентом.



3.1.4. Блок настройки LUA
Эта опция минимизирует код LUA, делая его одной строкой, а также удаляет все комментарии.



UPD 08.08.2022:
Дополнительная настройка, которая использует библиотеку Prometheus[github.com] для минимизации кода. Однако она также меняет исходный код, делая переменные более короткими.



Пример того как меняется исходный код:

4. Демонстрация
В качестве примера я возьму мод "MW19 Tactical Infiltration".



Оригинальный размер аддона:



Для демонстрации попробуем следующие настройки:



Вы можете наблюдать за ходом работы здесь:



Результат вы можете увидеть сами:

.
5. Проблемы
Известные проблемы
  • Некоторые аудиофайлы не сжимаются и пропускаются
  • Существует небольшая вероятность зависания приложения при обработке файлов
  • Существует вероятность поломки LUA-скриптов после минимизации, если они были обфусцированы или скомпилированы

Основная рекомендация при работе с этим приложением - делать резервные копии. Не используйте сжатие для оригинальных файлов. Сделайте копию аддона и поэкспериментируйте с настройками сжатия на дубликате.

В будущем я планирую добавить кнопку для быстрой отмены сделанных изменений, чтобы вы могли настроить параметры для одной папки несколько раз.
6. Заключение
Я надеюсь, что это будет кому-то полезно. Если вы найдете ошибки в приложении, вы можете сообщить о них в комментариях. Но лучше делать это на GitHub[github.com] или на моем Discord-сервере[discord.gg], там можно открыть тикеты.

Вы также можете предлагать идеи в комментариях. Удачи!

42 条留言
hwndk 3 月 8 日 下午 1:54 
также это можно использовать и с sfm, а то моделькоделы уже совсем зажрались со своими гигабайтами на 1 модель
Astralcircle 2024 年 2 月 5 日 下午 1:55 
Реально полезно
[FG] Shark_vil  [作者] 2023 年 6 月 28 日 上午 8:01 
Программа не сжимает .mdl модели, если вы вдруг надеялись уменьшить количество полигонов. Только текстуры, звуки и скрипты. И нет никакой гарантии, что 100% ресурсов будут сжаты.
Akych 2023 年 6 月 28 日 上午 7:25 
В какой папке ты мод нашёл?
Akych 2023 年 6 月 28 日 上午 7:06 
Такая же дичь
☦☭⁴²ᴄᴋᴏᴘɪɪᴜᴏɴ⁴²☭☦ 2023 年 6 月 6 日 上午 5:23 
не работает , загрузил папку с моделькой и настроил все нажал компрес и ничего не происходит :rinconfused:
joystick_on 2023 年 4 月 9 日 下午 1:46 
Твою мать, я извиняюсь, я это всё скачал и установил, если честно я думал я смогу сжать несколько аддонов в один, это, как я понял, не то для чего приложение сделано? Ни как не выйдет?
YRAN 2023 年 4 月 9 日 上午 8:51 
как сжать модель, если она файлом GMA в папке addons лежит
scalevizard 2023 年 3 月 3 日 上午 9:42 
Ладно, спасибо за ответ
[FG] Shark_vil  [作者] 2023 年 3 月 3 日 上午 8:53 
@msmr, перед нажатием компрессии открой консоль, поставив галочку внизу слева. Если много красных ошибок, значит не может сжать. Плюс, если основной вес составляют модели, то они конечно сжаты не будут.