1~2주차 강의 듣기
2D게임을 만드는 강의를 들었다. 알고 있던 내용보다는 새로 알게 된 것, 중요하다고 생각하는 것을 복습한다는 느낌으로 오늘의 TIL을 작성해보겠다.
나는 프레임 관리는 Time.deltaTime만 있는줄 알았는데 오늘 Application.targetFrameRate이 있다는 것을 알게 되었다. 그런김에 둘을 비교해보는 시간을 갖도록 하겠다.
프레임에 관여한다는 점에서 굉장히 비슷해보이지 않는가?
Application.targetFrameRate는 프레임을 제한할 뿐이고 Time.deltaTime은 그 제한된 프레임 간의 시간 차이를 보정한다는 점에서 둘의 차이를 알 수 있다.
-> Application.targetFrameRate
성능 제한용으로서 게임 전역 설정으로 프레임을 제한해 모든 기기에서 통일된 느낌을 준다. 보통 Start나 Awake 같은 곳에서 한 번만 써주면 된다.
->Time.deltaTime
프레임에 따라 속도가 달라지는걸 방지해 기기마다 프레임 속도가 달라도 같은 속도로 보이게 한다. 물체이동과 회전(transform.Translate, position, rotate 등...)이나 애니메이션, 타이머 계산 등 시간 기반 동작이 필요할 때마다 곱해주면 된다.
2D 캐릭터나 오브젝트의 방향을 간단하게 바꿀 때 사용하는 기능. 이미지 자체를 회전하지 않아도 뒤집는 효과를 준다.
Flip x : 좌우 뒤집기
Flip y : 상하 뒤집기
오브젝트를 복제하는 함수. 총알 생성, 드롭 아이템 생성, 타일 반복 생성 등에 사용할 수 있다.
지정한 함수를 일정시간마다 반복해서 실행해주는 함수.
게임 전체의 시간 흐름 속도를 조절하는 변수. 게임을 일시정지 시킬 수도 있고 슬로우 모션을 줄 수도 있고 2배속 기능을 줄 수도 있다. 단, 오디오는 영향을 받지 않으므로 따로 처리가 필요하다.
간단하게 데이터를 저장할 수 있는 기능. 앱이 꺼져도 정보가 유지된다. 하지만 보안에 취약해 너무 큰 데이터를 저장하기엔 부적합하다.
내가 생각보다 엔진을 더 못 다루고 있다는 생각이 들었다. 예전에 2D게임 프로젝트를 개인적으로 한 적이 있었는데 그때 고민했던 부분이 오늘 강의를 들으면서 보다 쉽게 해결할 수 있는 방법이 있다는 것을 알게되었다. 그때는 그것도 모르고 더 어려운 방법으로 해결하려고 시간낭비했는데.. 지금이라도 알게 된 것이 다행이라고 생각한다.
내일은 3~5주차의 강의를 모두 들어볼 예정이다. 오늘 1~2주차 강의를 들으면서 꽤나 재미있었던 것을 보면 내일도 재미있게 할 수 있을 것 같다!