블로그 / 튜토리얼
Interaction 시스템은 플레이어가 보는 대상을 어떻게 판단하는가
상호작용 시스템이 가장 먼저 답해야 하는 질문은 말하기는 쉽지만 틀리기도 쉽습니다. 플레이어가 무엇을 보고 있는가? Rookspire Interaction System은 캐릭터에 붙는 컴포넌트 하나, AC_Interactor로 이 질문에 답합니다.
선이 아니라 구체
카메라에서 쏘는 라인 트레이스 하나로는 얇은 물체를 놓치고, 몇 픽셀만 빗나가도 플레이어가 불이익을 받습니다. 인터랙터는 대신 작은 구체를 스윕합니다. 캐릭터의 눈에서 시작해 설정한 도달 거리만큼 앞으로 나아갑니다. 처음 맞은 상호작용 가능한 대상이 포커스가 됩니다.
카메라가 아니라 눈에서 시작하므로 카메라 컴포넌트 없이도 1인칭과 3인칭, 어떤 폰에서든 작동합니다.
초당 20회
스윕은 기본적으로 매 프레임이 아니라 초당 20회 실행됩니다. 프롬프트가 즉각적으로 느껴질 만큼 빠르고, 비용은 무시할 수 있을 만큼 작습니다. 도달 거리, 반경, 빈도는 컴포넌트의 설정값입니다.
상태는 매번 다시 읽습니다
감지할 때마다 대상의 상태를 다시 읽습니다. 프롬프트, 동사, 활성화 여부와 비활성화된 이유입니다. 그래서 플레이어가 바라보는 동안 상자의 잠금을 풀면, 연결할 이벤트 없이도 프롬프트가 즉시 바뀝니다.
시선을 돌리면 홀드가 취소됩니다
시간제 홀드에서는 키를 놓거나 다른 곳을 보면 홀드가 취소됩니다. 따라서 플레이어가 약초를 채집하기 시작한 뒤 진행이 계속 차오르는 상태로 걸어가 버릴 수 없습니다.
위의 모든 내용은 Interaction System 빠른 시작과 매뉴얼에 있습니다.