목표

  • Script에서 Awake와 Start가 호출되는 시점에 대해 이해한다.

MonoBehaviour

  • 일반적으로 Script를 생성하면 MonoBehaviour가 상속된 상태로 생성이 된다.
  • MonoBehaviour를 상속받은 Script를 실행하면, 미리 정해진 순서에 따라 여러 이벤트들이 실행된다.
  • 자세한 내용은 [Script Lifecycle Overview] 페이지를 참고한다.
  • 본문에서는 가장 많이 사용되는 Awake, Start, Update가 언제 호출되는지만 알아보도록 한다.

Awake

  • 이 함수는 prefab가 생성된 직후 등, Start가 호출되기 전에 호출된다.
  • GameObject가 비활성화된 상태에서 시작된 경우, 활성화 시킬때까지 Awake가 호출되지는 않는다.

Start

  • Script 인스턴스가 활성화 되면, 첫번째 프레임 업데이트 이전에 호출된다.
  • Start함수는 씬에 추가되어 있는 모든 Update가 호출되기 전에 호출된다.
  • 다만 GamePaly 중, Instantiated 로 인해 동적으로 오브젝트가 추가된 경우 위 조건을 충족시키지 못할 수 있다.

Update

  • 매 프레임 업데이트 시, 호출된다.

FixedUpdate

  • FixedUpdate는 Update와는 다르게, 신뢰할 수 있는 타이머에 의해 호출된다.
  • 이때문에 Time.deltaTime를 곱해줄 필요가 없다.
  • FixedUpdate는 호출 이후 모든 물리 연산이 업데이트 된다.

+ Recent posts