블루프린트 활용하기 7

백승수·2025년 5월 7일

간단한 상호작용 구현 (문 열기 또는 아이템 줍기)

Line Trace란?

  • 눈앞에 있는 오브젝트를 탐지하는 “레이저 광선” 같은 기능
  • 마우스나 키보드로 상호작용 대상 탐지 시 사용됨

인터랙션 키 바인딩

  • 키보드 입력을 통해 특정 이벤트 실행
  • 일반적으로 E키나 마우스 클릭에 매핑

직접 구현해보기

[Step 0] Interact 입력 Mapping 추가

  • Edit → Project Settings → Input
  • Action Mappings에 Interact(키: E) 추가
    • E 키 이벤트를 블루프린트에서 찾기 위함

[Step 1] 문 또는 아이템 블루프린트 생성

  • 새 Actor 블루프린트 생성 (BP_InteractableDoor 또는 BP_PickupItem)
  • Static Mesh 추가 (문 / 아이템 등으로 보이게 설정)
  • 생성한 BP_InteractableDoor/BP_PickupItem 에디터에서
    • Components 탭의 Static Mesh 선택
    • Collision Presets → BlockAll 설정
    • Line Trace가 오브젝트를 정확히 감지

[Step 2] 상호작용 범위 구현(Line Trace)

  • MyCharacter 블루프린트에 Line Trace by Channel 노드 추가
  • E 키 입력 → Line Trace → Hit된 오브젝트 태그 확인 → 이벤트 실행

    blueprint
    복사편집
    E Pressed → LineTraceByChannel → BreakHitResult → Check Tag → Custom Event 실행

[Step 3] 문 열기 or 아이템 줍기 로직 추가

  • 문이면: SetRelativeRotation으로 회전값 변경
  • 아이템이면: Destroy Actor로 사라지게 처리

[Step 4] 태그 설정 & 테스트

  • 상호작용 대상 블루프린트에 Tag: Interactable 설정
  • 게임에서 캐릭터가 E 키를 눌러 상호작용 되는지 테스트


느낀점

  • 직접 블루프린트 함수를 만들어 오브젝트를 조작할 수 있다는 점이 매우 재밌었다
  • Tag를 활용하면 같은 키를 눌러도 액터마다 다르게 작동할 수 있다는 것을 알게 되었다

0개의 댓글