Финальная сборка проекта для публикации
Before your project can be distributed to users, it must be properly built. Packing a final build ensures that all content and code, including all necessary libraries, is up to date, in the proper format, and placed to a proper location to run on the desired target platform.Прежде чем ваш проект можно будет распространить среди пользователей, он должен быть правильно собран. Финальная сборка проекта гарантирует, что весь контент и код, включая все необходимые библиотеки, обновлены, добавлены в надлежащем формате и размещены в нужном месте для запуска на желаемой целевой платформе.
To create a final build for your project via UnigineEditor, perform the following:Чтобы собрать свой проект через UnigineEditor, выполните следующие действия:
- In UnigineEditor, select File -> Create Build. The Create Build window will open.
В UnigineEditor выберите File -> Create Build. Откроется окно Create Build.
- Specify the required settings and click Create Build.Укажите необходимые настройки и нажмите Create Build.
For building C# Component System projects, Component System should be initialized successfully.Для создания проектов с компонентной системой C #, данная система должна быть успешно инициализирована.
Смотрите также
- Video tutorial How To Create a Final Build for a C# ProjectВидеоурок Финальная сборка C# проекта
- Video tutorial How To Create a Final Build for a C++ ProjectВидеоурок Финальная сборка C++ проекта
- Video tutorial How To Delete Unused Assets from the Final BuildВидеоурок Удаление неиспользуемых ассетов из финальной сборки
Build ContentКонтент, включаемый в сборку#
By default, the build includes the following:По умолчанию в сборку входит следующее:
- BinariesДвоичные файлы
- core.ung and scripts.ungcore.ung и scripts.ung
- *.cache files*.cache файлы
- Plugins added via SDK browser
If plugins are added via code, they should be added to the build as user files.Плагины, добавленные через SDK BrowserIf plugins are added via code, they should be added to the build as user files.If plugins are added via code, they should be added to the build as user files.If plugins are added via code, they should be added to the build as user files.Если плагины добавляются через код, они должны быть добавлены в сборку как файлы пользователя .
- Assets and/or their runtimes from the data folder and from all mount points are added to the build in accordance with the specified Force-Include List
Runtimes are copied together with their *.meta (json) files.Ассеты и / или их исполняемые файлы из папки data и из всех точек монтирования добавляются в сборку в соответствии с указанным Force-Include ListRuntimes are copied together with their *.meta (json) files.Runtimes are copied together with their *.meta (json) files.Runtimes are copied together with their *.meta (json) files.Исполняемые файлы копируются вместе с соответствующими файлами *.meta (json).
- Texture cache from the data/.cache_textures folderКеш текстур из папки data/.cache_textures
- guids.db file stored in the data/ folderguids.db файл, хранящийся в папке data/
- Sound libraryЗвуковая библиотека
- Launcher file or filesФайл или файлы запуска
- Main executable filesОсновные исполняемые файлы
- Files added by user Файлы, добавленные пользователем
Build SettingsНастройки сборки#
Common SettingsОбщие настройки#
Build Type (config) |
Type of the build that defines which binaries are copied:
If the project's SDK is unavailable, this option is unavailable, as well. In this case, Build Type is defined by the build of UNIGINE Engine selected at the project creation.If the project's SDK is unavailable, this option is unavailable, as well. In this case, Build Type is defined by the build of UNIGINE Engine selected at the project creation.
If the project's SDK is unavailable, this option is unavailable, as well. In this case, Build Type is defined by the build of UNIGINE Engine selected at the project creation.Если SDK проекта недоступен, этот параметр также недоступен. В этом случае Тип сборки определяется сборкой UNIGINE Engine, выбранной при создании проекта. |
Project Name (name) |
Name of the output executable or .bat/.sh file. This name shall also be displayed as the Launcher's title and a title of the application window as well.Имя выходного исполняемого файла или файла .bat / .sh. Это имя также должно отображаться как заголовок файла запуска приложения и заголовок окна приложения. |
Build Folder (path) |
Path to the output folder where the build is going to be stored
|
Default World (world) |
The world that is loaded when the application is started. If no world is selected, the User shall be responsible for loading worlds via code, otherwise, a black screen will be displayed when running the application.Мир, который загружается при запуске приложения. Если мир не выбран, Пользователь обеспечить загрузку миров с помощью кода, в противном случае при запуске приложения будет отображаться черный экран. |
Precompile Shaders (precompile) |
If enabled, generates shaders for the current Video API. Shader cache increases performance and reduces spikes and freezes in the release application, which makes it very important for the release build. If the shaders have already been precompiled, selecting this box won't affect the build time.
Кэш шейдеров увеличивает производительность и уменьшает зависания в конечном приложении, что очень важно для итоговой сборки. Если шейдеры уже были предварительно скомпилированы, установка этого флажка не повлияет на время сборки.
|
Launcher Default SettingsПараметры запуска по умолчанию#
These settings are used as default (pre-selected) launcher settings. The launcher for the Development build displays more settings than for the Release build.Эти настройки используются как настройки файла запуска (Launcher) по умолчанию (предварительно выбранные). Панель запуска для сборки Development отображает больше настроек, чем для сборки Release.
Below are the settings used by the tool to generate a launcher for your application.Ниже приведены настройки, используемые инструментом для создания файла для запуска вашего приложения.
Type (launcher) |
Type of the launcher:
In case of the Development build with the project's SDK available, two files are created: <project_name>_development.bat (or .sh for Linux) and <project_name>_debug.bat (or .sh for Linux).Тип файла запуска:
|
Banner Image (banner) |
The image to be displayed in the launcher. Available for GUI-based launcher only. To assign an image, drag it from the Asset Browser. Only PNG images can be used. Window height is restricted to 600px, so images are automatically shrinked or enlarged to fit this height (proportions are kept).Only PNG images can be used. Window height is restricted to 600px, so images are automatically shrinked or enlarged to fit this height (proportions are kept). Чтобы назначить изображение, перетащите его из Asset Browser. Only PNG images can be used. Window height is restricted to 600px, so images are automatically shrinked or enlarged to fit this height (proportions are kept).Могут использоваться только изображения PNG. Высота окна имеет фиксированное значение 600 пикселей, поэтому изображения автоматически сжимаются или растягиваются по высоте (пропорции при этом сохраняются). |
Use OpenVR | Check this box, if your project is intended for OpenVR. This will enable OpenVR mode selection in the application launcher.Установите этот флажок, если ваш проект предназначен для OpenVR. Это позволит выбрать режим OpenVR в средстве запуска приложений. |
Use Oculus | Check this box, if your project is intended for Oculus. This will enable Oculus mode selection in the application launcher.Установите этот флажок, если ваш проект предназначен для Oculus. Это позволит выбрать режим Oculus в панели запуска приложений. |
Use Varjo | Check this box, if your project is intended for Varjo. This will enable Varjo mode selection in the application launcher.Установите этот флажок, если ваш проект предназначен для Varjo. Это позволит выбрать режим Varjo в панели запуска приложений. |
Necessary VR modes (three options above) for the console mode are specified in the configuration file as follows (list the ones you need):
|
|
Resolution (selected_res) |
The resolution of the application screen. Multiple resolutions can be selected. The resolution that is clicked upon is set as default.
Multiple resolutions for the console mode are specified in the configuration file via the resolutions parameter (list the ones you need):
Multiple resolutions for the console mode are specified in the configuration file via the resolutions parameter (list the ones you need):
|
Fullscreen (fullscreen) |
Fullscreen mode:Полноэкранный режим:
|
Binary (binary) |
Type of the binary to be selected by default in the launcher, if the selected build type is Development build:
|
Video Debug (vdebug) |
Toggling the debug context of the Graphics API. Available for the Development build type only. Переключение контекста отладки графического API. Доступно только для типа сборки Development. |
Release App / Development App / Debug App (main_release / main_dev / main_debug) |
Path to the corresponding binary to be run. The binary depends on the type of build.Путь к соответствующему исполняемому файлу. Бинарный файл зависит от типа сборки . This option is for the projects that do not use C# Component System.Этот вариант предназначен для проектов, которые не используют C # Component System . Note that the binary is defined automatically, if it remains located in the bin/ folder. If it has been moved elsewhere or rearranged in some other way, the path to the file is to be set manually.Обратите внимание, что двоичный файл определяется автоматически, если он остается в папке bin/. Если он был перемещен в другое место или переставлен другим способом, путь к файлу необходимо указать вручную. |
Arguments (args) |
Additional start-up command-line options.Дополнительные параметры командной строки запуска . |
UnigineEditor creates the <project_name>.lconfig file that Launcher uses to run the app. If a user changes any parameters and runs the app, the changes are saved in <project_name>.lconfig. Closing Launcher without running it discards any changes.UnigineEditor создает файл <project_name>.lconfig, который Launcher использует для запуска приложения. Если пользователь изменяет какие-либо параметры и запускает приложение, изменения сохраняются в <project_name>.lconfig. Закрытие Launcher без запуска отменяет любые изменения.
Delete Unused AssetsУдаление неиспользуемых ассетов#
This feature enables you to delete all unused assets from the final build. To turn it on, check the option near the Delete Unused Assets section heading.
Этот раздел позволяет вам указать ассеты, которые будут добавлены в вашу окончательную сборку. Вот как это выглядит:
The Build tool scans all assets of the types specified as wildcards (including location) in the Force-Include list (*.world, *.cs, *.fbx, *.prop, etc.), automatically resolving all dependencies (an FBX asset shall be checked for all meshes, meshes shall be checked for materials assigned to their surfaces and so on...). Thus, all assets in your project that are used by the assets of the specified types are collected and included in the final build.Инструмент Build Tool сканирует все ассеты тех типов, которые указаны при помощи подстановочных знаков (включая местоположение) в списке Force-Include (*.world, *.cs, *.fbx, *.prop и т.д.), автоматически разрешая все зависимости (в ассете FBX должны быть проверены все меши, в каждом меше должны быть проверены материалы, назначенные на его поверхности, и так далее). Таким образом, все ассеты в вашем проекте, которые используются ассетами указанных типов, собираются и включаются в окончательную сборку.
You can add more asset types to the list or remove existing ones by simply right-clicking on the desired line (a new line shall be inserted after the one you clicked on). You can also click Restore Defaults to reset the list to its initial state.Вы можете добавить другие типы ассетов в список или удалить существующие, просто щелкнув правой кнопкой мыши нужную строку (новая строка будет вставлена после той, на которой вы щелкнули). Вы также можете нажать Restore Defaults, чтобы вернуть список в исходное состояние.
For each type of assets in the list you can specify whether to include runtime or source file. But be careful, as checking only Runtime for .png textures will result in ignoring the ones with the Unchanged option enabled (i.e. having no runtime), they simply won't be included. To check your list against such cases click Check, the following Check List window will open:Для каждого типа ассета в списке вы можете указать, следует ли включать файл runtime или source. Но будьте осторожны, поскольку проверка только Runtime для текстур .png приведет к игнорированию текстур с включенной опцией Unchanged (т.е. без рантайма), они просто не будут включены. Чтобы проверить свой список на такие случаи, нажмите Check, откроется следующее окно Check List:
In this window all files found in the process of scanning are listed. The ones in white are ok, but the ones in red require your attention, for example, you may mistakenly choose to include source for an asset that has a runtime. So, be sure to look through red ones. The following options are possible:В этом окне перечислены все файлы, найденные в процессе сканирования. Белые — в порядке, но красные требуют вашего внимания, например, вы можете по ошибке включить исходный файл для ассета, у которого есть файл среды выполнения (рантайм). Итак, обязательно проверьте все файлы, выделенные красным. Возможны следующие варианты:
- [Source and Runtime] - both boxes are checked (both source and runtime files shall be added).[Source and Runtime] — оба флажка отмечены (должны быть добавлены файлы source и runtime).
- [Source] - when Source is checked and the asset has no runtime (only the source shall be added).[Source] — когда установлен Use Source и у ассета нет рантайма (нужно добавить только source).
- [Source and it has a Runtime] (shown in red) - when Source is checked, but the asset has a runtime (only the source shall be added).[Source and it has a Runtime] (показан красным) — когда Use Source отмечен, но у ассета есть рантайм (нужно добавить только source).
- [Runtime] - when Runtime is checked, and the asset has a runtime (only the runtime shall be added).[Runtime] — когда установлен Use Runtime и у ассета есть время выполнения (нужно добавить только runtime).
- [No Runtime] (shown in red) - when Runtime is checked, but the asset has no runtime (nothing shall be added).[No Runtime] (показано красным) — когда Use Runtime отмечен, но ассет не имеет рантайма ( ничего не должно добавляться).
"delete_unused": [
{
"pattern": "",
"source": "",
"primary": ""
}
]
"delete_unused": [
{
"pattern": "",
"source": "",
"primary": ""
}
]
Copy User FilesКопирование пользовательских файлов#
User files are added to the build folder by filling in the table with two columns:Пользовательские файлы добавляются в папку сборки путем заполнения таблицы с двумя столбцами:
- From (Absolute Path) — an absolute path to a source file or folder. Folders can be specified using wildcards.From (Absolute Path) — абсолютный путь к исходному файлу или папке. Папки можно указывать с помощью подстановочных знаков.
- To (Relative Path) — path to the destination folder that is relative of the Build Folder. It can be a folder name where the file or files are copied to, or a folder and a file name, i.e. the copied file can be renamed as well.To (Relative Path) — путь к целевой папке относительно Build Folder. Это может быть имя папки, в которую копируются файл или файлы, или папка и имя файла, т. е. скопированный файл также можно переименовать.
There are some rules for adding user files to the build folder:Есть несколько правил добавления пользовательских файлов в папку сборки:
From (Absolute Path) | To (Relative Path) | Комментарий |
---|---|---|
C:\test\<folder_name> | <another_folder_name>, or \<another_folder_name>, or \<another_folder_name>\<another_folder_name>, или \<another_folder_name>, или \<another_folder_name>\ |
All files and folders inside <folder_name> will be recursively copied. Thus, it doesn't matter if you use slashes or not.Все файлы и папки внутри <folder_name> будут скопированы рекурсивно. Таким образом, не имеет значения, используете ли вы слэши или нет. |
C:\Pictures\screenshot_alb.png | \folder_with_pictures\, or folder_with_pictures\folder_with_pictures\ или folder_with_pictures |
One file with the name indicated in the From column will be copied into <output_folder>\folder_with_pictures\Один файл с именем, указанным в столбце От , будет скопирован в <output_folder>\folder_with_pictures\ |
C:\Pictures\screenshot_alb.png | \folder_with_pictures\123.png But: 123.jpg (or 123.png)\folder_with_pictures\123.png Но: 123.jpg (или 123.png) |
The file will be renamed. However, if the target file extension is written incorrectly (differs from the actual file extension), a new folder with such name will be created instead, i.e. the resulting path of the example destination files will be: <output_folder>\<folder_with_pictures>\<123.jpg>\screenshot_alb.pngФайл будет переименован. Однако, если расширение целевого файла записано неправильно (отличается от фактического расширения файла), вместо этого будет создана новая папка с таким именем, т.е. пример файлов назначения будет: <output_folder>\<folder_with_pictures>\<123.jpg>\screenshot_alb.png |
"rules": [
{
"from": "",
"to": ""
}
]
"rules": [
{
"from": "",
"to": ""
}
]
When files with the same name are copied to one folder, their content is checked. If it's the same file, it would be copied once without any warning. However, if names are the same but the files are different, the dialog window will pop up to request which file should be copied.Когда файлы с одинаковыми именами копируются в одну папку, проверяется их содержимое. Если это один и тот же файл, он будет скопирован один раз без предупреждения. Однако, если имена совпадают, но файлы разные, появится диалоговое окно с запросом, какой файл следует скопировать.
Wildcards can also be used to define the rules for copying user files. Подстановочные знаки также можно использовать для определения правил копирования пользовательских файлов.
From (Absolute Path) | To (Relative Path) | Комментарии |
---|---|---|
C:\test\<folder_name>\*.tga | <tga_pictures> | All files with the indicated extension from the selected folder will be copied to the specified folder.Все файлы с указанным расширением из выбранной папки будут скопированы в указанную папку. |
C:\test\<folder_name>\ab*z.png | <another_folder_name> | All files with the name starting from ab and ending with z.png from the selected folder will be copied to the specified folder.Все файлы с именем, начинающимся с ab и заканчивающимся на z.png, из выбранной папки будут скопированы в указанную папку. |
C:\test\<folder_name>\nn* | <another_folder_name> | All files with the name starting from nn from the selected folder will be copied to the specified folder.Все файлы с именем, начинающимся с nn из выбранной папки, будут скопированы в указанную папку. |
C:\*.ung | ///\\\/one\\\\\\////two\\/// | Slashes work differently for Windows and Linux. Windows: slashes are transformed to backslashes, all backslashes are merged into one. <output_folder>\one\two\ Linux: all slashes are merged into one, but backslashes are not transformed to slashes. <output_folder>/\\\/one\\\\\\/two\\/ Слеши на Windows и на Linux учитываются по-разному. Windows: слеши преобразуются в обратные слеши, все обратные слеши преобразуются в один. <output_folder>\one\two\ Linux: все слеши преобразуются в один, но обратные слеши не преобразуются в слеши. <output_folder>/\\\/one\\\\\\/two\\/ |
EncryptionШифрование#
Project files can be encrypted using the UNIGINE-native UNG archive format. UNG files are transparent to the engine, and their content is handled as not packed. To save your files in UNG format, use the Archiver tool.Файлы проекта могут быть зашифрованы с использованием собственного формата архива UNIGINE UNG. Файлы UNG прозрачны для движка, и их содержимое обрабатывается как незапакованное. Чтобы сохранить файлы в формате UNG, используйте инструмент Archiver.
- Data streaming doesn't work for UNG/ZIP contents.Потоковая передача данных не работает для содержимого UNG / ZIP.
- The maximum size of the archive is 2 GB.Максимальный размер архива — 2 ГБ .
Console BuildКонсольный режим сборки#
Чтобы использовать этот функционал вам необходимо получить лицензию на
To simplify continuous integration (CI) and batch processing the Build Tool supports console-based management. In the console mode all build options (see descriptions above) can be configured via the dedicated file. By default the file has the following path: <data_path>.editor2/.assemblytool. Default values of configuration parameters are taken from this file (see the example below), but you can change them at your disposal. There are no specific requirements to the name and extension of this file, but it should be in JSON format.Для упрощения непрерывной интеграции (CI) и пакетной обработки Build Tool поддерживает консольный режим. В консольном режиме все параметры сборки (см. описание выше ) могут быть настроены через специальный файл. По умолчанию файл имеет следующий путь: <data_path>.editor2/.assemblytool. Значения параметров конфигурации по умолчанию взяты из этого файла (см. пример ниже), но вы можете изменить их по своему усмотрению. Никаких особых требований к имени и расширению этого файла нет, но он должен быть в формате JSON.
Config File Example (.assemblytool) Пример файла конфигурации (.assemblytool)
{
"binary": "Debug",
"config": "Development",
"fullscreen": 0,
"launcher": "BinaryFile",
"precision": "Float",
"precompile": false,
"resolutions": [
{
"d": 9,
"n": 16,
"w": 960
},
{
"d": 9,
"n": 16,
"w": 1024
},
{
"d": 9,
"n": 16,
"w": 1280
},
{
"d": 9,
"n": 16,
"w": 1366
},
{
"d": 9,
"n": 16,
"w": 1600
},
{
"d": 9,
"n": 16,
"w": 1920
},
{
"d": 9,
"n": 16,
"w": 2560
},
{
"d": 9,
"n": 16,
"w": 3840
},
{
"d": 10,
"n": 16,
"w": 960
},
{
"d": 10,
"n": 16,
"w": 1024
},
{
"d": 10,
"n": 16,
"w": 1280
},
{
"d": 10,
"n": 16,
"w": 1440
},
{
"d": 10,
"n": 16,
"w": 1680
},
{
"d": 10,
"n": 16,
"w": 1920
},
{
"d": 10,
"n": 16,
"w": 2560
},
{
"d": 3,
"n": 4,
"w": 800
},
{
"d": 3,
"n": 4,
"w": 1024
},
{
"d": 3,
"n": 4,
"w": 1280
},
{
"d": 3,
"n": 4,
"w": 1600
},
{
"d": 3,
"n": 4,
"w": 2048
},
{
"d": 4,
"n": 5,
"w": 2560
}
],
"rules": [
{
"from": "",
"to": ""
}
],
"selected_res": 0,
"vapi": "Auto",
"vdebug": "Disabled",
"vrmodes": [
"OpenVR",
"Oculus",
"Varjo"
]
}
The syntax of running the tool with command-line options is as follows: the full name of the binary executable (64-bit development or release version) followed by necessary CLI-options:Синтаксис запуска инструмента с параметрами командной строки следующий: полное имя двоичного исполняемого файла (64-разрядная версия разработки или выпуска), за которым следуют необходимые параметры интерфейса командной строки:
BuildTool_x64* --bt_option1 "argument" --bt_option2 "argument" ...
The list of available options includes the following:Список доступных опций включает следующее:
Имя | Описание. | Аругменты. |
---|---|---|
-?, -h, --help | Displays the help information on all commands available.Отображает справочную информацию по всем доступным командам. | |
--bt_output_directory | Path to the output folder where the build is going to be stored.
|
The argument can be passed as follows:
|
--bt_release_main_file | Path to the Release binary to run.Путь к исполняемому двоичному файлу Release. | The argument can be passed as follows:
|
--bt_development_main_file | Path to the Development binary to run.Путь к исполняемому двоичному файлу Development. | The argument can be passed as follows:
|
--bt_debug_main_file | Path to the Debug binary to run.Путь к исполняемому двоичному файлу Debug. | The argument can be passed as follows:
|
--bt_user_options_file | Path to the user configuration file (by default: <data_path>/.editor2/.assemblytool). In case the file is missing the Console Build tool will shut down with an error. Путь к файлу конфигурации пользователя (по умолчанию: <data_path>/.editor2/.assemblytool). В случае отсутствия файла инструмент сборки консоли завершит работу с ошибкой. | The argument can be passed as follows:
|
--bt_configuration | Type of the build that defines which binaries are to be copied (see below):
|
|
--bt_binary | Type of the binaries.Тип двоичных файлов. |
|