GetComponent<T> знаходить компонент, лише якщо він приєднаний до того самого GameObject. GameObject. З іншого боку, FindObjectOfType<T> шукає всю ієрархію та повертає перший відповідний об’єкт!18 травня 2015 р.
GetComponent повертає тільки перший відповідний компонент, знайдений в GameObject, для якого він викликається, а порядок перевірки компонентів не визначено. Таким чином, якщо є більше ніж один із вказаного типу, який може відповідати, і вам потрібно знайти певний, вам слід використовувати компонент.
FindObjectOfType шукає вказаний тип об’єкта у всій сцені, Незначна зміна, він шукає перший екземпляр зазначеного типу об’єкта.
це в основному використовується як спосіб отримати змінну (компонент) з об’єкта, до якого прикріплено сценарій, або будь-якого об’єкта, до якого можна отримати доступ через цей сценарій.
Перш за все зрозумійте зв'язок між GameObject і Component. GameObject — це контейнер; ви додаєте елементи до контейнера GameObject, щоб перетворити його на персонажа, світло, дерево, звук або будь-що інше, що ви хочете, щоб це було. Кожна частина, яку ви додаєте, називається компонентом.
GetComponent є напівшвидкий. Однак, якщо ви можете кешувати посилання, зробіть це. Ви заощадите пристойну кількість процесорного часу. GetComponent майже напевно не проблема.