문제 해결

모바일 이동 UI 문제(조이스틱 적용 안됨 + 부캠 대회 결과 후기)

맛난과자 2024. 9. 11. 16:44

 

부캠의 디펜스 포폴로 제출한 프로젝트를 모바일에서 구동이 가능하게 하기 위해 조이스틱을 만드려고 했다.

 

대회가 끝난터라 빠르게 프로젝트를 마무리 하기 위해서 유니티 에셋을 활용하여 만들었는데...

 

 

안된다....

 

움직이지를 않는다.

회전은 되는데 걷는 모션도 적용이 되지 않는다.

 

디버그 로그를 해봤더니 한 번 조이스틱을 사용한 후로는 조이스틱을 쓰지 않을 때에도 Horizontal(moveDir.x) 과 Vertical(moveDir.z)이 0이 아닌 값이 나왔다.

 

그게 문제인가 싶어서 조건에 Horizontal과 Vertical을 쓰지 않고 드래그 여부를 확인하는 bool 변수를 넣어 코드를 짜봤다.

 

똑같이 움직이지 않는다...

 

키보드로 움직일 때 transform이동이 아닌 RigidBody.MovePosition 함수를 사용했기에 조이스틱에도 똑같이 적용을 했던게 문제인 것 같아서 이번에는 transform을 바로 이동 시켜 비물리 이동을 시켜보았다.

 

어디가세요....?

 

중심에서 멀어질수록 속도가 더 빨라지는 것을 알 수 있었다.

 

조이스틱 에셋의 스크립트를 제대로 살펴보지 않은 내 불찰이었다. 

 

여튼 이것을 보아하니 조이스틱 스크립트쪽에서 움직임을 제어하고 있다는 것을 깨달았다.

 

 

 

동시에 나의 키보드 이동 로직을 보고 깨달은 것이 있다.

 

나는 미끄러지는 것이 싫어서 Input.GetAxisRaw를 사용했다.

 

이것이 무슨 말이냐하면, 방향의 값이 -1, 0, 1 만 있다는 것이다.

 

그러나 조이스틱은 중심과 멀어짐에 따라 -1에서 1 사이의 다양한 값을 반환한다.

 

즉, 조이스틱은 나의 이동 로직과 맞지 않다는 것이다.

 

그래서 이동 버튼 형식으로 바꾸기로 했다.

 

이게 내 결론이다.

 

왜이생각을진작못했을까진짜7시간만에이걸깨달아서다행이지하루지났으면지쳐서어쩔뻔했어진짜간지가뭐라고ㅜㅜㅜ

그치만조이스틱이더멋있어.

 

사실 조이스틱도 일반 조이스틱이 아니라 플레이어가 아무 곳을 터치해서 드래그하면 플레이어가 터치한 곳을 중심으로 조이스틱처럼 사용할 수 있는 동적 투명 조이스틱을 만들고 싶었다.

 

다음에는 꼭 구현해봐야지.

 

 

 


 

 

아 그리고,

 

나 대회 2등했다아아아아아아아아아아ㅏ아아아아아아앙

 

 

엉엉 남치니가 제출한 포폴 유튜브 영상을 보고 진짜 잘했다고 어떻게 이렇게 빨리 실력이 오를 수 있냐고 진짜 1등할 것 같다고 칭찬을 엄청해주어서 살짝 기대하긴 했지만 진짜 2등할 줄은 몰랐다. 투표할 때 나보다 잘했다는 생각이 든 분들이 꽤 있어서 순위권내에 못 들거라 생각했는데 이렇게 2등을 하게 되어 영광이다. 이렇게 좋아하는 일하면서 성취감을 느낄때마다 정말 행복하다.

 

https://www.youtube.com/watch?v=ROTa6BdAK0U&t=65s

뿌듯

 

 

이번 대회를 하면서 정말 많은 것을 배웠다. 

쉐이더 그래프, json DB, 스탯 관리까지 뭐랄까나 배움의 장벽을 부순 느낌이랄까나.

뿌듯하고 내가 정말 자랑스럽다.

이렇게만 꾸준히 하자.