티스토리 뷰

오늘은 새 게임 씬을 작업했다. 지금 만드는 게임이 기획을 간단하게 정리하면 e-sports 팀을 FM 처럼 관리하는 게임이라 맨 처음에 팀 및 감독(자기 자신)의 프로필을 설정해야 한다.

 

근데 게임의 목표중 하나가 조이패드로만 플레이해도 전혀 플레이에 지장이 없을 것이어서, 이 부분에서 좀 고생을 많이 했다. 유니티 기본 UI로 필요한 기능들을 다 집어넣기가 쉽지 않았고 특히 텍스트 입력이 가장 어려운 부분이었다. 나중에 가상 키보드를 자체적으로 구현해서 넣을 생각인데 일단 오늘 그걸 다 구현하기엔 양도 너무 많고 당장 중요한 이슈는 아닌 듯 해서 살짝 뒤로 미뤘다.

 

다만 InputField가 입력을 완료하는 걸 코드 상에서 Return 키 코드만 반응하게 되어 있어(IME 조합 모드 때문인듯. 이게 켜진 상태에서 인풋 모듈이 다른 키 입력을 받아들이지를 못한다) 조이패드 Submit에는 아예 반응을 안 하는데, 이런 부분만 살짝 고친 컴포넌트를 만드는 정도로 하고 넘어갔다. 땜빵이라 나중에 다시 손 봐야할 것 같지만.. 이건 가상 키보드 작업할 때 다시 보는 걸로.

 

여기에 덧붙여 Localization 적용하는 것도 컴포넌트 자체를 좀 수정해서, 내부적으로는 키 값을 들고 있되 화면에 렌더링될 때에만 실제 텍스트로 보이게끔 바꿔서 좀 더 자연스럽게 동작하게 만들었다.

 

그리고 UI 작업하면서 자연스럽게 입력 처리 작업도 필요해져서 입력 관련 작업도 진행했다. 기존 유니티 입력 시스템이 워낙 구렸어서 이참에 새로 만들어진 인풋 시스템 적용해봤는데 확실히 훨씬 괜찮았다. 다만 유니티 엔진 내부에서 아직 기존 인풋 시스템 기반으로 짜여있는 부분이 많아 이게 좀 아쉽긴 하다.

 

아무튼 그렇게 해서 오늘은 새 게임 씬 UI 배치만 완료했다. 기본 UI로만 채워놓으니 너무 허접해보이긴 하는데 뭐 디자인은 나중에 적용하면 되니까.. UI를 조이패드 대응해서 동작 가능하게 수정하는 거랑 조이패드 기반의 L/R select 컴포넌트 만드는데 시간을 생각보다 너무 많이 써서 예상보다 작업이 좀 늦어진 점이 아쉽다. Input System쪽도 안 써봤던 거라 약간 헤맸고. L/R select 컴포넌트는 생각대로 동작하지 않는 부분이 좀 있어서 내일 약간 더 만져야 할 듯.

 

내일은 이제 여기서 세팅한 값 따라 플레이어 / 팀 생성하고 인게임 UI중 수신함 부분 완성하는게 목표. 여유가 좀 더 된다면 대회 생성 및 각 팀들 정보 생성하는 부분도 좀 작업하고..

댓글
공지사항