[Unity] 유니티 Life Cycle에 대해 알아보자!
1.초기화 영역
-
Awake()
게임 오브젝트 생성할때, 최초 실행
void Awake(){ Debug.Log("플레이어 데이터가 준비되었습니다.") }
-
Start()
업데이트 시작 직전, 최초 실행
void Start(){ Debug.Log("사냥 장비를 챙겼습니다.") }
2.활성화 영역
-
OnEnable()
게임 오브젝트가 활성화 되었을때, 최초 1회 실행이 아닌 켜고 끄고 할때마다 실행
void OnEnable(){ Debug.Log("플레이어가 로그인 했습니다.") }
3.물리 연산 영역
-
FixedUpdate()
물리 연산 업데이트, 유니티 엔진이 물리연산을 하기전에 실행되는 함수,
CPU 많이 사용, 1초에약 50회 호출
void FixedUpdate(){ Debug.Log("이동~") }
4.게임 로직 영역
-
Update()
게임 로직 업데이트, 물리연산에 관련된 로직을 제외한 주기적으로 변하는 로직을 넣을때 사용함,
환경에따라 실행주기가 떨어질수있음, 1초에 약 60회 호출
void Update(){ Debug.Log("몬스터 사냥!!") }
-
LateUpdate()
모든 업데이트 영역에 로직들의 실행이 끝난뒤에 호출되는 함수
ex) 캐릭터를 따라가는 카메라, 로직의 후처리 등...void
void LateUpdate(){ Debug.Log("경험치 획득.") }
5.비활성화 영역
-
OnDisable()
게임 오브젝트를 활성화 상태에서 비활성화 상태로 바뀔때 실행되는 함수
비활성화되면 업데이트 들의 실행이 멈춘다
void OnDisable(){ Debug.Log("플레이어가 로그아웃 했습니다") }
6.해체
-
OnDestroy()
게임 오브젝트가 삭제 될 때,
오브젝트가 삭제가 되기 직전에 무언가 남기고 삭제된다는 의미 Awake랑 반대의미 일수도 있다.
ex) 스크립트가 들어있는 오브젝트를 삭제하면 콘솔창에 입력이 된다
void OnDestroy(){ Debug.Log("플레이어 데이터를 해제 하였습니다") }
- 😅개인 공부용 블로그 이므로, 틀린사항이 있을수 있습니다😁
Author And Source
이 문제에 관하여([Unity] 유니티 Life Cycle에 대해 알아보자!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@susu_oku/유니티-Life-Cycle에-대해-알아보자저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)