Unreal Engine

[Unreal Engine] 간단한 상호작용 구현

programmer-faust 2025. 5. 16. 22:54
  1. 개념 요약
    • Line Trace
      • 눈앞에 있는 오브젝트를 탐지하는 "레이저 광선"같은 기능
      • 마우스나 키보드로 상호작용 탐지 시 사용됨
    • 인터랙션 키 바인딩
      • 키보드 입력을 통해 특정 이벤트 실행
      • 일반적으로 E 키나 마우스 클릭에 매핑
  2. 구현 과정 요약
    1. Interact 입력 Mapping 추가
      • Edit > Project Settings > Input
        • Action Mappings에 Interact(키: E) 추가
        • E 키 이벤트를 블루프린트에서 찾기 위함
    2. 문 또는 아이템 블루프린트 생성
      • 새 Actor 블루프린트 생성하기(BP_InteractableDoor 또는 BP_PickUpItem)
      • Static Mesh추가(문/아이템 등으로 보이게 설정)
      • 생성한 BP_InteractableDoor/BP_PickupItem 에디터에서
        • Components 탭의 Static Mesh 선택
        • Collision Presets > BlockAll 설정
        • Line Trace가 오브젝트를 정확히 감지함
    3. 상호작용 범위 구현(Line Trace)
      • MyCharacter 블루프린트에 Line Trace by Channel 노드 추가
      • E 키 입력 > Line Trace > Hit된 오브젝트 태그 확인 > 이벤트 실행
    4. 문열기 or 아이템 줍기 로직 추가
      • 문이면: SetRelativeRotation으로 회전값 변경
      • 아이템이면: Destroy Actor로 사라지게 처리
    5. 태그 설정 & 테스트
      • 상호작용 대상 블루프린트에 Tag: Interactable 설정
      • 게임에서 캐릭터가 E 키를 눌러 상호작용 되는지 테스트
  3. 느낀 점 & 개선하고 싶은 점