본문 바로가기
Unreal Engine

Unreal Engine 블루프린트 통신 (Blueprint Communication) 소개

by hfgraphic 2025. 11. 11.
반응형

 

블루프린트 통신 (Blueprint Communication) 소개

 

이번 섹션에 오신 것을 환영합니다! 이제 **블루프린트 통신(Blueprint Communication)**이라는 매우 중요한 주제에 대해 이야기해 보겠습니다.


 

블루프린트 통신이란 무엇인가?

 

블루프린트 통신이란 두 개 이상의 서로 다른 블루프린트가 정보를 주고받거나(communicate), 한 블루프린트에서 다른 블루프린트의 이벤트나 함수를 호출하는 것을 의미합니다.

  • 예시:
  • 새로운 블루프린트 클래스를 만들었을 때, 기존 블루프린트 클래스에 정의된 이벤트호출할 수 있습니다.
  • 이처럼 서로 다른 블루프린트 간에 연결을 설정하고 상호작용하는 것이 통신의 핵심입니다.

 

통신의 중요성

 

블루프린트 통신은 게임 개발에서 필수적인 개념입니다. 여러분의 게임은 수많은 개별적인 블루프린트 클래스로 구성될 것이기 때문입니다.

  • 예를 들어, 코인 상점 블루프린트, 검 상점 블루프린트, 그리고 주인공 캐릭터 블루프린트가 있다고 가정해 봅시다.
  • 주인공 캐릭터가 상점에 가서 상호작용하려면, 캐릭터 블루프린트가 상점 블루프린트의 정보를 접근하거나, 상점 블루프린트가 캐릭터의 특정 이벤트를 실행해야 합니다.
  • 이처럼 서로 다른 블루프린트 간에 **정보(데이터)**를 교환하거나 **이벤트(코드)**를 실행하기 위해 통신이 필요합니다.

블루프린트 통신의 첫 번째 글로서  **캐스팅(Casting)**에 대해 이야기해 보겠습니다. 우리는 서로 다른 두 블루프린트 간에 통신을 시도할 것입니다.

 

1. 캐스팅을 위한 블루프린트 클래스 생성

먼저 통신할 두 개의 다른 블루프린트 클래스를 만듭니다.

 

A. BP_Barrel (액터 클래스) 생성

  1. 새 블루프린트 클래스를 생성하고 Actor를 부모 클래스로 선택합니다.
  2. 이름을 BP_Barrel이라고 지정합니다.
  3. BP_Barrel을 열고, 컴포넌트에 Cylinder (원통)를 추가합니다.
  4. 원통의 크기를 약간 조절하고 땅 위로 이동시켜 **술통(Barrel)**처럼 보이게 합니다. (프로그래밍에 집중할 것이므로 디자인은 간단히 합니다.)

B. GM_GameMode (게임 모드 클래스) 생성

  1. 새 블루프린트 클래스를 생성하고 Game Mode Base를 부모 클래스로 선택합니다.
  2. 이름을 GM_GameMode라고 지정합니다. (게임 모드는 보통 GM_ 접두사를 사용합니다.)
  3. GM_GameMode를 열고 이벤트 그래프로 이동합니다.
  4. Custom Event를 만들고 이름을 SpawnBarrel이라고 지정합니다.
  1. SpawnBarrel 이벤트 뒤에 Spawn Actor from Class 노드를 연결합니다.

2. 레벨 블루프린트에서 캐스팅을 통한 통신

이제 레벨 블루프린트에서 GM_GameMode에 있는 SpawnBarrel 이벤트를 호출해 보겠습니다.

  1. 레벨 블루프린트를 엽니다.
  2. Begin Play 이벤트 노드를 추가합니다.
  3. 테스트 메시지를 추가합니다.
  4. GM_GameMode를 참조하기 위해 캐스팅을 사용합니다.
  5. 캐스트 투 (Cast To) 노드:
  6. 이벤트 호출:

3. 게임 모드 오버라이드 설정

이 로직이 작동하려면 현재 레벨이 우리가 만든 GM_GameMode를 사용하도록 설정해야 합니다.

  1. 월드 세팅 (World Settings) 패널을 엽니다. (오른쪽 상단에 없다면 오류! 파일 이름이 지정되어 있지 않습니다.Window 오류! 파일 이름이 지정되어 있지 않습니다.World Settings)
  1. Game Mode Override (게임 모드 재정의) 드롭다운 메뉴를 클릭하고 GM_GameMode를 선택합니다.
  2. 최종 테스트:

4. 캐스팅의 일반적인 사용법 (추가 설명)

캐스팅은 다른 블루프린트의 변수나 커스텀 이벤트에 접근하는 기본적인 방법입니다.

  • 예시: 플레이어 캐릭터에 캐스팅

 

요약

캐스팅은 일반적인(General) 객체를 가져와 오류! 파일 이름이 지정되어 있지 않습니다.우리가 만든 특정(Custom) 클래스 타입으로 변환하고 오류! 파일 이름이 지정되어 있지 않습니다.그 특정 클래스에 정의된 고유한 기능에 접근할 수 있게 해주는 통신 방법입니다.

 

 

반응형