9/27 TIL BirdFly 제작

Cheorii·2024년 9월 27일

BirdFly 제작을 하면서 사용했던것 들에 대해 간단하게 복기하는 느낌으로 작성하려고 한다.
(제작 과정을 적는게 아닌 사용했던것에 대한 정리)

Components

  • 위의 사진과 같이 게임 오브젝트의 작동과 관련된 부분,
  • 모든 게임 오브젝트는 기본적으로 Transform 컴포넌트를 가지고 있고,
  • 추가적으로 필요한 컴포넌트를 컴포넌트를 추가할 수 있다.

Collider2D

  • Collider2D는 2D 게임에서 물리적 충돌을 감지하는 컴포넌트
  • 게임 오브젝트가 다른 오브젝트와 충돌하거나 상호작용할 수 있다.
  • 위 사진과 같이 수많은 Collider2D 가 있기에 필요에 따라 사용하면 된다.

Rigidbody2D

  • Rigidbody2D는 2D 물리 엔진을 사용하여 오브젝트의 물리적 움직임을 처리하는 컴포넌트

  • 중력, 속도, 힘과 같은 물리 법칙에 따라 움직임을 계산

  • Rigidbody2D는 물리적인 충돌, 가속, 중력의 영향을 받으며, 이를 통해 게임 오브젝트가 자연스럽게 움직일 수 있다.

  • Dynamic : 물리 시뮬레이션 사용

  • Static : 말 그대로 Static

  • Kinematic : 물리 시뮬x 사용자가 직접 좌표 입력

    Q. 리지드 바디의 중력값과 플레이어의 중력값은 서로 영향을 주지 않는 별개의 값인가요?

    A. 기본적으로 리지드 바디는 물리 객체로 중력의 영향을 받아 움직이도록 설계
    하지만 사용자가 설정한 중력 값이나 캐릭터 컨트롤러를 통해 별도로 중력을 정의 할 수 있다.

UI

  • UI(User Interface)는 게임 내에서 사용자와 상호작용할 수 있는 그래픽적인 요소를 제공한다.
  • 사진과 같이 버튼 이미지 텍스트 토글 등등 많은 UI컴포넌트를 통해 게임 메뉴,점수,등을 화면에 나타낼 수 있다.

Animator


  • Animator는 애니메이션 상태를 관리하는 컴포넌트
  • 애니메이션 클립을 애니메이션 상태 머신을 통해 전환할 수 있으며, 트리거, 조건에 따라 애니메이션을 조작 가능

Animations

  • Animation은 오브젝트에 애니메이션 클립을 추가하고 재생하는 컴포넌트
  • Animation 컴포넌트는 애니메이션을 수동으로 재생하는 데 주로 사용

싱글톤 패턴

객체의 인스턴스가 오직 1개만 생성되는 디자인 패턴.

  • 인스턴스가 필요한 경우 똑같은 인스턴스를 만들지 않고 기존의 인스턴스 활용
  • 다른 클래스의 인스턴스들이 데이터를 공유하는 것이 가능한 장점이 있다.
  • 하지만 코드 자체가 많이 필요하다.
  • 메모리에 단 하나만 존재하고 모든 오브젝트가 공유
    클래스 이름과 점(.) 연산자를 이용해 접근
    Ex) GameManager.instance.Score();

PlayerPers

간단한 데이터를 로컬에 저장하고 관리하기 위해 사용

Score값을 PlayerPers에 저장했기에, Score가 저장되어있음.
  • PlayerPers에 데이터를 저장하면 Unity 프로젝트 폴더 내에 있는 PlayerPers파일에 유지되고, 재시작해도 변경되지 않는다.
  • Key와 Value에 데이터를 저장
  • 위 사진처럼 컴퓨터의 디스크에 저장되고, 레지스트리에서 확인 가능

------------------------------------
다음에 추가적으로 포스팅할 내용
1. Tag에 관련된 부분
2. 이벤트 함수 생명주기

간단하게 적어봤는데 블로그 작성하는 게 익숙지가 않아서 별로 잘 쓴 거 같지는 않네요.
점차 나아질 것이라 생각합니다.

profile
코딩테스트는 진짜 못하겠어요 ㅠㅠ

0개의 댓글