Unreal TIL 2일차 - 블루프린트 입문(1)

yys·2026년 2월 25일

TIL

목록 보기
2/85

열거형 및 구조체 선언


  • 언리얼은 열거형과 구조체를 데이터 에셋의 형태로 저장할 수 있다.
  • 이렇게 선언한 데이터 에셋은 블루프린트에서 타입의 형태로 변수를 추가할 수 있다.

과제 구현


  • 블루프린트를 활용해서, 다음과 같은 문제를 구현하면 되었다. (아래는 조금 요약된 부분)
  1. Weapon 구조체를 활용해서, Rifle/Shotgun/Pistol 무기를 구현한다.
  2. 각 구조체는 탄약, 총기 온도, 총기 상태, 총기 이름을 지닌다.
  3. 탄약과 총기 상태는 총기마다 개별적으로 유지되어야 한다.
  4. 좌클릭 시 탄약이 발사되고 탄약이 없으면 발사되면 안된다.(R로 재장전)
  • 먼저, 총기 상태를 저장할 HeatState 열거형은 다음과 같이 세팅되어 있다.
    1. HeatState는 Normal/High/Over로 구성되어 있다.
    2. 각각 총기 온도가 0~30/31~70/71~100일 때 변경된다.

  • 구조체 선언도 다음과 같다. 이때, HeatState는 방금 선언한 열거형을 사용했다.

  • 메인 로직 부분
    - 이벤트 부분을 각각 정의해주고, 발사되었다는 것을 알기 위해 Print String으로 세팅해주었다.

    • 좀 더 깔끔하게 유지하고 싶어서, 중복 호출되는 부분을 함수로 빼내려고 노력했다.

  • Set Temperature 함수
    - 현재 총기의 Temperature에 따라 총기의 상태를 정해주는 함수

  • Display State 함수
    - 현재 총기의 탄약 및 상태를 출력하기 위한 함수

  • Change Weapon 함수
    - 무기의 인덱스 값을 바탕으로 Weapon 배열에 있는 무기로 교체한다.
    - 현재 탄약, 총기 온도도 동기화 해줘야 한다는 점이 중요했다.

  • Get Current Weapon Ammo 함수
    - 현재 무기의 탄약을 반환하는 함수이다.

  • 참고자료

profile
게임 개발 지망생

0개의 댓글