본문 바로가기

유니티

유니티 조이스틱 구현하다가 황당한 경험

????????

잘보면 자동차의 조향축인 앞바퀴는 양옆으로 제대로 이동하고 있음을 알 수 있다.

하지만 앞으로 가기 위해 조이스틱을 앞으로 땡기면 뒷바퀴만 돌고 앞바퀴는 꿈쩍도 하지 않는 현상이 발생했다.

 

처음에는 휠콜라이더에 힘이 제대로 가해지지 않는 것으로 알고

로그

로그를 찍어봤지만 값은 제대로 전달이 되고 있었다.

 

참고로

 당시 Unity Remote 앱을 이용하여 스마트폰으로 조이스틱 테스트를 위해 사용하는 환경이었다.

참고로 조이스틱은 유니티 에디터내에서도 마우스로 조작이 가능했기에 더욱 문제를 해결하는데 어려움이 있었다.

 

 

그리고

여러 방면으로 원인을 수정하기 위해 진행하다가

움직일 수 있게 된 트리거를 알아냈다.

 

움직여지긴하는데..

그 트리거는 정말 이해하기 어려운 동작이였다.

 

실행 - 연결된 스마트폰의 전원버튼을 눌러 화면을 끈다 - 에디터에서 마우스로 조작(전진가능)

 

??????????????

 

여기까지 보면 단순히 터치조작에 문제가 있었던 것이 아니냐 의문을 가질 수 있지만

스마트폰화면을 끄지 않은 상태에서 에디터에서 마우스로 조작해도 앞으로 가지 않았기에 터치조작에는 문제가 없었다.

 

도대체 무엇이 문제일까 하고 온갖 디버깅이며 테스트의 소요시간이 7시간이 되어갈 무렵

 

"찾았다.."

 

조이스틱을 추가하기 전까지는 자동차 테스트를 위해 GetAsix 코드를 이용하여 키보드 조작을 하고 있었다.

조이스틱을 조작했을 때 자동차의 바퀴가 움직이는 코드를 비활성화해두고

키보드를 조작함과 동시에 코드가 비활성화 되어있는 조이스틱을 당겼더니 같은 현상이 발생되었다.

 

똑같이 뒷바퀴만 돌고 앞바퀴만 꿈쩍하지 않는 현상이 나타난 것이다.

 

설마 조이스틱의 입력값이 키보드 조작을 위한 GetAxis에도 영향이 가는 것일까 하고

해당 부분들을 전부 주석처리 했더니

조이스틱 조작으로 앞으로 잘 가는 것이었다.

 

 

와.. 정말 해결되는 순간 마음이 평온해지고 뭔가 이 찝찝한 불쾌감이 다 날아가버렸다.

보이지 않는 위협 너무 무섭다