고현우
개발 일지
고현우
전체 방문자
오늘
어제
  • 분류 전체보기 (14)
    • Unity (7)
      • 작업 (1)
      • 지식 (6)
    • DirectX (0)
      • 작업 (0)
      • 지식 (0)
    • C# (3)
      • 디자인 패턴 (0)
      • 알고리즘 (1)
      • 자료구조 (0)
      • 지식 (2)
    • C++ (0)
      • 디자인 패턴 (0)
      • 알고리즘 (0)
      • 자료구조 (0)
      • 지식 (0)
    • 필수 지식 (4)
      • 물리 (0)
      • 선형대수학 (0)
      • 셰이더 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Z-Up
  • 비동기
  • Y-Up
  • RenderingPipeline
  • 렌더링파이프라인
  • 뷰포트좌표
  • 스크린좌표
  • Shader
  • 래스터라이저
  • 버텍스 셰이더
  • 셰이더
  • 프래그먼트셰이더
  • VertexShader
  • 월드좌표
  • 로컬좌표
  • .NET
  • Unity
  • 선형 탐색 알고리즘
  • 그래픽스API
  • 메모리 계층

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
고현우

개발 일지

[Unity] 라이프 사이클(Life Cycle) 에 대해 알아보자
Unity/지식

[Unity] 라이프 사이클(Life Cycle) 에 대해 알아보자

2021. 12. 20. 10:56

유니티의 생명주기

 

유니티에서는 사용자가 직접 호출하지 않아도

자동으로 호출되는 함수들이 있다 이것을 유니티

라이프 사이클(Life Cycle)이라고 부른다

 

이러한 라이프 사이클의 함수 호출 주기는

사용자 정의가 불가능하기 때문에

호출 주기에 대해 자세하게 알고 있다면

유니티를 다루는 데 있어 한 층 수월해질 것이다.

 

먼저 아래는 전체적인 유니티 공식 홈페이지에 나오는

스크립트 라이프 사이클 플로우 차트이다.

source(https://docs.unity3d.com/kr/530/Manual/ExecutionOrder.html)

 

한눈에 봐도 뭔가가 많아 보이지만 모든 함수를 익혀두진 않아도

우리가 중요하게 여겨야 하는 함수들이 있다.

 

앞서 소개할 함수들은 자주 사용되는 함수들이니

집중해서 봐줬으면 한다

 

  • Reset : 에디터 모드에서 오브젝트에 스크립트가 붙여졌을 때 호출되며 기본값을 지정하기 위해 사용됨
  • Awake : 스크립트 실행 시 단 한 번만 호출됨 모든 오브젝트가 초기화 된 후 실행, Start 함수 이전에 실행
  • Start : Update 함수가 호출되기 전 한번만 호출, 스크립트가 활성화되어 있어야 됨

 

  • FixedUpdate : 기본적인 물리 처리를 할 때 사용되며, Update와 달리 일정한 시간마다 호출 (fixedTimeStep : 0.02s)
  • Update : 매 프레임마다 호출되며 게임 핵심 로직에 사용된다, 실행 주기가 불안정함
  • LateUpdate : Update 함수의 실행이 다 끝난 후 호출됨, 주로 카메라 이동 로직에 사용됨

 

  • OnDisable : 게임 오브젝트가 비활성화되어 있을 때 실행됨
  • OnDestroy : 스크립트가 활성화되어있는 상태에서 오브젝트 파괴, 씬 전환, 게임 종료 시 발생한다
  • OnApplicationQuit : 프로그램 종료 직전 모든 오브젝트에서 실행되며, 에디터 모드에선 플레이 중지 시 발생

Awake, Start 차이점

 

두 함수 모두 객체나 스크립트 초기화를 목적으로 작성되지만

Awake, Start 사이의 큰 차이점이 존재한다

 

바로 스크립트 활성화 유/무이다.

 

Awake 같은 경우 부착된 스크립트가

비활성화 상태여도 함수가 호출되지만

 

Start 같은 경우 부착된 스크립트가

오직 활성화 상태일 때만 함수가 호출된다.

 


글을 마치며

 

이 외에도 해당 글에서 소개하지 않은 라이프 사이클을

테스트해보고 싶다면 직접 유니티에서 생명주기

테스트를 해보길 바란다.

 


레퍼런스 사이트

 

https://docs.unity3d.com/kr/530/Manual/ExecutionOrder.html

 

유니티 - 매뉴얼: 이벤트 함수의 실행 순서

자동 메모리 관리를 이해하기 이벤트 함수의 실행 순서 Unity 스크립팅시, 미리 정의된 순서대로 실행되는 많은 이벤트 함수가 있습니다. 아래에서는, 실행 순서를 설명합니다. 에디터 __ Reset : __

docs.unity3d.com

'Unity > 지식' 카테고리의 다른 글

[Unity] 좌표계 에 대해 알아보자  (0) 2022.01.13
[Unity] 메인 루틴과 서브루틴, 코루틴(Co-routine) 에 대해 알아보자  (0) 2022.01.11
[Unity] 쿼터니언과 짐벌락 현상에 대해 알아보자  (0) 2022.01.05
[Unity] Attribute 에 대해 알아보자  (0) 2021.12.21
[Unity] Delta Time 에 대해 알아보자  (0) 2021.12.19
    'Unity/지식' 카테고리의 다른 글
    • [Unity] 메인 루틴과 서브루틴, 코루틴(Co-routine) 에 대해 알아보자
    • [Unity] 쿼터니언과 짐벌락 현상에 대해 알아보자
    • [Unity] Attribute 에 대해 알아보자
    • [Unity] Delta Time 에 대해 알아보자
    고현우
    고현우
    Unity / DirectX 게임 개발

    티스토리툴바