包含此页的版本:
不含此页的版本:
默认情况下,进入播放模式时场景重新加载处于启用状态。这意味着当您进入播放模式时,Unity 会销毁所有现有的场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表 游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表并从磁盘重新加载场景。随着项目变得越来越复杂,按下 播放(Play) 按钮和场景在编辑器中完全加载之间的时间也会增加。
禁用场景重新加载时,该过程花费的时间会更少。Unity 不会从磁盘重新加载场景,而是仅重置场景的修改内容。Unity 仍然调用相同的事件函数(例如OnEnable,OnDisable和OnDestroy)就像场景是新加载的一样。
禁用场景重新加载后,在编辑器中启动应用程序所需的时间不再代表构建版本中的启动时间。如果你想调试或分析项目启动期间发生的情况,你应该启用场景重新加载,以更准确地表示应用程序的构建版本中发生的真实加载时间和进程。
否则,禁用场景重新加载对项目的影响应该很小。但是,由于场景重新加载与域重新加载密切相关,因此存在一些重要差异:
private字段不会作为常规构建管道的一部分进行序列化,而是作为编辑器热重载脚本的一部分进行序列化。这就是为什么private在播放模式下修改的字段可能会在退出播放模式时重置为原始值,即使禁用了进入播放模式时的场景和域重新加载也是如此。private和internal数组的字段和Listtype 设置为空数组或List对象,并且它们在运行时保持非空(非编辑器)脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息[ExecuteInEditMode]或[ExecuteAlways]不收到OnDestroy或Awake调用。 在编辑模式下,这些脚本可能会修改自己的字段或其他运行时脚本的字段。为了缓解这种情况,您可以在OnEnable回调,并在检查EditorApplication.isPlaying. 有关此示例以及有关分离播放模式和编辑模式代码的重要性的更多上下文,请参阅[ExecuteAlways]API 说明。有关禁用场景重新加载时跳过的事件的更多详细信息,请参阅禁用域和场景重新加载的详细信息。