VR 프로젝트를 진행하면서 최대한 모션 컨트롤을 활용한 컨텐츠를 만들기로 했다. 그 중 낚시는 다른 버튼을 사용하지 않고 손의 움직임 만으로 구현하여 직관적인 컨텐츠 체험 제공을 목표로 하였다.
아래 사진은 사용하는 모션 컨트롤러의 위치와 머리의 위치를 조정하여 손을 위에서 아래로 내렸을 경우 캐스팅하는 로직
캐스팅을 시작하며 낚시줄이 날라가는 때에 미끼를 생성해 CableComponent 에 부착한다. 이 미끼는 BP_Lake 와 오버랩되었을 때 물고기가 다가올 TargetLocation 이 된다.
미끼와 가장 가까운 물고기를 찾고 미끼로 다가가게 만든다. 상태를 미끼 찾기 상태로 변경 시키고 그에 따라 물고기는 미끼로 이동한다.
미끼에 물고기가 닿으면 물고기는 탈출하기 위한 함수를 실행한다.
일정 시간 안에 손을 다시 들어올리면 물고기 잡은 것을 확인
마지막으로 낚시가 물고기가 보간 값에 따라 올라오고 변수들이 초기화된다.