facebook twitter hatena line email

「Unity/Editor/プレイヤービルド」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
行33: 行33:
  
 
上記例では、実行すると、WebGLBuildのディレクトリに、ビルドファイルが、生成される
 
上記例では、実行すると、WebGLBuildのディレクトリに、ビルドファイルが、生成される
 +
 +
===Editorのシーンを設定==
 +
上のbuildPlayerOptions.scenesを、下のscenesに置き換える
 +
<pre>
 +
buildPlayerOptions.scenes = GetScenes();
 +
static string[] GetScenes()
 +
{
 +
    List<string> sceneList = new List<string>();
 +
    EditorBuildSettingsScene[] scenes = EditorBuildSettings.scenes;
 +
    foreach (EditorBuildSettingsScene scene in scenes)
 +
    {
 +
        sceneList.Add(scene.path);
 +
    }
 +
    return sceneList.ToArray();
 +
}
 +
</pre>
 +
 +
参考:https://kido0617.github.io/unity/2020-03-29-build-script/

2022年3月6日 (日) 19:19時点における版

Assets/Scripts/Editor/BuildPlayerExample.cs

using UnityEditor;
using UnityEngine;
using UnityEditor.Build.Reporting;
public class BuildPlayerExample : MonoBehaviour
{
    [MenuItem("Tools/ProjectBuild WebGL")]
    public static void ProjectBuild()
    {
        BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions();
        buildPlayerOptions.scenes = new[] { "Assets/Scenes/SampleScene.unity" };
        buildPlayerOptions.locationPathName = "WebGLBuild"; // 生成されるビルドのディレクトリ名
        buildPlayerOptions.target = BuildTarget.WebGL;
        buildPlayerOptions.options = BuildOptions.None;
        BuildReport report = BuildPipeline.BuildPlayer(buildPlayerOptions);
        BuildSummary summary = report.summary;
        if (summary.result == BuildResult.Succeeded)
        {
            Debug.Log("Build succeeded: " + summary.totalSize + " bytes");
        }
        if (summary.result == BuildResult.Failed)
        {
            Debug.Log("Build failed");
        }
    }
}

BuildPipelineの公式マニュアル参考:http://docs.unity3d.com/ja/current/ScriptReference/BuildPipeline.BuildPlayer.html

Unityメインメニュー/Build/Build WebGLで実行できる。

上記例では、実行すると、WebGLBuildのディレクトリに、ビルドファイルが、生成される

=Editorのシーンを設定

上のbuildPlayerOptions.scenesを、下のscenesに置き換える

buildPlayerOptions.scenes = GetScenes();
static string[] GetScenes()
{
    List<string> sceneList = new List<string>();
    EditorBuildSettingsScene[] scenes = EditorBuildSettings.scenes;
    foreach (EditorBuildSettingsScene scene in scenes)
    {
        sceneList.Add(scene.path);
    }
    return sceneList.ToArray();
}

参考:https://kido0617.github.io/unity/2020-03-29-build-script/