이벤트 함수

suhan cho·2022년 8월 3일
0

이벤트함수

MonoBeahavior class

  • 유니티에서 제공하는 클래스
  • 스크립트에 작성된 클래스를 게임오브젝트의 컴포넌트로 적용가능
  • 컴포넌트화 되었을 때 사용할 수 있는 여러 기능을 담고 있는 클래스

초기화를 위한 이벤트 함수

Awake()

  • 씬이 시작될 때 1회 호출
  • 데이터를 초기화하는 목적

Start()

  • 첫 번째 Update() 호출 직전 1회 호출
    * 호출 순서: Awake() -> Start()
  • 초기화를 목적으로 만들어진 이벤트 메소드

OnEnable()

  • 컴포넌트가 활성화 될 때마다 1회 호출

    • 최초 호출 순서: Awake() -> OnEnable() -> Start()
  • 호출순서: Awake() -> OnEnable() -> Start()

업데이트를 위한 이벤트 함수

Update()

  • 씬이 시작된 후 매 프레임 호출

LateUpdate()

  • 현재 씬의 모든 Update() 메소드 실행 직후 호출
  • 플레이어 캐릭터, 카메라와 같이 서로 다른 오브젝트가 존재할 때 플레이어 캐릭터를 쫓아다니는 카메라를 구현한다면
    -> Update()를 이용해 움직이고 난 후 카메라는 LateUpdate()로 한다

FixedUpdate()

  • 1초에 정해진 횟수만큼 호출
  • 기본값은 0.02로 1초에 50회 호출
    • Edit - ProjectSetting - Time의 Fixed TimeStep에서 호출 주기 설정 가능

해체를 위한 이벤트 함수

OnDestroy()

  • 게임 오브젝트가 파괴될 때 1회 호출

  • 씬이 변경되거나 게임이 종료될 때도 오브젝트가 파괴되기 때문에 호출

    • 씬 종료시 모든 오브젝트 메모리를 삭제하기 때문에 호출
  • OnDestroy()메소드는 게임 오브젝트가 활성화 되어 있을 때 호출

    • 컴포넌트가 비활성화 되어 있어도 호출된다

OnApplicationQuit()

  • 게임이 종료될 때 1회 호출

    • 에디터에서는 플레이 모드를 중지할 때 호출
  • OnApplicationQuit() 메소드는 게임 오브젝트가 활성화 되어 있을 때 호출

    • 컴포넌트가 비활성화 되어 있어도 호출

OnDisable()

  • 컴포넌트가 비활성화 될 떄 마다 1회 호출

기즈모를 위한 이벤트 함수

OnDrawGizmos()

  • 에디터의 Scene View에만 출력되는 선, 도형

  • 게임 제작시 광선, 충돌 범위와 같이 눈에 보이지 않는 것을 확인할 때 사용하는 이벤트 함수

  • 게임 오브젝트가 활성화 되어 있을 때 호출

    • 컴포넌트가 비활성화 되어 있어도 호출
profile
안녕하세요

0개의 댓글