陈巧倩

Unity中文版-Create Gameplay Editor Features-Project Settings-Script Execution Order settings(自翻译)

· 51 words · 1 minutes to read
Categories: Unity
Tags: Document

翻译Unity中文版的初衷是因为官方提供的中文版存在缺陷,而且翻译的不全。现在基于Unity2023.2版本对官方文档进行翻译。

Script Execution Order settings 🔗

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

顺序适用于每个事件函数类别,因此 Unity 会按照指定的顺序调用帧中需要调用的任何 Awake 函数,并在同样的顺序中调用活动的游戏对象的任何 Update 函数。

您可以在项目设置检查器中调整脚本执行顺序。转到菜单:Edit > Project Settings,然后选择脚本执行顺序类别。

**注意:**如果将多个脚本类型分配给多个游戏对象,脚本执行顺序指定一种类型的所有脚本在另一种类型的所有脚本之前执行,而不考虑它们附加到的游戏对象。

使用 “加号(+)” 按钮将脚本添加到设置的检查器窗口中,并选择类名。要删除脚本,请使用列表中每个项目右侧的减号(-)按钮。

要指定执行顺序,请将列表中的项目拖动到所需的位置或编辑列表中类的顺序数字。分配的数字表示相对顺序。Unity 从上到下按顺序执行列表(从具有较负数顺序数字的脚本到具有较高正数数字的脚本)。Unity 在列表之外的任何脚本在默认时间段执行,该时间段在具有负数顺序数字的脚本之后,并在具有正数顺序数字的脚本之前。

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

当多个场景被附加加载时,配置的脚本执行顺序会逐个应用于一个场景。例如,如果配置的执行顺序是Script1 > Script2 > Script3,则 Unity 会先更新第一个场景中所有Script1的实例,然后更新第一个场景中所有Script2的实例,然后更新第一个场景中所有Script3的实例,然后才会运行下一个场景中的任何更新。

注意: 此设置窗口中指定的执行顺序不影响标有 RuntimeInitializeOnLoadMethod 属性的函数的顺序。(无法为运行时初始化指定顺序。)

有关 Unity 在每帧中调用不同类别的事件函数的时机的信息,请参阅事件函数的执行顺序。

结论 🔗

搬砖愉快!