목표
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 로 8방향 Animation과 Idle을 구현하였음.
여기서 Joystick에서 나온 Vector를 -1~1 로 사용하는 이유가 나온다.
Horizontal 과 Vertical의 값을 Joystick에서 나온 Vector를 사용할 것이다.
이렇게 Animation를 만들면 편했던 것이, 이동을 구현할 때 Joystick에서 나온 Vector에 Speed만 곱해주면 됐다.
주의할 것이 Player 오브젝트는 45도 기울어져 있다. 그래서 이동이 원할하게 되지 않는다. 이를 위해서 똑바로 서있는 부모 오브젝트를 두고, 45도 기울어진 자식 오브젝트를 만들었다. 그리고 부모 오브젝트에 이동을 위해 Rigidbody Component를 넣고, 자식 오브젝트에는 Sprite를 넣었다.
결과
다른 이슈
1. 조이스틱에서 손을 떼면 무조건 정면 Idle만 되버림.
-> 각 방향 Idle 리소스 작업 필요
'게임 > Unity' 카테고리의 다른 글
3D에서 2D Sprite Depth 처리 (0) | 2021.03.01 |
---|---|
[Unity 이론] Admob 연동 (0) | 2020.02.29 |
[Unity 이론] Google + Firebase 로그인 (12) | 2020.02.27 |
[Unity 2D] Indicator (1) | 2020.02.17 |
[Unity 2D] 조이스틱을 이용한 부드러운 캐릭터 이동 (4) | 2020.02.13 |
댓글