내일배움캠프 2일차

박나연·2025년 4월 8일

내배캠

목록 보기
2/69

1~2주차 강의 듣기

  2D게임을 만드는 강의를 들었다. 알고 있던 내용보다는 새로 알게 된 것, 중요하다고 생각하는 것을 복습한다는 느낌으로 오늘의 TIL을 작성해보겠다.

오늘의 키워드 : 강의따라하기

1. Application.targetFrameRate, Time.deltaTime

  나는 프레임 관리는 Time.deltaTime만 있는줄 알았는데 오늘 Application.targetFrameRate이 있다는 것을 알게 되었다. 그런김에 둘을 비교해보는 시간을 갖도록 하겠다.

  • Application.targetFrameRate
    : 최대 프레임 제한 설정
    전반적인 게임 프레임을 일정하게 유지할 때 사용한다
  • Time.deltaTime
    :프레임 간 시간 차이
    기기 성능에 따라 움직임/속도를 보정해주고 이동, 애니메이션, 물리 계산 등에 사용된다

프레임에 관여한다는 점에서 굉장히 비슷해보이지 않는가?

Application.targetFrameRate는 프레임을 제한할 뿐이고 Time.deltaTime은 그 제한된 프레임 간의 시간 차이를 보정한다는 점에서 둘의 차이를 알 수 있다.

-> Application.targetFrameRate
성능 제한용으로서 게임 전역 설정으로 프레임을 제한해 모든 기기에서 통일된 느낌을 준다. 보통 Start나 Awake 같은 곳에서 한 번만 써주면 된다.
->Time.deltaTime
프레임에 따라 속도가 달라지는걸 방지해 기기마다 프레임 속도가 달라도 같은 속도로 보이게 한다. 물체이동과 회전(transform.Translate, position, rotate 등...)이나 애니메이션, 타이머 계산 등 시간 기반 동작이 필요할 때마다 곱해주면 된다.

2. Sprite Renderer - Flip

  2D 캐릭터나 오브젝트의 방향을 간단하게 바꿀 때 사용하는 기능. 이미지 자체를 회전하지 않아도 뒤집는 효과를 준다.

Flip x : 좌우 뒤집기
Flip y : 상하 뒤집기

4. Instantiate

  오브젝트를 복제하는 함수. 총알 생성, 드롭 아이템 생성, 타일 반복 생성 등에 사용할 수 있다.

  • 사용하는 방법 : Instantiate(생성할 오브젝트, 위치, 회전)

5. InvokeRepeating

  지정한 함수를 일정시간마다 반복해서 실행해주는 함수.

  • 사용하는 방법 : InvokeRepeating("함수이름", 시작지연시간, 반복간격);
    반복을 멈추고 싶다면 CancelInvoke("함수이름")이나 CancelInvoke()(모든 Invoke를 중지)를 사용하여 멈출 수 있다.

6. Time.timeScale

  게임 전체의 시간 흐름 속도를 조절하는 변수. 게임을 일시정지 시킬 수도 있고 슬로우 모션을 줄 수도 있고 2배속 기능을 줄 수도 있다. 단, 오디오는 영향을 받지 않으므로 따로 처리가 필요하다.

  • 사용하는 방법 : Time.timeScale = 0.5f;

7. PlayerPrefs

  간단하게 데이터를 저장할 수 있는 기능. 앱이 꺼져도 정보가 유지된다. 하지만 보안에 취약해 너무 큰 데이터를 저장하기엔 부적합하다.

  • 사용하는 방법
    저장하기(Set) : PlayerPrefs.SetInt("HighScore", 100);
    불러오기(Get) : int score = PlayerPrefs.GetInt("HighScore", 0);
    삭제하기 : PlayerPrefs.DeleteKey("HighScore");

8. 마무리 하며

  내가 생각보다 엔진을 더 못 다루고 있다는 생각이 들었다. 예전에 2D게임 프로젝트를 개인적으로 한 적이 있었는데 그때 고민했던 부분이 오늘 강의를 들으면서 보다 쉽게 해결할 수 있는 방법이 있다는 것을 알게되었다. 그때는 그것도 모르고 더 어려운 방법으로 해결하려고 시간낭비했는데.. 지금이라도 알게 된 것이 다행이라고 생각한다.

9. 내일 할 일

  내일은 3~5주차의 강의를 모두 들어볼 예정이다. 오늘 1~2주차 강의를 들으면서 꽤나 재미있었던 것을 보면 내일도 재미있게 할 수 있을 것 같다!

0개의 댓글