Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Уменьшение размера файла сборки

Важно свести размер файла созданного приложения к минимуму, особенно для мобильных устройств или магазинов приложений, в которых установлены ограничения по размеру. Первым шагом в уменьшении размера является определение того, какие активы вносят в него наибольший вклад, потому что эти активы являются наиболее вероятными кандидатами на оптимизацию. Эта информация доступна в журнале редактора сразу после того, как вы выполнили сборку. Перейдите в окно консоли (меню: Окно > Общие > Консоль Аббревиатура от игровая приставка
См. в Словарь
), щелкните небольшую раскрывающуюся панель в правом верхнем углу. и выберите Открыть журнал редактора.

Журнал редактора сразу после сборки
Журнал редактора сразу после сборки

В журнале редактора содержится сводная информация об Активах с разбивкой по типам, а затем перечислены все отдельные Активы в порядке их вклада. Как правило, больше всего памяти занимают текстуры, звуки и анимация, а скриптыфрагмент кода, позволяющий создавать собственные Компоненты, запускать игровые события, изменять свойства Компонентов с течением времени и реагировать на действия пользователя любым удобным для вас способом. Подробнее
См. в Словарь
, Уровни и ШейдерыПрограмма, работающая на графическом процессоре. Подробнее
См. в Словарь
обычно оказывают наименьшее влияние. Упомянутые в списке заголовки файлов не являются активами — на самом деле это дополнительные данные, которые добавляются в «сырые» файлы активов для хранения ссылок и настроек. Заголовки обычно очень мало влияют на размер ресурса, но значение может быть большим, если у вас много больших ресурсов в папке ресурсов.

Журнал редактора помогает определить ресурсы, которые вы, возможно, захотите удалить или оптимизировать, но прежде чем начать, вам следует учесть следующее:

  • Unity перекодирует импортированные активы в свои собственные внутренние форматы, поэтому выбор типа исходного актива не имеет значения. Например, если у вас есть многослойная текстура Photoshop в проекте, она сглаживается и сжимается перед построением. Экспорт текстуры в виде файла .png не влияет на размер сборки, поэтому при разработке следует придерживаться наиболее удобного для вас формата.

  • Unity удаляет большинство неиспользуемых ресурсов во время сборки, поэтому вы ничего не получите, удалив ресурсы из проекта вручную. Единственные ассеты, которые не удаляются, — это скрипты (которые в любом случае очень маленькие) и ассеты в папке «Ресурсы» (поскольку Unity не может определить, какие из них нужны, а какие нет). Имея это в виду, вы должны убедиться, что в папке «Ресурсы» находятся только те активы, которые вам нужны для игры. Возможно, вы сможете заменить ресурсы в папке Resources на AssetBundles — это означает, что Unity загружает ресурсы динамически, тем самым уменьшая размер проигрывателя.

Предложения по уменьшению размера сборки

Текстуры

Текстуры обычно занимают больше всего места в сборке. Первым решением этой проблемы является использование сжатых форматов текстурформата файлов для обработки текстур во время рендеринга в реальном времени аппаратным обеспечением для 3D-графики, например видеокарта или мобильное устройство. Подробнее
См. в Словарь
. Дополнительную информацию см. в документации по сжатию текстур для конкретных платформ.

Если это не уменьшит размер файла в достаточной степени, попробуйте уменьшить физический размер (в пикселях) изображений текстуры. Чтобы сделать это без изменения фактического исходного содержимого, выберите текстуру в представлении «Проект» и в Инспектореокно Unity, которое отображает информация о текущем выбранном игровом объекте, активе или настройках проекта, позволяющая просматривать и редактировать значения. Дополнительная информация
См. в окне Словарь
, уменьшите Max Size . Чтобы увидеть, как это выглядит в игре, увеличьте GameObjectосновной объект в сценах Unity, который может представлять персонажей, реквизит , пейзажи, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
Посмотрите в Словарь
, в котором используется Текстура, затем отрегулируйте Максимальный размер, пока он не станет хуже выглядеть в СценеСцена содержит окружение и меню вашей игры. . Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в представлении Словарь
. Изменение максимального размера текстуры не влияет на ваш объект текстуры, а только на его разрешение в игре.

Изменение максимального размера текстуры не влияет на ваш текстурный ассет, только на его разрешение в игре.
Изменение максимального размера текстуры не влияет на ваш текстурный ассет, только на его разрешение в игре.

По умолчанию Unity сжимает все текстуры при импорте. Чтобы ускорить рабочий процесс в редакторе, перейдите в Unity Настройки и снимите флажок Сжимать ресурсы при импорте. Все текстуры в сборке сжимаются независимо от этого параметра.

Сети и анимации

Вы можете сжимать меши и импортированные анимационные клипы, чтобы они занимали меньше места в игровом файле. Чтобы включить Meshосновной графический примитив Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Подробнее
См. в Словарь
сжатиеМетод хранения данных, уменьшающий требуемый объем дискового пространства. См. Сжатие текстур, Сжатие анимации, Сжатие звука< /a>, Сжатие компоновки.
Смотрите в Словарь
, выберите Mesh, затем в окне Inspector установите < b>Сжатие сетки до Низкого, Среднего или Высокого. Сетка и Сжатие анимацииМетод сжатия данных анимации для значительного уменьшения размера файла без заметного снижения качества движения. Сжатие анимации — это компромисс между экономией памяти и качеством изображения. Подробнее
См. в Словарь
использует квантование, что означает, что он занимает меньше места, но сжатие может внести некоторые неточности. Поэкспериментируйте с допустимым уровнем сжатия для ваших моделей.

Обратите внимание, что при сжатии Mesh создаются только файлы данных меньшего размера, и при этом не используется меньше памяти во время выполнения. Анимация ключевой кадрКадр, отмечающий начальную или конечную точку перехода в анимации. Кадры между ключевыми кадрами называются промежуточными.
См. в Словарь
. память во время выполнения; как правило, он всегда должен быть включен. См. документацию по анимационным клипамданным анимации, которые можно использовать для анимированных персонажей или простых анимаций. Это простое «единичное» движение, такое как (один конкретный пример) «Простояние», «Ходьба» или «Бег». Подробнее
Смотрите в Словарь
.

Уменьшение размера библиотеки .NET

Unity поддерживает два уровня совместимости .NET API: .NET 4.x и .NET Standard 2.0. .NET Standard 2.0 ограничивает вас меньшим подмножеством .NET API, что может помочь уменьшить размер.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3