직접 블루프린트 통신

한 블루프린트에서 다른 블루프린트로 직접 정보를 전달하는 법 데모입니다.

Windows
MacOS
Linux

여기서는 직접 블루프린트 통신 을 통해 두 블루프린트 사이에 직접 정보를 전달하는 법을 다루겠습니다.

이 예제에서는 플레이어가 박스를 통과하면서 통신하여 파티클 이펙트가 발동되도록 하겠습니다.

여기서는 블루프린트 삼인칭 템플릿에 시작용 콘텐츠 포함 시키고 있습니다.

  1. 콘텐츠 브라우저 에서 Content/StarterContent/Shapes 폴더를 엽니다.

  2. Shape_Cube우클릭 한 다음 애셋 액션 아래 다음을 사용하여 블루프린트 생성... 을 선택합니다.

    DirectCom1.png

    확인창이 뜨면 Ok 를 클릭하여 블루프린트를 생성합니다.

  3. Shape_Cube 블루프린트 안에서 좌상단 컴포넌트 창의 스태틱 메시 를 선택합니다.

  4. 디테일 패널에서 Collision Presets (콜리전 프리셋)을 OverlapOnlyPawn (폰만 겹침)으로 설정합니다.

    DirectCom2.png

    그러면 과 거기서 확장된 캐릭터 만 박스를 통과하게 됩니다.

  5. 내 블루프린트 창에서, 변수 추가 버튼을 클릭한 다음 이름을 TargetBlueprint 라 합니다.

    DirectCom3.png

    직접 통신 대상 블루프린트가 됩니다.

  6. 변수에 대한 디테일 패널에서, Variable Type (변수 유형)을 Blueprint_Effect_Fire 로 하고 Editable (편집가능) 설정합니다.

    DirectCom4.png

    통신하고자 하는 블루프린트를 구성하고 변수를 공개적으로 (이 블루프린트 밖에서도) 편집가능하도록 했습니다.

  7. 내 블루프린트 창에서 스태틱 메시 를 선택한 다음, 디테일 패널에서 On Component Begin Overlap (컴포넌트 겹침 시작시) 이벤트를 추가합니다.

    DirectCom8.png

    그러면 노드가 추가되고 이벤트 그래프 가 열려, 여기서 큐브에 들어설 때 벌어질 일에 대한 스크립트를 짜면 됩니다.

  8. 타깃 블루프린트Get P FireGet Fire Audio 를 끌어놓고, 다음과 같이 Activate 노드에 연결합니다.

    DirectCom10.png

    타깃 블루프린트 안의 파티클 이펙트와 오디오 컴포넌트에 접근하여 활성화시키고 있습니다.

  9. 콘텐츠 브라우저 에서 Blueprints 아래 Shape_Cube 블루프린트를 끌어 레벨에 놓습니다.

    DirectCom5.png

  10. 콘텐츠 브라우저 에서 Content/StarterContent/Blueprints 아래, Blueprint_Effect_Fire 블루프린트를 엽니다.

  11. 컴포넌트 창에서 P_Fire 를 선택한 다음 디테일 패널에서 Auto Activate (자동 활성화) 체크를 해제합니다.

    DirectCom6.png

    이 이펙트는 자동 활성화시키지 않습니다. 레벨에 있는 박스에 들어설 때 활성화시킬 것이기 때문입니다.

  12. Blueprint_Effect_Fire 블루프린트를 끌어 레벨에 놓습니다.

  13. 디테일 패널에서 Shape_Cube 블루프린트를 선택하고, 드롭다운을 사용하여 Blueprint_Effect_Fire 블루프린트를 선택합니다.

    DirectCom7.png

    레벨에 통신하고자 하는 Blueprint_Effect_Fire 블루프린트 인스턴스를 지정하고 있습니다. 레벨에 Blueprint_Effect_Fire 블루프린트 인스턴스를 여럿 배치한 경우, 그 인스턴스 각각이 드롭다운 메뉴에 표시되어 통신할 타깃 블루프린트 인스턴스를 선택할 수 있습니다.

    스포이드 아이콘을 클릭하면 드롭다운 메뉴가 아닌 레벨 안에서 직접 타깃 블루프린트 인스턴스를 선택할 수 있습니다. 지정한 변수 유형에 따라 블루프린트만 타깃으로 선택할 수 있다는 점 기억해 주세요.

  14. 플레이 버튼을 클릭하여 에디터에서 플레이, 캐릭터로 박스를 통과시켜 테스트합니다.

캐릭터가 박스에 들어서면 레벨에 화염 이펙트가 활성화되는 것이 보일 것입니다. 직접 블루프린트 통신 은 한 블루프린트에서 다른 블루프린트의 프로퍼티를 변경할 때만이 아닌, 변수 값 전달, 함수나 이벤트 호출, 기타 블루프린트에서 정상적으로는 불가능한 것들을 할 수 있습니다.

태그
Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼