Unity 6.3
0 онлайн 85 гостей 3 в системе
Вход
Разработка платформы Шаг 182 из 387

Создание для QNX из командной строки

Чтобы собрать проект Unity для системы QNX из интерфейса командной строки (CLI), на хосте сборки должен быть установлен Unity Editor. Хост сборки должен работать под управлением Linux, и на нём также должен быть установлен QNX SDK. Подробнее см. Установка Unity Editor для QNX.

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

Аргументы командной строки

Предварительные условия

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

Чтобы дать указание Unity начать работу в режиме CLI и построить проект в <path-to-unity-project-root> для QNX, запустите следующую команду:

Unity -quit -batchmode -nographics -buildTarget QNX -executeMethod Builder.Build -projectPath <path-to-unity-project-root>

Процесс сборки также вызывает функцию Builder.Build для продолжения настройки сборки.

Скрипт сборки

Вы можете добавить примерный скрипт сборки в Assets/Editor/ для проекта, который вы строите из командной строки. Используйте -executeMethod возможность вызвать Build() метод этого класса, который задаёт параметры сборки и запускает её.

Для получения дополнительной информации, см. BuildPipeline.BuildPlayer documentation.

using UnityEditor;
using UnityEditor.Build.Reporting;
using UnityEngine;

public class Builder
{
    private static void BuildQNX(QNXOsVersion qnxVersion, QNXArchitecture architecture)
    {
        // Set QNX version in BuildSettings
        EditorUserBuildSettings.selectedQnxOsVersion = qnxVersion;

        // Set architecture in BuildSettings
        EditorUserBuildSettings.selectedQnxArchitecture = architecture;

        // Setup build options (e.g. scenes, build output location)
        var options = new BuildPlayerOptions
        {
            // Change to scenes from your project
            scenes = new[]
            {
                "Assets/Scenes/SampleScene.unity",
            },
            // Change to location the output should go
            locationPathName = "../QNXPlayer/",
            options = BuildOptions.CleanBuildCache | BuildOptions.StrictMode,
            target = BuildTarget.QNX
        };

        var report = BuildPipeline.BuildPlayer(options);

        if (report.summary.result == BuildResult.Succeeded)
        {
            Debug.Log($"Build successful - Build written to {options.locationPathName}");
        }
        else if (report.summary.result == BuildResult.Failed)
        {
            Debug.LogError($"Build failed");
        }
    }

    // This function will be called from the build process
    public static void Build()
    {
        // Build QNX 7.1 ARM64 Unity player
        BuildQNX(QNXOsVersion.Neutrino71, QNXArchitecture.Arm64);
    }
}

Дополнительные ресурсы