Unity3D:GetChild()vs FindGameObjectWithTag()vs附加的预制件

时间:2015-12-23 19:53:42

标签: unity3d

我正在使用具有我安排的特定号码的GetChild()。但是当子对象开始变得混乱时,我无法使用GetChild()。

现在我有三个选择。

1. Try to sort the child objects overtime they get shuffled. I need to
use this option when GetChild() is must faster compared to the
below.
2. FindGameObjectWithTag(): I read, Finding game objects with tags executes much faster than finding with names.
3. I have a total to 81 characters in the scene. Is it wise to attach all the 81 to the script upfront and access from that game
objects array?

感谢。

1 个答案:

答案 0 :(得分:1)

如果要从单点实例化所有81个字符,我认为将它们存储在集合中以进行进一步操作或将操作委托给不同的对象进行处理是完全有效的。

使用tag进行搜索是最快速的搜索方式之一,但正在检查name,而不是.GetComponent<T>()它&#39大约在同一时间找到你正在寻找的东西。 从程序方面来说,我宁愿坚持收集和引用而不是游戏对象名称,因为名称可以很容易地因任何特定原因而改变(例如,有人将游戏对象的名称更改为字符类型)。 另请注意,游戏对象名称可以重复

注意:您指的是附加的预制件,但您实际上应该存储由预制件实例化产生的游戏对象。