본문 바로가기
게임/Unity

Joystick으로 8방향 이동과 Blend Tree Animation 구현

by 신인용 2021. 3. 2.
반응형

 

목표

1. Joystick으로 Player가 움직일 Vector2 만들기

2. Joystick의 Vector2를 이용하여 8방향 이동과 Blend Tree로 Animation 구현

 

 

 

1. Joystick

Joystick은 구현을 해보았기에 구현에 어려움은 없었다.

중요한 건 Joystick으로 만든 Vector2의 범위를 -1 ~ 1 로 만드는 것.

이유는 Blend Tree에서 Horizontal 과 Vertical 로 사용하기 때문. (Horizontal과 Vertical도 -1 ~ 1)

 

임시 그림으로 Joystick을 그려서 나중에 제대로 그릴 때 크기가 바뀔 수 있으니, 바뀌는 크기에 대해 대응하도록 구현해야했음.

 

 

 

2. Blend Tree

Blend Tree Animation

Blend Tree 로 8방향 Animation과 Idle을 구현하였음.

여기서 Joystick에서 나온 Vector를 -1~1 로 사용하는 이유가 나온다.

Horizontal 과 Vertical의 값을 Joystick에서 나온 Vector를 사용할 것이다.

 

이렇게 Animation를 만들면 편했던 것이, 이동을 구현할 때 Joystick에서 나온 Vector에 Speed만 곱해주면 됐다.

주의할 것이 Player 오브젝트는 45도 기울어져 있다. 그래서 이동이 원할하게 되지 않는다. 이를 위해서 똑바로 서있는 부모 오브젝트를 두고, 45도 기울어진 자식 오브젝트를 만들었다. 그리고 부모 오브젝트에 이동을 위해 Rigidbody Component를 넣고, 자식 오브젝트에는 Sprite를 넣었다.

 

 

 

결과

 

 

 

다른 이슈

1. 조이스틱에서 손을 떼면 무조건 정면 Idle만 되버림.

 -> 각 방향 Idle 리소스 작업 필요

 

 

 

반응형

댓글