Ad Block 한번만 꺼주시면 안될까요..?
게임 개발/유니티C#

유니티 Start()문, Update() , Awake() , FixedUpdate()문

UniCoti(유니코티) 2022. 10. 5.

유니티에서 스크립트(C#)을 만들고 파일을 열어보면

이렇게 되어 있을것이다.

 

유니티를 처음 시작하는 사람이라면 이게 뭐하는 것인지 모를것이다.

그래서 초보자의 입장으로 이 두 기초 함수들에 대해 알아보겠다.


Start ()

일단 Start 문은 직역하면 시작하다 인데, 말그대로

게임이 처음 시작되었을때 1번 실행한다고 보면 된다.

줄여보자면 최초1회실행 이라고 보면 되겠다.

 

Update ()

다음으로 Update문이다. 게임을 만들다 보면

대부분의 움직임 코드가 Update문안에 들어갈 것이다.

그 이유는 Update문이 1초에 몇십번씩 코드를 반복해서 실행하는

기능을 가즈고 있기 때문이다. 

몇십번인지를 결정하는건 컴퓨터의 성능이다. 

게임을 한 사람들이라면 들어봤을 만한 "프레임"이라는 개념이

"업데이트문이 몇번 실행되냐" 이다.

그렇기에 움직임을 담당하는 코드 같은걸 Update문에 넣는다.

 

Awake ()

다음은 Awake에 대해 알아보겠다.

이것또한 직역하자면 일어나다 정도로,

시작하자마자 실행된다고 보면 된다.

그럼 Start랑 뭐가 다르냐? 라고 할수 있는데,

Awake가 Start보다 조금 빠르다.

그정도다.

 

FixedUpdate ()

다음으로는 FixedUpdate()문을 알아보겠다.

앞에 Fixed만 추가되었을뿐 Update와 많이 다르진 않다.

FIxedUpdate는 Update보다 1프레임 늦게 실행된다.

예를들어 1초에 60프레임이 나오는 컴퓨터라면

게임이 시작한지 1초가 지났다면 Update문은 60번을 돌렸겠지만

FixedUpdate는 59번을 돌린다. 딱히 다른건 없지만

Update문 뒤에 올 코드를 쓰면 좋을것같다.

 

그래서인지 FixedUpdate에는 물리적인 요소가 나오는 경우가 많다.

 

이상으로 기초적인 함수들에 대해 알아 보았다.

어느정도 간단한 프로젝트라면 사실상 Start와 Update, ontrigger 와 oncollision 알아도 무방하다.

 

구체적으로는 이렇게 실행된다.


도움이 되었길 바라며,

 

끝.

 

댓글

💲 추천 글