C# 保存场景的当前状态并加载它

C# 保存场景的当前状态并加载它,c#,unity3d,C#,Unity3d,如何保存当前场景状态并稍后加载 我正在制作一个游戏,你正在建造一座桥,然后按下开始键,用一辆车从桥上碾过,如果失败,你会有一个重新启动按钮,它会从原始状态重新加载场景(没有在桥上构建任何东西)。然而,我希望玩家能够按下一个“编辑”按钮,它将返回到你按下“开始”之前的状态,这样你就可以继续在你的桥上建造,而不必一遍又一遍地重建整个桥。那么,我该怎么做呢?如果您不想自己编写代码,可以使用Unity的PlayerRef。如果您不知道如何使用它,请查看文档()或者您也可以在Youtube上找到tuto,

如何保存当前场景状态并稍后加载


我正在制作一个游戏,你正在建造一座桥,然后按下开始键,用一辆车从桥上碾过,如果失败,你会有一个重新启动按钮,它会从原始状态重新加载场景(没有在桥上构建任何东西)。然而,我希望玩家能够按下一个“编辑”按钮,它将返回到你按下“开始”之前的状态,这样你就可以继续在你的桥上建造,而不必一遍又一遍地重建整个桥。那么,我该怎么做呢?

如果您不想自己编写代码,可以使用Unity的PlayerRef。如果您不知道如何使用它,请查看文档()或者您也可以在Youtube上找到tuto,甚至可以找到一些示例。

自己编写。您可以在玩家按下开始键之前保存所有对象的位置(例如在地图中)。然后,当需要恢复时,读取所有这些位置并将它们设置为相应的对象。或者,您可以有两个世界的副本。一个用于编辑(您不在上面运行游戏),另一个用于模拟(游戏运行的地方)。当玩家按开始时,您可以创建编辑世界的镜像副本,并在此副本上运行游戏。若要恢复,只需将相机移回编辑世界,然后销毁游戏世界