프로퍼티 바인딩

UMG 에서의 프로퍼티 바인딩 안내서입니다.

Windows
MacOS
Linux

UMG 내부에서 가장 유용한 측면 중 하나는, 블루프린트 안에서 함수프로퍼티 에 위젯의 프로퍼티를 바인딩하는 기능입니다. 프로퍼티를 블루프린트 에 있는 함수나 프로퍼티 변수에 바인딩하면, 그 함수가 호출되거나 프로퍼티가 업데이트될 때마다 위젯에 반영됩니다.

함수 바인딩

예를 들어 Progress Bar 위젯이 플레이어의 헬쓰를 항상 반영하도록 업데이트하고 싶다고 쳐 봅시다. Progress BarAppearance 아래 보면 Percent 옵션이 보이며, 그 Percent 값을 함수나 프로퍼티에 바인드 하는 것이 가능합니다 (아래 노랑 박스 부분입니다).

Apperance.png

바인드 버튼을 클릭한 다음 바인딩 생성 옵션을 선택하면, 새로운 함수가 생성되어 열릴 것입니다.

NewFunction.png

Return Value 는 Percent 의 값에 묶여 있어, 값을 넣어 Progress Bar 데이터를 물려줄 수 있습니다.

PlayerHealth.png

위에서 함수는 우리 캐릭터 블루프린트에서 Player Health 라는 변수를 구합니다. Player Health 변수가 업데이트될 때마다 자동으로 Progress Bar 의 Percent Value 에 전달되어 반영됩니다.

프로퍼티 바인딩

프로퍼티 바인딩 은 위젯의 프로퍼티에 묶여있는 프로퍼티 변수를 지정하는 것으로 이루어집니다. 프로퍼티 변수가 업데이트되면, 거기에 묶여있는 세팅은 자동으로 업데이트되어 위젯에 반영됩니다.

버튼에 대한 프로퍼티 변수를 바인딩하는 예제는 아래와 같습니다.

Property1.png

위 그림에서, 메인 메뉴에 버튼이 셋 있습니다: Continue, Start, Quit 인데, Continue 의 경우 플레이어가 세이브 게임이 있는 경우에만 가능했으면 합니다. Continue 버튼의 Behavior 섹션 아래, IsEnabled 체크를 해제(하면 버튼 기본적으로 비활성화)한 다음 바인드 버튼을 누르면 됩니다.

Property2.png

이 위젯 블루프린트에 대한 그래프 탭에서 부울 변수를 만들 수 있으며, 생성된 이후에는 바인드 버튼을 통해 할당 가능합니다 (아래에 DoesSaveExist? 라는 부울을 만들었습니다).

Property3.png

이 변수를 IsEnabled 작동방식에 묶어 두면, 게임이 시작될 때마다 세이브 파일이 존재하는지 검사하여 그 변수를 설정할 수 있으며, 존재하면 이 위젯 블루프린트로 형변환한 다음 DoesSaveExist 변수에 접근하여 True 로 설정하는 것으로써 버튼이 활성화되게 됩니다.

위젯의 프로퍼티를 바인딩한 다음 그 위젯에서 바로 Set 함수를 호출하면 바인딩이 깨집니다.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback