unity-game-engine - 如何通过命令行指定场景名称构建Unity WebGl?

标签 unity-game-engine webgl

我有一个包含一些场景的 WebGl Unity 应用程序。 我需要为每个场景进行构建,假设 SceneA、SceneB、SceneC...

因此,为了进行构建,我写道:

"C:\Program Files\Unity\Editor\Unity.exe" -buildTarget WebGL ... SceneName ?

问题是:

  • 如何指定SceneName?
  • 如何指定目标目录?

谢谢

最佳答案

您是想问通过命令行构建时如何指定使用哪些场景?如果是这样,我会这样做。

对于你的第一个问题,

How to specify SceneName ?

我不知道您是否可以在命令行中直接指定场景名称,但您可以使用命令行运行特定函数,从而更改为项目构建的场景。

这是您需要的代码片段,但可以根据您的用例进行更改

using UnityEditor;
class MyEditorScript
{
     static void PerformBuild ()
     {
         string[] scenes = { "Assets/MyScene.unity" };
         BuildPipeline.BuildPlayer(scenes, ...);
     }
}

上面的代码片段非常简单,您可以直接指定每个场景,然后将其添加到build设置中。您可以传入参数来获得不同的结果或创建多个函数,无论哪种对您来说最简单。以下是在命令行中调用此函数的方法

"C:\Program Files\Unity\Editor\Unity.exe" -batchmode -executeMethod MyEditorScript.PerformBuild

我在这里使用-batchmode,因此如果出现任何提示,Unity 将使它们静音,以便该过程可以更加自动化。

至于你的第二个问题,

And how to specify destination directory ?

我不确定您是否想将保存的目录和构建的场景联系起来,但这可能会让一切变得更容易。有一个名为 BuildPlayerOptions.locationPathName 的build设置,它允许您指定构建的保存位置

static void WebGLProductionBuild()
{
    // Build the player.\
    BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions();
    buildPlayerOptions.scenes = new[] { "Assets/Scene1.unity", "Assets/Scene2.unity" };
    buildPlayerOptions.locationPathName = "yourLocationNameHere";
    buildPlayerOptions.target = BuildTarget.WebGL;
    buildPlayerOptions.options = BuildOptions.None; // set whatever you want here
    BuildPipeline.BuildPlayer(buildPlayerOptions);  // apply the setting changes
}

除了函数调用如上行之外,调用上面的方法是完全相同的

"C:\Program Files\Unity\Editor\Unity.exe" -batchmode -executeMethod MyEditorScript.WebGLProductionBuild

我不相信你想要实现的目标可以完全从命令行完成,但这个答案非常接近。我也不确定你是否想要将场景和新路径捆绑在一起。如果您希望构建每个单独的场景并指定新路径,可以通过使用 switch 语句创建一个新函数或仅调用多个函数来实现。

关于unity-game-engine - 如何通过命令行指定场景名称构建Unity WebGl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67943915/

相关文章:

c# - 在第二个脚本上调用时 Unity 中的静态值 "lost"

javascript - 推荐使用 WebGL 的 API 和 IDE

webgl - 如何在 WebGL 中获取程序的所有属性绑定(bind)?

ios - NotSupportedException get_HasShutdownStarted - “il2cpp 不支持此 icall

javascript - WebGL 索引数组大小

javascript - Opengl, Three.js - 如何绘制圆形太阳

webgl - ThreeJS 正交相机 : Adjusting size of scene to window

ios - 如何减小 Unity iOS Build 的大小并提高速度

ios - 将 OpenCV 框架导入 Unity 项目 iOS 时出错

particle-system - Unity3D - 重播非循环粒子系统