interface message

인터페이스 메시지는 구현 여부를 확인한 뒤 계약만 호출한다

플레이어 블루프린트는 대상 액터의 구체 클래스를 몰라도 됩니다. BPI_Interactable 구현 여부와 메시지 호출 계약만 맞추면 각 액터가 자기 이벤트에서 반응합니다.

대상

Line Trace가 찾은 액터 참조를 상호작용 후보로 잡습니다.

계약

후보가 BPI_Interactable을 구현했는지만 확인합니다.

결과

구현 액터는 이벤트를 실행하고, 미구현 액터는 조용히 지나갑니다.

Interact Message 호출 점검표

순서 검사 지점 블루프린트 신호 설계 효과
01 후보 액터 Hit Actor 바라본 대상을 상호작용 후보로만 다루고 클래스 이름은 보지 않습니다.
02 구현 여부 Does Implement Interface 부모 클래스보다 “상호작용 가능”이라는 능력을 기준으로 분기합니다.
03 메시지 호출 Interact (Message) 필요한 입력만 전달하고 문, 레버, 버튼 같은 구체 타입 캐스팅을 피합니다.
04 구현 액터 Event Interact 각 액터가 자기 그래프에서 문 열기, 레버 전환, 버튼 실행을 처리합니다.
05 미구현 액터 no implementation 실패 처리는 최소화하고 안내 숨김이나 디버그 기록 정도만 남깁니다.

구현한 쪽

  • BP_Door는 문 열림 애니메이션을 실행합니다.
  • BP_Lever는 상태 토글과 연결 장치를 처리합니다.
  • BP_Button은 눌림 효과와 연결 이벤트를 처리합니다.

호출한 쪽

플레이어는 BP_Door인지 BP_Lever인지 판단하지 않습니다. 계약 구현 여부만 확인하고 메시지를 보내면 새 상호작용 액터가 추가되어도 호출 그래프를 크게 바꾸지 않아도 됩니다.