언어:
페이지 정보
엔진 버전:
언리얼 엔진

2.5 - 자손 블루프린트

언리얼 엔진

blueprint_advanced_2_5.png

마스터 머티리얼을 가지고 머티리얼 인스턴스를 만들듯, 부모 블루프린트를 기반으로 자손 블루프린트를 만드는 것이 가능합니다. 부모의 함수성은 자동으로 자손에 상속되어 보강, 추가, 변경 등의 작업이 가능합니다. 이 예제에서 세 가지 수집가능 픽업 블루프린트 는 일반적인 픽업 블루프린트 의 자손입니다.

부모 블루프린트BP_Pickup_Parent_C 이며, 세 가지 자손 블루프린트 는:

  • BP_Pickup_Child_Health

  • BP_Pickup_Child_Coin

  • BP_Pickup_Child_Cupcake

부모 블루프린트의 이벤트 그래프

클릭하거나 우클릭 - 다른이름으로 저장 후 원래 크기로 볼 수 있습니다.

부모 블루프린트 BP_Pickup_Parent 에는 기본적인 픽업 작동방식에 대한 스크립트가 들어있습니다. 이를테면 픽업이 떠있는 상태로 회전하는 타임라인 애니메이션이나, 픽업 획득시의 시퀀스 등입니다. 자손 블루프린트는 이 스크립트의 모든 것을 상속하면서, 획득시의 스크립트도 추가로 갖고 있어, 각각의 픽업에 기본적인 특징은 공유하면서 약간씩 다른 동작을 보이도록 할 수 있습니다. 이 부분이 유용한 것은, 부모 블루프린트의 스크립트를 수정하면 그 모든 자손 블루프린트에도 적용되기 때문입니다.

OnPickedUp 이벤트 디스패처 는 플레이어의 폰이 Pickup Trigger SphereComponent 에 겹칠 때 호출됩니다. 각 자손 블루프린트는 OnPickedUp 이벤트에 각기 다른 이벤트를 바인딩하여, 플레이어가 각각의 픽업을 획득하여 OnPickedUp 이 호출되면 각기 다른 문자열이 출력되도록 하고 있습니다.

자손 블루프린트의 이벤트 그래프

클릭하거나 우클릭 - 다른이름으로 저장 후 원래 크기로 볼 수 있습니다.

원칙상 블루프린트 그래프에는 같은 이벤트의 중복이 불가능하므로, 부모와 자손 스크립트 양쪽에 ReceiveBeginPlay 이벤트가 들어있다면 부모 스크립트에 있는 이벤트만 발동됩니다. 자손 스크립트에서 발동되게 하려면, 이벤트에 우클릭한 다음 Add call to parent function (부모 함수로의 호출 추가)를 해 주면 됩니다. 그러면 그에 해당하는 이벤트 호출시 부모 스크립트에 있는 이벤트를 발동시키는 함수가 생성됩니다.