블루프린트 인터페이스

블루프린트 사이의 인터페이스를 정의하기 위한 함수를 선언하는 블루프린트입니다.

Windows
MacOS
Linux

Blueprint Interface (블루프린트 인터페이스)는 이름만 있고 구현은 없는 함수 하나 이상으로 된 집합으로, 이를 다른 블루프린트에 추가할 수 있습니다. 블루프린트에 인터페이스를 추가하면 그 블루프린트는 그 안에 들어있는 함수를 갖게 됩니다. 인터페이스의 함수에는 그것을 추가한 각각의 블루프린트에 함수성을 줄 수 있습니다. 이는 본질상 일반 프로그래밍의 인터페이스 개념과 비슷한데, 각기 다른 다수의 오브젝트가 모두 공통의 인터페이스를 통해 접근할 수 있게 되는 것입니다. 간단히 말해서, 블루프린트 인터페이스를 통해 다양한 블루프린트는 서로간에 데이터를 공유하고 전송할 수 있습니다.

블루프린트 인터페이스는 콘텐츠 제작자가 에디터에서 다른 블루프린트와 비슷한 방식으로 만들 수 있습니다만, 다음과 같은 작업이 불가능하다는 점에서 차이가 있습니다:

  • 새 변수 추가

  • 그래프 편집

  • 컴포넌트 추가

블루프린트 인터페이스를 사용하면 몇 가지 속성을 공유하는 여러가지 다양한 유형의 오브젝트를 공통된 방식으로 상호작용할 수 있습니다. 무슨 뜻이냐면, 차량이나 나무처럼 완전히 다른 사물도 둘 다 무기로 쏴서 피해를 입힐 수 있다는 한 가지 속성을 공유할 수 있습니다. OnTakeWeaponFire (무기 발사 피격시) 함수가 들어있는 블루프린트 인터페이스를 만들고, 차량과 나무 둘 다에서 그 블루프린트 인터페이스를 구현해 주면, 그 차량과 나무 어느 것을 총으로 쏘든 같은 유형으로 취급해서 OnTakeWeaponFire 함수만 호출해 주면 됩니다. 블루프린트 인터페이스 구현 방법은 블루프린트 인터페이스 구현하기 문서를 참고하세요.

블루프린트 인터페이스 생성

블루프린트 인터페이스 생성은 콘텐츠 브라우저 안에서 우클릭 한 뒤 컨텍스트 메뉴에서 블루프린트 인터페이스를 선택한 다음 새 인터페이스의 이름을 지어주기만 하면 됩니다.

createinterface.png

createdblueprintinterface.png

생성한 이후에는, 인터페이스의 함수를 편집해 줘야 합니다.

블루프린트 인터페이스 편집

블루프린트 인터페이스는 블루프린트 에디터 에서 편집합니다. 자체적으로 변수나 그래프나 컴포넌트를 만들 수는 없으므로, 인터페이스 편집 프로세스는 표준 블루프린트 클래스 편집 프로세스와는 크게 다릅니다.

새 인터페이스를 처음 열 때, 에디터는 이런 모습입니다:

InterfaceEditor.png

인터페이스를 처음 만들면 NewFunction_0 이라는 이름의 빈 함수가 새로 생성되어, 이름을 변경할 수 있도록 선택된 상태로 나타납니다.

함수 추가

함수는 인터페이스의 주요 성분입니다. 인터페이스 함수에는 구현이 없습니다. 단순히 입력과 출력의 정의를 위해서만 존재합니다. 이를 이용하여 인터페이스를 통해 데이터를 전송하거나, 그 인터페이스를 구현하는 다른 블루프린트로 덮어쓸 수도 있습니다.

함수를 새로 추가하려면:

  1. 내 블루프린트 탭에서 새 함수를 만듭니다. myblueprint_function.png 함수 목록 제목줄 아래 plus_Button.png 추가 버튼 을 누르면 됩니다.

  2. 내 블루프린트 패널에서, 새 함수의 이름을 입력합니다.

    RenameMyFunction.png

  3. 새 그래프 영역에 새로운 함수와 함께 나타납니다. 이 함수에는 아직 입력도 출력도 없는 것이 보입니다.

    NewFunctionCreated.png

함수 시그너처 편집

인터페이스 함수에는 구현이 없기 때문에, 디자이너가 할 수 있는 작업이라곤 일정 유형의 입력과 출력 시리즈를 지정하는 것 뿐입니다.

함수의 시그너처를 편집하려면:

  1. 디테일 탭에서 Inputs (입력) 카테고리로 내려간 다음 button_New.png 버튼을 눌러 새로운 입력 파라미터를 만듭니다.

    Details_Signature.png

  2. Input Name (입력 이름)과 Type (유형)은 원하는 대로 설정합니다. 또한 이름 옆의 button_DropdownArrow.png 버튼을 사용하여 입력을 확장시키고, 거기서 Default Value (기본값) 설정도 가능합니다.

    FloatInput.png MyFunctionGraph.png

  3. 같은 방식으로, 출력 역시 추가할 수 있습니다. 그래프에서 자동으로 업데이트되어 표시되는 방식을 확인할 수 있습니다.

    OutputBool.png InputWithOutput.png

기타 고려사항

  • 아무 입력이나 출력 파라미터에 있는 button_X_Remove.png 버튼을 누르면 그 파라미터를 제거합니다.

  • 입력 파라미터에는 파라미터 이름 칸 바로 아래 있는 작은 글상자를 사용해서 기본값을 줄 수 있으며, 확인을 위해서는 디테일 탭에서 프로퍼티 항목을 확장시켜야 합니다.

  • 노드에서 입력과 출력 파라미터가 나타나는 위치는 button_moveUp.png & button_moveDown.png 버튼을 사용해서 바꿀 수 있습니다. 이는 디테일 탭에서 파라미터 프로퍼티를 펼치면 찾을 수 있습니다.

  • 서버를 통해 리플리케이트시켜야 하는 함수가 들어있는 인터페이스의 경우 Replicates (리플리케이트) 박스를 체크하면 됩니다. 디테일 탭에서 클래스 세팅 버튼을 먼저 클릭하는 것으로 찾을 수 있습니다.

태그
Select Skin
Light
Dark

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

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

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

네이버 카페
공식 포럼