[Unity] Script Life Cycle

시그니천·2023년 11월 27일

Unity기초

목록 보기
1/1

Script Life Cycle

  • 게임 오브젝트의 생명 주기 동안 호출되는 특정한 메서드들의 순서와 타이밍
  • 게임 오브젝트의 생성, 초기화, 업데이트, 파괴 등과 관련된 작업을 수행

public class LifeCycle : MonoBehaviour
{
     void Awake()
     {
         Debug.Log("플레이어 데이터가 준비되었습니다.");
     }
     
     void OnEnable()
     {
         Debug.Log("플레이어가 로그인했습니다");
     }
     
     void Start()
     {
         Debug.Log("사냥 장비를 챙겼습니다.");
     }
     
     void FixedUpdate()
     {
         Debug.Log("이동 ~.~");
     }
     
     void Update()
     {
         Debug.Log("몬스터 사냥!!!");
     }
     
     void LateUpdate()
     {
         Debug.Log("경험치 획득");
     }
     
     void OnDisable()
     {
         Debug.Log("플레이어가 로그아웃했습니다.");
     }
     
     void OnDestroy()
     {
         Debug.Log("플레이어 데이터를 해제하였습니다.");
     }
}

1. 초기화


1) Awake

  • 게임 오브젝트가 생성될 때 호출되는 메서드
  • 주로 초기화 작업이 수행됨

2) Start

  • 게임 오브젝트가 활성화되어 게임 루프가 시작될 때 호출되는 메서드
  • 초기 설정 및 시작 작업을 수행

1-2. 활성화


3) OnEnable

  • 게임 오브젝트가 활성화될 때 호출되는 메서드
  • Awake나 Start처럼 최초 1회 실행이 아니라, 오브젝트를 켜고 끌때마다 호출된다.

2. 물리


4) FixedUpdate

  • 물리 엔진 업데이트 시 호출되는 메서드
  • 물리적인 시뮬레이션에 관련된 작업을 처리할 때 사용
  • 고정된 실행 주기로 CPU를 많이 사용
  • 물리 연산과 관련된 연산만 주로 넣는다.
  • 1초에 약 50회 업데이트 됨

3. 게임 로직


5) Update

  • 매 프레임마다 호출되는 메서드
  • 게임 로직의 주요 업데이트가 이루어짐
  • FixedUpdate와 달리 컴퓨터 사양에 따라 실행 주기가 떨어질 수 있다.

6) LateUpdate

  • 모든 업데이트가 끝난 후 실행
  • 다른 오브젝트의 업데이트가 완료된 후에 작업을 수행하는 데 유용하다
  • 캐릭터를 따라가는 카메라, 로직의 후처리 등을 주로 담음

3-4. 비활성화


7) OnDisable

  • 게임 오브젝트가 비활성화될 때 호출되는 메서드

4. 해체


8) OnDestroy

  • 게임 오브젝트가 파괴될 때 호출되는 메서드
  • 자원 정리 및 해제 작업이 수행된다.

profile
우주최강개발자

0개의 댓글