본문 바로가기
C#

[C#][Unity] SetActive와 enabled

by teamnova 2022. 11. 16.
728x90

GameObject.SetActive : 오브젝트를 활성화, 비활성화를 하는 역할을 합니다. 오브젝트를 비활성화 시키면 오브젝트 자체가 씬, 게임뷰에서 사라지고 작동하지 않습니다.

 

SetActive는 주어진 bool값에 따라 게임 오브젝트를 활성화 / 비활성화 합니다.

 

만약 게임오브젝트가 비활성화 되어 있다면 그 게임오브젝트의 부모 게임오브젝트가 비활성화 되어있을 수도 있습니다. 이런 경우에는 SetActive()를 호출하여 활성화시킬 수 없고 GameObject.activeSelf를 사용하여 GameObject의 로컬 상태만 확인할 수 있습니다. Unity에서는 부모가 활성화 될 때 이 SetActive로 상태값을  사용할 수 있습니다.

 

 

Behaviour.enabled : 오브젝트에 추가되어 있는 컴포넌트를 활성화 및 비활성화시킵니다. 특정 기능을 만들 때 지정한 컴포넌트만 비활성화 시켜서 기능을 잠시 정지시키는 용도로 사용가능합니다.