我应该使用多个并行场景吗?

Should I use multiple parallel scenes?

我正在开发一个基于 unity 的桌面应用程序,假设它看起来像一个视频编辑器。

我正在考虑将一个场景用于预览 window,将另一个场景用于其周围的整个 UI,以便稍后我可以将预览场景重新用于链接到此应用的另一个应用程序,在某种程度上。

这个方法有哪些pros/cons?

优点当然是多方面的:

  • 更好的分离:您可以为特定的目的设置场景;例如,UI 的一个场景,Menu/Options 主要画布的一个场景,等等
  • 改进的可维护性:由于分离,通常更容易 maintain/test/upgrade/work 明智地使用较小的场景游戏对象。

归根结底,Unity 中的场景只不过是游戏对象的容器,类似于父游戏对象与其子游戏对象的关系。

缺点:

  • 编辑器有点麻烦:你无法从一个场景获取到另一个场景的引用,唯一的方法是通过代码使用 Scene.GetRootGameObjects() 方法获取它们,该方法存储所有根array 中的场景游戏对象,您可以从那里自由引用这些游戏对象。但是,您可以创建一个包装器,在场景中充当观察者模式,将事件发送到特定场景,但这会带来:
  • 由于缺乏通过 Inspector 对对象的引用,开发所有系统时需要更多的组织。

这些只是基本的,我脑子里浮现出的一些东西,当然还有很多东西要学,但是花在管理多个场景项目上的时间很值得恕我直言。