gpt4 book ai didi

unity-game-engine - Unity 中的游戏对象更新顺序

转载 作者:行者123 更新时间:2023-12-02 19:05:17 24 4
gpt4 key购买 nike

Unity Manual描述调用脚本函数的顺序。但是,我想知道是否有关于 Unity 中考虑游戏对象本身的顺序的任何规则。

GameObjects 基本上是 Unity 场景图的节点,并且(假设场景本身是根节点)它们形成一棵树。我想知道该树结构是否对游戏对象的考虑顺序施加了任何规则。

正如已经提到的,手册描述了 Awake()总是在 Start() 之前调用它总是在第一次调用 Update() 之前调用等等。然而,这些时间关系(大部分)是在单个游戏对象上的单个脚本的范围内给出的。我想知道是否还有一条规则规定 Start() 的顺序(或任何其他方法)在场景中的所有游戏对象上调用。

我特别想知道:

  1. parent 是否总是先于 child 考虑?
  2. sibling 的考虑顺序是否与场景图中显示的顺序相同?
  3. 脚本执行顺序是仅在单个游戏对象的范围内强制执行,还是考虑所有游戏对象?

最佳答案

我在 Unity 中构建了一个小型测试项目,它基本上由一个 3x3x3 的游戏对象树组成,每个树都有 3 个脚本。

我找到了以下答案:

  1. 没有。有些游戏对象可以在其 parent 之前被考虑,而有些 parent 可以在其 child 之前被考虑。当重新加载场景或操作场景图时,这个顺序可能会改变。
  2. 没有。 sibling 可以按任何顺序更新。重新加载场景或操作场景图时,此顺序可能会发生变化。
  3. 它对场景中的所有游戏对象强制执行。如果 SEO 将脚本 A 设置为在脚本 B 之前执行,则脚本 A 的所有实例将在脚本 B 的任何实例之前被考虑。这意味着,A 的所有实例在任何 B 调用其 Awake() 之前调用其 Awake(),然后 A 的所有实例调用其 Start() > 在 B 的任何实例调用其 Start() 之前,依此类推。

关于unity-game-engine - Unity 中的游戏对象更新顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36252189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com