首页 > 解决方案 > 在 Unity 中将运行时实例化的对象从一个场景加载到另一个场景

问题描述

我正在创建一个游戏,玩家在“设置”场景中创建对象(块),然后当计时器结束时,我希望将这些对象(包括它们的变换值)加载到新场景中。我将如何将运行时创建的对象加载到新场景中?

标签: c#unity3d

解决方案


DontDestroyOnLoad 是实现这一目标的一种有价值的方法。您还可以执行以下操作:

创建一个名为“Cross-Scene-Objects”的空对象并向其添加脚本,使其不会在加载时破坏。然后简单地将任何对象添加到该对象,并删除您认为合适的对象。

您还可以使 CrossSceneObjects 脚本成为一个单例类,并使用一些基本的 AddObject 和 RemoveObject 方法来处理将游戏对象置于对象之下。

如果您只想要某些场景中的某些对象,您可以使用上面的方法,但如果您在希望它们出现的场景中,请添加一些进一步的逻辑来设置游戏对象处于活动状态。

我没有示例代码,但如果这还不足以让您完成工作,我可以愉快地编辑以提供代码示例 :) 我的风格是首先提供解决方案步骤而不是代码来为您提供起点。


推荐阅读