2024. 9. 1. 19:44ㆍUnity
저번 글의 Start()와 Update() 메서드와 관련된 내용을 추가적으로 공부해 봤습니다 각설하고 바로 본 내용으로 들어가 자면, 게임 화면은 영화나 애니메이션과 마찬가지로 그림 한 컷을 플립북 방식(한 손으로 책을 잡고, 다른 한 손의 엄지 손가락을 사용해 책장을 빠르게 넘겨 읽는 방식) 으로 표시한다 하네요
이 그림 한 컷을 프레임이라고 하며, 1초에 표시되는 매수는 FPS(Frame Per Second / 초당 프레임) 단위로 센다 하네요
대개 영화는 1초에 24프레임(24FPS), 게임은 1초에 60프레임(60FPS 근데 보통은 144프레임으로 하지 않나 십네욥;;) 속도로 그림을 전환해 애니메이션을 보여 준다고 하네요
단 1초동안 60프레임으로 설정해도 사용자가 입력한 표시 내용이 바뀌거나 시스템 부하 등이 달라지면 프레임 간 시간이 1/60초보다 빠르거나 느릴 수 있다고 하네요 실제로 앞의 프레임부터 몇 초 지났는지는 Time.deltaTime 구조로 알 수 있다로 한네요
프레임과 Time.deltaTime이 무엇인지 간단히 보자면

제가 직접 만든 프레임과 Time.deltaTime을 보여주는 사진입니다!
PPT로 만들어서 많이 어설프네욥 ㅋㅋㅋㅋㅋ 나중에는 더 퀄 좋게 만들어 보겠습니다
위 사진에서 Start와 Update에 말풍선이 붙어 있는 것을 주목해 보라 하네요. 스크립트를 실행시키면 Start 메서드는 한 번만 실행되지만 Update메서드는 프레임마다 반복해서 실행된다 하네요. 원이 위로 올라가는 애니메이션을 만들 때 처음에는 Start메서드로 캐릭터를 표시하고, 그다음에는 Update 메서드로 프레임마다 캐릭터를 조금씩 위쪽으로 옮기는 처리를 할 수 있다는 예시를 들었네요
void Start() {
*원을 표시하는처리
}
void Update() {
*현재 캐릭터를 조금씩 오른쪽으로 옮기는 처리
}
또한 Update()매서드는 캐릭터 표시뿐만 아니라 충돌 판정이나 키 조작 등의 처리를 프레임마다해야 한다고 하네요

스크립트의 큰 흐름을 정리하면 위 사진과 같다고 하네요!
확실히 Unity공부를 하면 할수록 구현을 할려면 원리를 확실하게 알아야 한다는 것을 느끼네요
이번 글은 여기셔 마칩니다!
'Unity' 카테고리의 다른 글
| [Unity] Hello, World (0) | 2024.09.08 |
|---|---|
| [Unity] 스크립트 (0) | 2024.09.01 |
| [Unity] 프로파일러 (0) | 2024.08.31 |
| [Unity] 씬 저장하기 (0) | 2024.08.31 |
| [Unity] 정육면체 추가하기 (0) | 2024.08.31 |