본문 바로가기

프로젝트/Cat - Simulator

VR 낚시 기능 구현

 

 

 

 

VR 프로젝트를 진행하면서 최대한 모션 컨트롤을 활용한 컨텐츠를 만들기로 했다. 그 중 낚시는 다른 버튼을 사용하지 않고 손의 움직임 만으로 구현하여 직관적인 컨텐츠 체험 제공을 목표로 하였다.

 

 

아래 사진은 사용하는 모션 컨트롤러의 위치와 머리의 위치를 조정하여 손을 위에서 아래로 내렸을 경우 캐스팅하는 로직

캐스팅 준비과정으로 손을 머리 위로 올려 마치 던질 준비 하듯이 손을 움직이게 만든다.
다음으로 손을 내렸을 때 캐스팅을 시작한다.

 

 

 

캐스팅을 시작하며 낚시줄이 날라가는 때에 미끼를 생성해 CableComponent 에 부착한다. 이 미끼는 BP_Lake 와 오버랩되었을 때 물고기가 다가올 TargetLocation 이 된다.

낚시 시작시 미끼를 생성하고 Cable 에 부착한다.

 

낚시줄 끝에 미끼를 부착한다.

 

계산된 벡터를 이용해 미끼를 날아가게 만든다.

 

 

미끼와 가장 가까운 물고기를 찾고 미끼로 다가가게 만든다. 상태를 미끼 찾기 상태로 변경 시키고 그에 따라 물고기는 미끼로 이동한다.

 

 

FSM 으로 TargetLocation 으로 이동되어진다.

 

 

미끼에 물고기가 닿으면 물고기는 탈출하기 위한 함수를 실행한다.

탈출함수 실행

 

 

 

 

일정 시간 안에 손을 다시 들어올리면 물고기 잡은 것을 확인

 

낚시줄이 당겨져서 플레이어에게 물고기가 다가오는 함수 실행

 

 

마지막으로 낚시가 물고기가 보간 값에 따라 올라오고 변수들이 초기화된다.