Если ваша основная камера действительно основная камера (помечена MainCamera
), то вы можете просто использовать поле Camera.main
для получения основной камеры.
Так что вы можете просто попробовать
Camera.main.transform.Find("ObjectPickupLocation");
Я предлагаю вам вызывать эту функцию только один раз, потому что и Camera.main
, и Transform.Find()
довольно медленные. Одним из способов является кэширование этого в Start()
, например:
private GameObject pickupLocaion;
private void Start()
{
pickupLocation = Camera.main.transform.Find("ObjectPickupLocation");
}
На самом деле лучший способ - просто дать ссылку через инспектора, например:
[SerializeField]
private GameObject objectPickupLocation;
Конечно, там это ситуация, когда вы не можете этого сделать, но я почти уверен (ну, не каждый ), что ситуация, в которой вы должны использовать этот способ, вызвана ошибкой проектирования.