미니 프로젝트

유니티 : 미니 프로젝트#1(완) - 낚시 게임을 따라 만들어 보자

근본넘치는개발자 2024. 8. 28. 17:39

 

최근에  "아일랜드 타임 ~느긋한 농장생활~" 이라는 모바일 게임을 접했다.

간단히 설명하자면 모바일 버전의 스타듀벨리 되시겠다. 

 

아직 출시된 지 한 달 정도밖에 안돼서 콘텐츠가 많이 없긴 하지만
농장류 게임을 처음 접해서 그런가 재미있더라. 

 

" 아일랜드 타임 ~느긋한 농장생활~"  낚시 장면

 

 

플레이 하면서 낚시 미니 게임이 있길래

유니티를 활용해 간단하게 따라 만들 수 있을 거 같아서 시도해 봤다. 

 

유니티로 따라 만든 낚시 게임 영상

 

물고기 이미지는 빙 이미지 크리에이터를 통해 만든 걸 사용했다.

 

구조를 간단하게 설명하자면 


OnTriggerStay2D로 물고기가 판정 범위 안에 있으면

게이지가 올라가고 끝까지 도달하면 CancleInvoke를 통해 물고기가 멈추도록 했다. 

 

좌우 버튼을 통해 물고기의 행동에 맞게 범위를 움직일 수 있도록 했고,

기존 게임처럼 범위에 들어오면 초록색, 벗어나면 빨강으로 보이게 했다.

 

물고기의 움직임은 Random.Range를 활용해 

방향과 움직이는 속도를 랜덤하게 정할 수 있도록 했고,

이를 Invoke를 통해 불러와 계속 변할 수 있도록 했다. 

 

 

진행하면서 겪었던 문제 사항들

1. OnTrigger2D를 사용할 때 범위 안에 있더라도 일정 시간 반응이 없으면

정해진 횟수만 실행하고 멈춘다. (24번 실행하더라)
 -> Rigidbody 설정 중 SleepingMode에서 neverSleep으로 바꿔주어 해결했다.

2. UI RectTransform의 Pos값은 anchoredPosition을, 

width와 Height는 sizeDelta를 사용한다. 

 

3. 버튼을 누른 상태를 유지하도록 하고 싶으면 EventTrigger를 사용하면 된다.

-> PointerDown과 PointerUp 사용

 

4. 색상을 변경할 때는 r, g, b, a 파라미터 모두 0~255 사이의 값이 아닌,

0~1사이의 실수 형태라 / 255를 해줘야 적용이 된다.

 

 

간단해 보였는데 1번 때문에 진행하면서 생각보다 시간이 오래 걸렸다. ;;
 

개선할 점

물고기 이미지도 랜덤하게 바꿀 수 있는 로직이 추가로 필요할 거 같다. 

-> 스크립터블 오브젝트를 활용하면 이미지뿐만 아니라

물고기 특성에 맞는 기능 추가도 쉽게 할 수 있을 것으로 보인다.