Очень часто нам приходиться получать доступ из скрипта одного объекта, к скрипту другого объекта, ведь без этого было бы почти невозможно создать нормальную игру. И сейчас мы подробно разберём, как это сделать.
Для получения доступа к объекту, нам необходимо получить ссылку на тот объект. Для этого нам необходимо осуществить поиск объекта либо по имени, либо по тегу. Воспользуемся ОДНИМ из нижеприведённых способов:
public GameObject obj;
void Start()
{
// Вариант 1. Поиск объекта по имени объекта
obj = GameObject.Find("NameGameObject");
// Вариант 2. Поиск объекта по тегу объекта
obj = GameObject.FindGameObjectWithTag("TagName");
}
Доступ к объекту получен, теперь с помощью переменной obj, Вы можете делать с этим объектов всё что угодно. Например удалить его, либо отключить, либо использовать его компоненты, для дальнейшей работы с его свойствами и методами. Например так:
Rigidbody _rb = obj.GetComponent<Rigidbody>(); // получаем ссылку на компонент Rigidbody
_rb.MovePosition(rb.position + new Vector3(1, 0 0)); // используем метод MovePosition, компонента Rigidbody.
Так же есть один важный момент. Если Вы хотите использовать свойства и мтоды пользовательсткого(собственного) компонента, то убедитесь, что права доступа к ним установлены как public или protected, иначе Вы не сможете работать с такими методами и свойствами.
На этом всё. Если для Вас эта статья была полезной, то буду рад Вашим лайкам.