본문 바로가기

유니티/리듬게임

유니티 리듬게임 에디터 만들기 - 그리드 + 스냅 구현

그리드 + 스냅

시작하고 11월 내로는 대략 완성할 계획이었으나.. 너무 바빠서 사실상 거의 건드리질 못했다.

구체적으로 밝힌적은 없지만 취미도 많고 곧 끝이지만 학업도 진행해야 했고 출시한 앱의 유지보수도 진행해야 했으니 12월은 되어서야 건드려볼 수 있게 되었다.

 

'그래서 무얼 했느냐?'

 

그 대답은 위 이미지로 모든 것을 표현할 수 있을 것 같다.

리듬게임 노트 에디팅을 위한 편의 기능인 그리드 + 스냅 기능의 구현이다.

 

그리드는 배치된 노트끼리의 간격을 육안으로 정확하게 확인하기 힘들기 때문에 존재하고

스냅은 사용자가 항상 대부분 원하는 값에 마우스를 정확히 움직일 수 없기 때문에 존재한다.

이미지를 잘 살펴보면 그리드 라인에 정확히 클릭하지 않아도 가장 가까운 라인을 찾아 노트를 배치해주는 것을 확인할 수 있다.

 

이렇듯 리듬게임 에디터는 노트 패턴을 제작하기 위한 도움이 되는 기능을 제공해야 한다.

 

전부는 아니지만 스냅 기능을 구현하기 위해 작성된 코드 일부다.

여러 메소드로 구분하여 작성할 수 있지만, 일단 시간이 없기에 구현을 목적으로 휘갈겼다. (처참한 삽질의 흔적..)

코드 정리는 내일로 미루는 것!

 

아무튼 다음에 해줘야할 일은

잘 배치 된 오브젝트들의 위치를 노트의 시간값으로 변환하여 외부 파일로 저장해주는 기능을 만들면 될 것이다.