Unity 엔진에서 GetComponent는 주어진 게임 오브젝트에서 특정 컴포넌트를 찾아오는 함수입니다.
게임 오브젝트에 붙어있는 스크립트나 컴포넌트를 가져올 수 있게 해주는 함수입니다.
T GetComponent<T>();
여기서 T는 가져오려는 컴포넌트의 타입을 나타냅니다. 이 함수를 호출하면 해당 게임 오브젝트에서 지정한 타입의 컴포넌트를 찾아옵니다. 만약 해당 컴포넌트가 없을 경우 null을 반환합니다.
만약 부모나 자식 오브젝트에서 컴포넌트를 가져오려고 한다면 아래 함수를 사용하시면 됩니다.
GetComponentInParent<T>
GetComponentInChildren<T>
예를 들어, 플레이어 캐릭터가 PlayerMovement라는 스크립트를 가지고 있을 때, 다음과 같이 GetComponent를 사용하여 해당 스크립트를 가져올 수 있습니다:
using UnityEngine;
public class PlayerController : MonoBehaviour
{
private PlayerMovement playerMovement;
private void Start()
{
// PlayerMovement 컴포넌트 가져오기
playerMovement = GetComponent<PlayerMovement>();
// playerMovement가 null이 아닌지 확인하여 사용
if (playerMovement != null)
{
playerMovement.Move();
}
}
}
이렇게 하면 PlayerController 스크립트가 포함된 게임 오브젝트에서 PlayerMovement 컴포넌트를 찾아와서 playerMovement 변수에 할당하게 됩니다. 그 후에 해당 컴포넌트를 사용하여 플레이어의 이동을 조작할 수 있게 됩니다.
만약 부모 또는 자신을 포함한 자식 오브젝트에서 여러 개의 컴포넌트를 배열로 가져오고자 한다면 아래 코드를 사용하시면 됩니다.
Text[] texts = GetComponentsInParent<Text>(); //부모 오브젝트에 포함된 컴포넌트들 가져올때
Text[] texts = GetComponentsInChildren<Text>(); //자신 포함 자식 오브젝트에 포함된 컴포넌트 가져올때
https://play.google.com/store/apps/details?id=com.goldenegg
'Unity 유니티' 카테고리의 다른 글
Unity GameObject.Find() 유니티 게임오브젝트를 찾는 함수 (0) | 2023.08.07 |
---|---|
Unity 유니티 엔진 렌더 파이프 라인 Render Pipeline의 종류 (0) | 2023.07.28 |
unity 회전, Euler와 Quaternion (1) | 2022.09.19 |
Unity Camera 유니티 카메라 Projection의 Perspective와 Orthographic 차이점 (0) | 2022.01.04 |
Unity 유니티_3 유니티 에디터 알아보기 (0) | 2022.01.04 |
댓글