Unity 中 GameObject.Find()和 GameObject.FindGameObjectWithTag()查找物体的区别

Unity 中 GameObject.Find()和 GameObject.FindGameObjectWithTag()查找物体的区别

  1. 效率上, GameObject.Find()查找物体,他是通过物体的名字查找的,这个时候他会把场景中的物体都遍历一遍,才能找到对应的物体,并且未激活的物体是无法找到的,而GameObject.FindGameObjectWithTag()通过标签查找物体,因为Unity对应的标签是有对应的索引的,而unity的tag它最多只能定义32个,所以,通过标签来查找相对于通过名字来查找会快速很多,但是如果仅在初始化的时候用GameObject.Find()查找物体并把它存在一个变量中,则这个时候他们的效率就不会相差的太大。

你可能感兴趣的:(笔记,unity,游戏引擎,c#)