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

时间:2018-02-15 13:52:48

标签: unity3d unity-ui scene-manager

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

我正在考虑将一个场景用于预览窗口,将另一个场景用于整个UI,以便稍后我可以将预览场景重新用于另一个链接到此场景的应用程序。

这种方法的优点/缺点是什么?

1 个答案:

答案 0 :(得分:1)

优点当然是多重的:

  • 更好的分离:你可以为特定的场景设置,只有那个目的;例如,UI的一个场景,主菜单/选项画布的一个场景等
  • 改进的可维护性:由于分离,它更容易维护/测试/升级/工作,一般情况下较小的场景游戏对象。

最后,Unity中的场景只不过是游戏对象的容器,类似于父游戏对象对其孩子的影响。

缺点:

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

这些只是基本的,很少的东西是我的头脑,当然还有很多东西需要学习,但是花在管理多个场景项目上的时间花费很多。