0

TeamCity を使用して単純な Unity3D プロジェクトを構築しようとしています。問題は、TeamCity がシーン ファイルを見つけることができず、次のエラー メッセージが表示されることです。

"C:\Program Files (x86)\Unity\Editor\Unity.exe" -batchMode -quit -nographics -projectPath C:\unityProject
[catting log file]
'' is an incorrect path for a scene file. BuildPlayer expects paths relative to the project folder.
'' is an incorrect path for a scene file. BuildPlayer expects paths relative to the project folder.

画像は、ビルドのセットアップ方法を示しています。コンピューターでコマンドラインを使用してビルドを実行すると、TeamCity を使用するだけでプロジェクトをビルドするのに問題はありません。エディターでシーンファイルを追加する方法があれば考えていました。「メソッド実行」を使用して BuildPipeline.BuildPlayer() メソッドを実行したくありません。

4

2 に答える 2

1

scenes : String[]ビルド コマンドパラメータ内に空の文字列がある場合、エラーが発生します''

AutoBuilder スクリプト ( C#JavaScript ) をプロジェクト内の任意のAssets/Editorフォルダーまたはサブフォルダーに配置すると、Player OS に適したビルド スクリプトを次のように簡単に呼び出すことができます-executeMethod

Unity -buildTarget android -executeMethod "AutoBuilder.PerformAndroidBuild"

AutoBuilder は、次のように、選択されたシーンを自動的に渡すジョブを実行します。

/**
 * Gets the paths of the activated scenes from the BuildSettings
 * @return {String[]} BuiltinArray of Strings
 */
function GetScenePaths () {
    var scenes = new Array();

    for(var i : int = 0; i < EditorBuildSettings.scenes.Length; i += 1) {

        /**
         * Only add scene, if it is enabled in the build settings.
         */
        if (EditorBuildSettings.scenes[i].enabled) {
            scenes.Push(EditorBuildSettings.scenes[i].path);
        }
    }

    /**
     * Return a builtin array instead of a JavaScript Array
     */
    var builtinArray : String[] = scenes.ToBuiltin(String) as String[];
    return builtinArray;
}

ここで JavaScript の AutoBuilder を見つけることができます: https://github.com/geildanke/UNT.autobuilder (JavaScript を好む人のために、C# の AutoBuilder.cs から JavaScript に素晴らしい作品を書き直しました)

于 2015-04-30T21:55:34.960 に答える