版本:Unity 6 (6000.0)
语言:英语
质量
标签和图层

脚本执行顺序设置

使用脚本执行顺序设置来指定 Unity 调用不同MonoBehaviour 类事件函数的相对顺序。例如,您可以指定 Unity 应该在运行您的MoveForward MonoBehaviour 脚本的事件函数之前,运行您的Rotation MonoBehaviour 脚本的事件函数。

此顺序分别应用于每个事件函数类别,因此 Unity 会按指定顺序调用帧中需要调用的任何Awake 函数,然后按相同顺序调用任何处于活动状态的游戏对象Unity 场景中的基本对象,可以代表角色、道具、场景、摄像机、航路点等等。游戏对象的特性由附加在其上的组件来定义。 更多信息
参见 术语表
Update 函数。

您可以在项目设置检查器中调整脚本执行顺序。转到菜单:编辑 > 项目设置一系列广泛的设置,允许您配置物理、音频、网络、图形、输入以及项目中其他众多方面的行为。 更多信息
参见 术语表
,然后选择脚本执行顺序类别。

注意:如果您将多个脚本类型分配给多个游戏对象,脚本执行顺序指定所有脚本一段代码,允许您创建自己的组件,触发游戏事件,随着时间的推移修改组件属性,并以您喜欢的任何方式响应用户输入。 更多信息
参见 术语表
类型都将在所有其他类型脚本之前执行,而不管它们附加在哪个游戏对象上。

使用加号 (+) 按钮将脚本添加到设置检查器一个 Unity 窗口,用于显示有关当前选定游戏对象、资源或项目设置的信息,允许您检查和编辑值。 更多信息
参见 术语表
窗口并选择类名。要删除脚本,请使用位于列表中每个项目右侧的减号 (-) 按钮。

要指定执行顺序,请将列表中的项目拖动到所需位置,或编辑列表中类的顺序编号。分配的编号表示相对顺序。Unity 从上到下执行列表(从顺序编号更负的脚本到顺序编号更正的脚本)。Unity 在默认时间槽中执行列表中没有的任何脚本,该槽在任何顺序编号为负的脚本之后、顺序编号为正的脚本之前执行。

顺序编号是任意的,不代表任何物理量。编辑器将这些值存储在脚本元数据文件中。您可以在顺序编号之间留出间隙,以帮助避免在向列表中添加或移动其他脚本时出现多余的文件更改。

当多个场景以累加方式加载时,配置的脚本执行顺序会一次针对一个场景完全应用。例如,如果配置的执行顺序为Script1 > Script2 > Script3,则 Unity 会先更新第一个场景中所有Script1 的实例,然后更新第一个场景中所有Script2 的实例,最后更新第一个场景中所有Script3 的实例,然后运行下一个场景中的任何更新。

如果您更喜欢从代码中指定脚本执行顺序,而不是在编辑器中配置它,您可以通过将[DefaultExecutionOrder] 属性应用于您的 MonoBehaviour 派生类来实现。有关更多信息,请参阅脚本 API 中的DefaultExecutionOrder

注意:脚本执行顺序设置窗口中指定的执行顺序不会影响标记有RuntimeInitializeOnLoadMethod 属性的函数的顺序,因为您无法指定运行时初始化的顺序。此外,脚本执行顺序不会影响OnDisableOnDestroy 函数。

有关 Unity 在帧中调用每个事件函数类别的时间的更多信息,请参阅事件函数的执行顺序

MonoManager

质量
标签和图层