본문 바로가기
Unreal Engine

Unreal Engine 간단한 스크롤 수집 게임 6

by hfgraphic 2025. 11. 13.
반응형

 

스크롤 아이템 획득 및 점수 시스템 설정

 

이 과정은 BP_Scroll에 충돌 감지 영역을 추가하고, 플레이어가 충돌했을 때 아이템을 파괴하며, Game Mode에 점수를 추가하도록 통신 로직을 구현하는 세 단계로 나뉩니다.

 

1. BP_Scroll에 충돌 영역 및 획득 로직 추가

대표사진 삭제

AI 활용 설정

사진 설명을 입력하세요.

  1. BP_Scroll 블루프린트 클래스를 더블 클릭하여 엽니다.
  2. 구성요소(Components) 탭에서 추가(Add) 버튼을 클릭하여 Sphere Collision (구체 충돌) 구성요소를 추가합니다.
  • 이 컴포넌트는 플레이어가 아이템을 획득했는지 감지하는 트리거 박스 역할을 합니다.
  1. Sphere Collision의 이름을 적절히 지정하고, Sphere Radius 값을 조정하여 획득하기 쉬운 충분한 크기(예: 120)로 만듭니다.
  2. 테스트를 위해 잠시 Hidden in Game (게임에서 숨김) 옵션을 해제하여 뷰포트에서 충돌 영역을 확인합니다. (로직이 완성되면 다시 숨길 수 있습니다.)
대표사진 삭제

AI 활용 설정

사진 설명을 입력하세요.

대표사진 삭제

AI 활용 설정

사진 설명을 입력하세요.

  1. **이벤트 그래프(Event Graph)**로 이동합니다.
  2. 좌측에서 방금 추가한 Sphere Collision 구성요소를 선택한 후, 디테일(Details) 패널 하단으로 스크롤하여 On Component Begin Overlap 이벤트를 추가합니다.
대표사진 삭제

AI 활용 설정

사진 설명을 입력하세요.

 

획득 로직 (플레이어 태그 확인)

 

이제 겹치는 액터(Other Actor)가 플레이어인지 확인하고, 플레이어일 경우에만 스크롤을 파괴하도록 설정합니다.

  1. BP_Ball 블루프린트를 엽니다.
  • 디테일 패널에서 Tags 섹션을 찾고, Actor Tags에 + 버튼을 눌러 새 태그 **Player**를 추가합니다.
  • BP_Ball에 Player라는 식별 태그가 부여됩니다.
대표사진 삭제

AI 활용 설정

사진 설명을 입력하세요.

  1. **BP_Scroll**의 On Component Begin Overlap 이벤트로 돌아옵니다.
  2. Other Actor 핀에서 드래그하여 Actor Has Tag 노드를 추가하고, 태그 이름에 **Player**를 입력합니다.
  3. Actor Has Tag의 출력(Boolean)을 Branch 노드에 연결합니다.
  4. Branch의 True 실행 핀에서 Destroy Actor 노드를 호출합니다.
  • Target은 Self (BP_Scroll 액터)로 자동 설정되므로, 플레이어가 겹쳤을 때 스크롤이 사라지게 됩니다.
대표사진 삭제

AI 활용 설정

사진 설명을 입력하세요.

테스트: 게임을 플레이하고 공을 스크롤에 굴려보면, 스크롤이 사라지는 것을 확인할 수 있습니다.

출처 입력


 

2. 점수 카운터 변수 및 Game Mode 인터페이스 설정

대표사진 삭제

AI 활용 설정

사진 설명을 입력하세요.

점수는 게임 전체의 상태를 관리하는 Game Mode에서 관리하는 것이 가장 합리적입니다.

 

A. BP_GameMode에 점수 변수 추가

대표사진 삭제

AI 활용 설정

사진 설명을 입력하세요.

  1. BP_GameMode 블루프린트 클래스를 엽니다.
  2. 변수(Variables) 섹션에서 새 변수를 만들고 이름을 **ScrollCounter**로 지정합니다.
  3. 변수 타입을 **Integer (정수)**로 설정합니다.

 

B. Game Mode 통신용 인터페이스 생성

대표사진 삭제

AI 활용 설정

사진 설명을 입력하세요.

스크롤이 Game Mode와 통신하여 점수를 올리도록 블루프린트 인터페이스를 사용합니다.

  1. Interfaces 폴더에 마우스 오른쪽 버튼을 클릭하고 블루프린트 > 블루프린트 인터페이스를 새로 생성합니다. 이름을 **Int_GameMode**로 지정합니다.
  2. **Int_GameMode**를 열고 함수 이름을 **AddScroll**로 지정합니다. (입력이나 출력은 필요 없습니다.)
  3. **컴파일(Compile)**하고 저장합니다.

 

C. BP_GameMode에 인터페이스 구현

대표사진 삭제

AI 활용 설정

사진 설명을 입력하세요.

  1. **BP_GameMode**를 열고 **클래스 설정(Class Settings)**으로 이동합니다.
  2. 인터페이스 섹션에서 Int_GameMode를 추가합니다.
  3. 이벤트 그래프로 돌아와서, 마우스 오른쪽 버튼을 클릭하고 Event Add Scroll (인터페이스 이벤트)를 검색하여 추가합니다. (이벤트가 검색되지 않으면 컴파일/저장 후 다시 시도합니다.)
  4. Event Add Scroll 실행 핀에 다음 로직을 연결합니다.
  • ScrollCounter 변수를 가져옵니다.
  • Increment Int (++) 노드를 연결하여 카운터를 1 증가시킵니다.
  • Increment Int의 결과를 **Set Scroll Counter**에 연결합니다.

 

3. BP_Scroll에서 Game Mode 호출

대표사진 삭제

AI 활용 설정

사진 설명을 입력하세요.

이제 스크롤이 파괴되기 직전에 Game Mode에 점수를 추가하도록 메시지를 보냅니다.

  1. BP_Scroll 블루프린트의 Begin Overlap 로직으로 돌아옵니다.
  2. Branch 노드의 True 실행 핀과 Destroy Actor 노드 사이에 로직을 추가합니다.
  3. Get Game Mode 노드를 가져옵니다.
  4. Get Game Mode의 출력 핀에서 Add Scroll (인터페이스 메시지)를 호출합니다.
  • 이 메시지가 BP_GameMode의 Event Add Scroll을 실행시켜 점수를 1 올립니다.
  1. Add Scroll의 실행 핀을 Destroy Actor 노드에 연결합니다.

 

최종 획득 로직 순서 (BP_Scroll)

 

  1. On Component Begin Overlap
  2. Branch (조건: Other Actor Has Tag 'Player')
  3. True
  4. Get Game Mode
  5. Add Scroll (메시지)
  6. Destroy Actor (Target: Self)

이제 플레이어가 스크롤에 닿으면 스크롤이 사라지고, 게임 모드의 ScrollCounter 변수가 1 증가하게 됩니다. (현재는 화면에 표시되지 않지만, 데이터는 정확히 기록됩니다.)

다음으로, 플레이어가 밟을 수 있는 플랫폼(Platform) 제작을 진행할 수 있습니다. 계속 진행할까요?

 

반응형