Ad Block 한번만 꺼주시면 안될까요..?
게임 개발/유니티C#

유니티) 조이스틱을 쉽게 구현하는 방법.

UniCoti(유니코티) 2022. 11. 15.

오늘은 유니티에서 아마 가장 쉽게

조이스틱을 만드는 시간을 가져보도록 하겠다.

 

이 영상은 골드메탈님의 영상을 참고했으며,

에셋스토어의 조이스틱 에셋을 활용한다.

 


가장 먼저, 에셋스토어에 접속하여

저 에셋을 다운로드 해준다.

 

https://assetstore.unity.com/packages/tools/input-management/joystick-pack-107631

 

Joystick Pack | 입출력 관리 | Unity Asset Store

Get the Joystick Pack package from Fenerax Studios and speed up your game development process. Find this & other 입출력 관리 options on the Unity Asset Store.

assetstore.unity.com


그후, 유니티를 켜고

Window -> Package Manager로 이동해준다.

그 후 에셋을 찾아서 다운로드 후 Import 해준다.

그럼 아마 이런 폴더가 하나 생길것이다.

폴더 -> Prefabs로 들어가서,

4개의 조이스틱중 원하는 걸 골라준다.

종류는 이렇게 있으며, 

 

간단히 설명하자면 

Fixed는 자리에 고정된 조이스틱,

Floating은 첫 터치된 위치에 생성되어 고정되는 조이스틱이다

 

나머지 두개는 잘 모르기도 하고 

실질적으로 쓰일일이 많지 않기에

적지 않겠다.


유니티 내에서는 저 프리팹들을 추가하고,

코드상으로는 

float h = PI.joystick.Horizontal;
float v = PI.joystick.Vertical;

rigid.velocity = new Vector2(h,v) * speed * Time.fixedDeltaTime;

이정도로 표현할 수 있다.

h가 조이스틱의 가로이동정도를 나타내고,

v가 조이스틱의 세로이동정도를 나타내어

 

그에따라 속력을 변하게 해주었다.


이상으로 조이스틱을 구현하는법에 대해 알아보았다.

솔직히 이건 매우 간단히 표현한거지

사실 조이스틱을 처음부터 끝까지 표현하려면

이것보다는 확실히 오래 걸린다.

 

하지만 본질은 배울 수 있기에 비추하진 않는다.

항상말하지만 어느정도의 코드는 갖고와도 된다고 생각한다.

사실상 우리가 사용하는 에디터인 유니티의 기능도

어찌보면 미리 만들어둔 코드의 일종이다.

 

우리는 항상 처음부터 모든걸 만들지 않았다.


이상으로 도움이 되었길 바라며,

 

끝.

댓글

💲 추천 글