using UnityEngine;
public class LifeCycle : MonoBehaviour
{
// ============= 초기화 단계 =============
// 게임 오브젝트가 준비될 때 최초로 한 번 실행하는 함수
void Awake()
{
Debug.Log("플레이어가 게임에 들어갈 준비가 되었습니다.");
}
// ============= 활성화 단계 =============
// 게임 오브젝트가 활성화 되었을 때
void OnEnable()
{
Debug.Log("플레이어가 월드에 입장했습니다.");
}
// 씬에 들어갈 때 최초로 한 번 실행하는 함수
void Start()
{
Debug.Log("캐릭터가 에렌에 돌아왔습니다.");
}
// ============= 물리 단계 =============
// 유니티 엔진이 물리 연산(Physics)을 하기 전에 실행하는 함수
// 특징: CPU의 사양에 관계없이 고정된 실행 주기(1초에 50번)로 프레임 호출
// CPU를 많이 사용(CPU 부하가 많음)
void FixedUpdate()
{
Debug.Log("캐릭터가 심층던전을 돌러 콜헨으로 이동합니다.");
}
// ============= 게임 로직 단계 =============
// 물리 연산에 관련된 로직을 제외한 나머지 주기적으로 변하는 로직을 구현하는 함수
// 특징: 매 프레임마다 한 번씩 호출
// FixedUpdate와 달리 CPU의 영향이 커 FPS에 따라 호출 간격이 달라짐
void Update()
{
Debug.Log("캐릭터가 심층던전에서 우연히 동료를 만나 던전을 돌고 있습니다.");
}
// 모든 Update 영역의 함수 호출이 끝난 뒤 호출되는 함수
// 캐릭터를 따라가는 카메라 나 후처리 로직
void LateUpdate()
{
Debug.Log("좋은예감?");
}
// ============= 비활성화 단계 =============
// 오브젝트가 비활성화 되었을 때
void OnDisable()
{
Debug.Log("플레이어가 시작화면으로 돌아갔습니다.");
}
// ============= 해체 단계 =============
// Awake와 반대되는 함수
void OnDestroy()
{
Debug.Log("플레이어가 게임을 종료했습니다.");
}
}
1) 게임 오브젝트가 씬에 있는 경우


2) 게임 오브젝트가 씬에 없는 경우


728x90
'Unity🎮 > 이론' 카테고리의 다른 글
| Canvas Render Mode: Overlay vs Camera (1) | 2026.01.22 |
|---|---|
| OnEnable() (0) | 2026.01.21 |
| 레이캐스트 (1) | 2025.07.14 |
| 오디오 소스 (2) | 2025.07.14 |
| 이벤트 시퀀스 / 코루틴 (1) | 2025.07.11 |