Вывод веб-оптимизированной (WebGL) игры

Страница обновлена :
Дата создания страницы :

Среда верификации

Виндоус
  • Windows 10
  • Windows 11
Редактор Unity
  • 2020.3.25f1

Сначала

Игры, созданные в редакторе Unity, могут запускаться в редакторе Unity, но не могут работать независимо в других средах. В этом разделе описывается, как вывести игру в формате WebGL, который запускает игру в веб-браузере.

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

Модульная установка WebGL

Для использования WebGL требуются дополнительные модули.

Запустите Unity Hub и выберите «Установить» в меню слева. Щелкните значок шестеренки для версии, на которую вы хотите установить WebGL, и выберите Добавить модуль.

Установите флажок "WebGL Build Support" в группе платформ для установки.

Дождитесь завершения установки.

Об игре, которая будет выводиться

Выводит «2D-платформер Microgame» в виде игры, которую можно выбрать при создании нового проекта. Конечно, если вы уже создали игру, пожалуйста, выведите эту игру.

Редактор Unity будет запущен, и ваш проект будет загружен.

Вывод игры для Интернета

Выберите в меню пункт Файл > Параметры сборки.

Когда отобразится диалоговое окно «Параметры сборки», отметьте все сцены, которые вы хотите использовать, в разделе «Сцены, включенные в сборку».

Выберите WebGL из платформ слева.

Если справа от названия меню нет значка Unity, оно не активно, поэтому нажмите кнопку «Переключить платформу» в правом нижнем углу с выбранным «WebGL».

Когда вы выбираете «WebGL», элементы настройки отображаются справа, поэтому установите их следующим образом.

Значение настройки элемента
Оптимизация кода скорость
другой Безудержный

Когда настройка будет завершена, нажмите кнопку «Сборка» для вывода. Если вы хотите запустить его сразу после вывода, нажмите кнопку «Собрать и запустить».

Указывает место назначения выходных данных программы. Некоторые файлы будут созданы в папке, поэтому вы можете выбрать любую пустую папку. Если существующий файл с таким же именем существует, он будет перезаписан. Строительство займет некоторое время, поэтому подождите некоторое время.

Если отображается следующий экран настройки брандмауэра, предоставьте разрешения в соответствии с вашей средой. Если вы не уверены, отметьте только «Частный», чтобы разрешить доступ.

Когда сборка будет завершена, файл будет создан.

Вы не можете запустить эти файлы напрямую, чтобы запустить игру. У вас всегда должен быть веб-сервер, и вы должны разместить на нем свою игровую программу, прежде чем получить к ней доступ с помощью веб-браузера.

Однако, если вы нажмете кнопку «Build and Run» при выводе программы, Unity запустит простой веб-сервер и запустит игру после вывода файла. Однако это только проверка работы, поэтому при ее выпуске необходимо подготовить отдельный веб-сервер.

Создание несжатой программы WebGL

Если вы выводите данные без изменения каких-либо настроек при выводе файла, каждый файл будет выводиться в сжатом виде gzip. Это может значительно уменьшить размер файла по сравнению с несжатым выводом.

Однако некоторые веб-серверы, на которых размещена ваша игра, могут неправильно обрабатывать файлы gzip. В этом случае программа выводится в несжатом виде и развертывается на веб-сервере.

Чтобы изменить настройки сжатия, выберите WebGL на экране настроек сборки и нажмите кнопку «Настройки проигрывателя».

Меню Player должно быть выбрано на экране Project Settings, поэтому разверните Visibility в настройках WebGL внизу.

Есть пункт под названием «Формат сжатия», поэтому выберите «Отключено» оттуда. Кстати, существует и более сжатый формат под названием «Brotli», но, поскольку это относительно новый формат, его поддерживает меньше веб-серверов, чем gzip.

После выбора выполните сборку и вывод, как и раньше.

Кстати, когда 2D Platformer Microgame выводится с этими форматами сжатия или без них, размер файла следующий.

Общий размер файла сжатого формата
Бротли 8.1 Мегабайт
Гзип 10.0 Мегабайт
Недопустимый 29.6 Мегабайт