Publishing Builds
Unity Manual > User Guide > Unity Basics > Publishing Builds

Publishing Builds

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

File→Build Settings... — это меню даёт доступ к настройкам сборки. Вверху расположен список сцен, которые будут включены в сборку.


Build Settings.

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

Добавление сцены в список (2 способа):
* кнопка Add Open Scene.
* перетащить сцену из Project View в список.

Каждая сцена в этом списке имеет свой идентификационный номер. Первая сцена в сборке имеет номер 0. Когда нужно загрузить новую сцену, используется скрипт с функцией Application.LoadLevel()

Внутри списка менять порядок сцен можно просто перетаскивая их выше или ниже.

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

Если включена опция Compress Textures, все текстуры проекта будут сжаты во время сборки. Текстуры сжимаются лишь единожды, но это требует много времени. Если после сжатия текстура была изменена, потребуется повторить процедуру при следующей сборке. В качестве альтернативы можно включить сжатие текстур при импорте в меню Unity→Preferences.

Если включена опция Strip Debug Symbols, информация дебага будет удаляться из сборки. Это позволяет снизить размер файлов игры, что полезно при финальной сборке. Для альфа и бетасборок лучше оставлять опцию выключенной.

Web Player Streaming

Streaming Web Player позволяет начать игру сразу после завершения загрузки Сцены 0. Если в игре 10 уровней, нет смысла заставлять игрока ждать загрузки всех ресурсов для уровней 2-10 только для того, чтобы запустить уровень 1. Streaming Web Player загружает ресурсы в том порядке, в каком сцены были установлены в списке сцен в настройках сборки. Как только будут загружены все ресурсы, содержащиеся в сцене 0, игра будет запущена.

Таким образом , Streaming Web Player позволяет начать игру очень быстро.

Обычно, в непотоковом плеер используется следующий код для загрузки уровня:

Application.LoadLevel("levelName");

В Streaming Web Player нужно сначала проверить, закончилась ли передача уровня. Это реализуется через функцию CanStreamedLevelBeLoaded(). Это работает так:

var levelToLoad = 1;

function LoadNewLevel () {
	if (Application.CanStreamedLevelBeLoaded (levelToLoad)) {
		Application.LoadLevel (levelToLoad);
	}
}

Если нужно отобразить прогресс загрузки уровня через полосу загрузки, используется функция GetStreamProgressForLevel().

Inside the build process

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

* Объекты с тегом «Editor Only» будут исключены из сборки. Это полезно при отладке скриптов.
* Когда новый уровень загружен, все объекты предыдущего уровня уничтожаются. Для предотвращения этого используется функция DonDestroyOnLoad() Это бывает полезно, когда нужно сохранить проигрываемую музыку, игровой прогресс или статистику.
* После загрузки нового уровня сообщение OnLevelWasLoaded() посылается во все активные объекты.
* Больше информации о создании многосценовых сборок и о создании различных вспомогательных сцен (главное меню, рекорды, настройки и т. п.) можно получить в Scripting Tutorial.pdf

Preloading

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

Для того, чтобы ресурсы всех сцен подгружались заранее, создайте пустую сцену, которая будет вызывать функцию Apllication.LoadLevel(1). В настройках сборки присвойте ей индекс 0. В результате, ресурсы всех остальных сцен будут подгружены заранее.

You're ready to build games

Теперь Вы знаете как использовать интерфейс Unity, ресурсы, как создавать сцены и компилировать сборки. Теперь ничего не остановит Вас в создании игры Вашей мечты.

Подробная информация о компонентах в Component Reference.

Подробная информация о написании скриптов в Scripting Reference.

Подробная информация о создании ресурсов в параграфе Working with Assets.

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