시스템 / Interaction

Interaction System

캐릭터에 컴포넌트 하나, 월드의 원하는 대상에 컴포넌트 하나를 추가하세요. 플레이어가 대상을 바라보면 키가 하는 일을 확인하고, 탭하거나 누르고 있어 사용합니다.

작동 영상

쇼케이스 장면에서 50초: 프롬프트, 잠긴 상자, 열쇠, 누르고 있어 채집하기. 소리 없음.

안뜰은 쇼케이스이며 포함되지 않습니다. 제품에는 자체 데모 맵이 들어 있습니다.

주요 기능

시선 감지

캐릭터의 눈에서 작은 구체를 초당 20회 스윕합니다. 도달 거리, 반경, 빈도는 설정값입니다. 1인칭과 3인칭, 어떤 폰에서든 작동합니다.

플레이어의 키를 읽는 프롬프트

키, 동사, 대상 이름("E · Open · Wooden Door"). 키는 입력 매핑에서 가져오므로, 키를 재지정하면 프롬프트도 바뀝니다.

탭과 홀드

홀드는 진행 링을 표시하며, 키를 놓거나 플레이어가 시선을 돌리면 취소됩니다.

잠긴 대상은 이유를 알려 줍니다

프롬프트가 회색으로 바뀌고 "Locked. You need the Iron Key." 같은 이유를 보여 줍니다. 바라보는 동안 잠금을 풀면 프롬프트가 즉시 바뀝니다.

베이스 클래스 불필요

컴포넌트를 사용하거나, 어떤 액터에든 인터페이스를 구현하세요. 상호작용, 포커스, 포커스 해제에 대한 소유자 이벤트를 제공합니다.

단독으로 작동

Demo 폴더와 Art 폴더를 삭제해도 시스템은 컴파일되고 작동합니다. 빈 프로젝트에서 테스트했습니다.

빠른 시작

  1. 캐릭터에 인터랙터 추가

    캐릭터에 AC_Interactor를 추가하고, Interact 액션에서 Start Interact와 Stop Interact를 호출하세요.

  2. 상호작용 가능한 대상 만들기

    액터에 AC_Interactable을 추가하고 Prompt와 Verb를 입력한 뒤, BPI_InteractableOwner를 추가하고 On Interacted를 구현하세요.

  3. 프롬프트 표시

    WBP_InteractionPrompt를 생성하고, 인터랙터와 입력 에셋을 지정한 뒤 뷰포트에 추가하세요.

하지 않는 일

  • 멀티플레이어: 아무것도 리플리케이트되지 않습니다.
  • UE 5.4~5.7은 아직 테스트하지 않았습니다.
  • 시선 감지만 지원: 근접 모드나 탑다운 모드가 없고, 겹치는 대상 간 우선순위도 없습니다.
  • 키보드와 마우스 글리프만 제공합니다. 게임패드는 포함되지 않았으며 테스트하지 않았습니다.

스크린샷의 안뜰 장면은 쇼케이스이며 포함되지 않습니다. 제품에는 자체 데모 맵이 들어 있습니다.

질문

제 캐릭터에서도 작동하나요?
네. 인터랙터는 어떤 폰에든 붙일 수 있고 카메라 컴포넌트가 필요 없습니다. 캐릭터의 눈에서 스윕합니다.
직접 만든 키 아이콘을 사용할 수 있나요?
네. 프롬프트는 입력 매핑에서 키를 읽어 해당 글리프를 표시합니다. 포함된 글리프 26개는 교체할 수 있습니다.
다른 Rookspire 시스템이 필요한가요?
아니요. 자체 폴더 밖에는 의존성이 없습니다.
제작에 AI를 어떻게 사용했나요?
블루프린트와 문서를 생성하는 Python 스크립트를 AI의 도움을 받아 작성했습니다. 모든 시스템과 그 로직, 테스트는 Rookspire가 검토하고 테스트했습니다. 텍스처는 이미지 모델이 아니라 코드와 SVG로 생성했습니다.