Как я могу найти дочерний игровой объект?

Я хочу сказать что-то вроде..

Gameobject.find(child gameobject of specific parent Gameobject)

Может кто-нибудь мне помочь. спасибо!

Ответ 1

GameObject.Find будет искать объект игры в сцене. Чтобы выполнить поиск объекта игры у родителя, используйте Transform.

Есть два способа сделать это:

  • transform.Find("childname")
  • transform.FindChild("childname")

Второй вариант устарел, но все еще функциональен, поэтому лучше использовать 1-й вариант.

Ответ 2

Исправьте Джей Казама. Правильные ответы:

  • transform.Find( "childname" )
  • transform.FindChild( "childname" )

С небольшим t (преобразование свойства, а не преобразование класса).

Ответ 3

Если GameObject вы ищете в иерархии, он должен выглядеть следующим образом:

transform.Find("head/eyes")
transform.FindChild("head/eyes")

Ответ 4

Для ответов выше с указанием transform.FindChild("childname") как Answer, это должно сообщить вам, что transform.FindChild("childname") устарела.

Используйте это, это будет работать как ожидалось

transform.Find("childName");

если вы хотите найти Child of a GameObject по имени, используйте это,

GameObject head = HeadPanel;    // just for reference
head.transorm.Find("childName").gameObject;

Ответ 5

Вы можете сделать это с помощью GetChild (индекс дочерних элементов)