-
[Unity] 유니티 스브립트 기본 함수들 정리 (+Clone Object 삭제)Study/Unity 2022. 2. 8. 15:21
Awake()
- 해당 스크립트가 등록된 오브젝트나 스크립트가 최초로 활성화될 때 호출되는 함수. 한 번만 호출됨.
Start()
- Awake()처럼 최초로 활성화될 때 한 번만 호출되는 함수. 우선도가 Awake보다 낮음(같이 활성화 되었을 때 더 늦게 호출됨)
Update()
- 활성화 상태일 때 한 프레임마다 한 번씩 호출됨. 게임 프레임이 1초에 60프레임이라면 1초에 60번, 80fps라면 80번 호출.
FixedUpdate()
- Update()처럼 활성화 상태일 때 지속적으로 호출됨. 1초에 고정된 횟수 만큼 호출됨. 따로 설정하지 않았다면 기본 시간인 0.02초마다 한 번씩 호출.
OnEnable()
- 활성화 될 때마다 호출됨. Awake()나 Start()와는 달리 한 번만 호출되는 것이 아니라 활성화 될때마다 계속 호출됨.
OnDisable()
- 비활성화 될 때마다 호출되는 함수. OnEnable()과 같이 비활성화 될 때마다 호출됨.
슈팅 게임 개발 중, 오브젝트 프리팹을 Clone하여 이용하는데 이것들을 특정 상황에서 한 번에 삭제하는 방법을 고민했기에 기록해둠.
public void DestroyClone(string str)
{
GameObject[] clone = GameObject.FindGameObjectsWithTag(str);for (int i = 0; i < clone.Length; i++)
{
Destroy(clone[i]);
}
}기본적으로 모든 Object들에는 Tag 달아놓기.
문자열(str)에 일괄로 삭제하고자 하는 Object의 Tag를 인자로 주어 실행. 해당 Tag의 clone Object들을 찾아 배열 형태로 저장 후, 배열 길이 만큼 반복하여 삭제.