Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Объявление

public static GameObject Find(string name);

Описание

Находит GameObject по name и возвращает его.

Эта функция возвращает только активные игровые объекты. Если не удается найти GameObject с name, возвращается null. Если name содержит символ '/', он проходит через иерархию как путь.

Из соображений производительности рекомендуется не использовать эту функцию в каждом кадре. Вместо этого кэшируйте результат в переменной-члене при запуске. или используйте GameObject.FindWithTag.

Примечание. Если вы хотите найти дочерний игровой объект, проще использовать Transform.Find.

Примечание. Если игра запущена с несколькими сценами, Find будет выполнять поиск во всех них.

using UnityEngine; using System.Collections; // This returns the GameObject named Hand in one of the Scenes. public class ExampleClass : MonoBehaviour { public GameObject hand; void Example() { // This returns the GameObject named Hand. hand = GameObject.Find("Hand"); // This returns the GameObject named Hand. // Hand must not have a parent in the Hierarchy view. hand = GameObject.Find("/Hand"); // This returns the GameObject named Hand, // which is a child of Arm > Monster. // Monster must not have a parent in the Hierarchy view. hand = GameObject.Find("/Monster/Arm/Hand"); // This returns the GameObject named Hand, // which is a child of Arm > Monster. hand = GameObject.Find("Monster/Arm/Hand"); } }

GameObject.Find полезен для автоматического подключения ссылок к другим объектам во время загрузки; например, внутри MonoBehaviour.Awake или MonoBehaviour.Start.

Из соображений производительности рекомендуется не использовать эту функцию в каждом кадре.

Общим шаблоном является присвоение GameObject переменной внутри MonoBehaviour.Start и использование этой переменной в MonoBehaviour.Update.

using UnityEngine; using System.Collections; // Find the GameObject named Hand and rotate it every frame public class ExampleClass : MonoBehaviour { private GameObject hand; void Start() { hand = GameObject.Find("/Monster/Arm/Hand"); } void Update() { hand.transform.Rotate(0, 100 * Time.deltaTime, 0); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3