상세 컨텐츠

본문 제목

[유니티 소소모임] 1주차. 유니티 기초 (Editor: Ijin)

24-25/Untiy

by 롱롱😋 2024. 10. 4. 12:03

본문

728x90

 

 

 

유니티 생성 주기

 유니티는 각 오브젝트마다 일정한 생명주기(Life Cycle)를 가지게 된다. 오브젝트가 지니는 생명주기는 초기화, 업데이트, 종료까지의 흐름을 가지고 있으며, 특정한 단계에서 코드가 실행될 수 있도록 하는 기능을 한다. 주요한 생명주기는 다음과 같다.

 

1.  Awake

: Start 함수 전에 호출되며 게임 오브젝트 생성할 때 최초 1회 실행된다.

2. OnEnable

: 게임 오브젝트가 활성화된 경우에만  Awake와 Start 사이에서 실행된다. 활성화가 될 때마다 호출된다.
3. Start

: 업데이트 시작 직전 최초 실행된다.
4. FixedUpdate

: 물리 연산 업데이트가 될 때 실행된다. 발생 주기는 일정하며 프레임당 여러 번 호출이 가능하다. 그러나 프레임을 고정적으로 계속 호출하므로 cpu 부하가 많이 생길 수 있다.

5. Update

: 게임 로직 업데이트가 될 때 실행되며 이는 매 프레임마다 호출되는 유니티 내장 함수이다.

6.  LateUpdate

: 모든 업데이트가 끝난 후 마지막으로 실행된다. 주로 카메라 로직에 사용된다.

7. OnDisable

: 게임 오브젝트가 비활성화 되었을 때 LateUpdate와 OnDestroy 사이에 실행된다.

8. OnDestroy

: 게임 오브젝트가 삭제될 때 실행된다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour
{
    private void Awake()
    {
        Debug.Log("제일 먼저 실행 - Awake"); 
    }
    private void OnEnable()
    {
        Debug.Log("Start 전 실행 - OnEnable");
    }
    private void Start()
    {
        Debug.Log("업데이트 전 실행 - Start");
    }

    private void FixedUpdate()
    {
        Debug.Log("물리 연산 업데이트 - FixedUpdate / 꾸준히 호출");
    }
    private void Update()
    {
        Debug.Log("게임 로직 업데이트 - Update / 매 프레임마다 호출");
    }
    private void LateUpdate()
    {
        Debug.Log("모든 업데이트 후 실행 - LateUpdate");
    }
    private void OnDisable()
    {
        Debug.Log("게임 오브젝트 비활성화 시 실행 - OnDisable");
    }
    private void OnDestroy()
    {
        Debug.Log("게임 오브젝트가 삭제 될 시 실행 - OnDestroy");
    }
}

실행 시 화면

 

 


 

해당 포스트는 골드메탈, [유니티 C# 프로그래밍 기초. 한방에 정리하기 [유니티 입문 강좌 B4], (2018, 12월 22일) 유튜브 강의를 참고하여 작성하였습니다.

 

 

 

Corner Unity

Editor : IJin

728x90

관련글 더보기