본문 바로가기
Works/Unity 3D

SoulLike 만들기 (2) - 자연스러운 플레이어 움직임 (Animation Blend)

by Vader87 2021. 8. 21.
반응형

Joystick 을 뒤로 하면 캐릭터가 뒷걸음질 치고 옆으로 하면 옆걸음을 하고 하는 식으로 변경해 본다.

단순히 방향에 맞춰 Animation Blending 을 해 줄 것이기 때문에,

BlendType 을 2D Simple Directional 로 선택한다.

VelocityX, VelocityZ Parameter 를 Animator 에 추가 해야 된다.

VelocityX 는 X 값, VelocityZ 는 Y 값에 매칭된다.

여기 까지 하면 방향에 맞춰 애니메이션이 재생은 되는데 방향전환시 휙휙 바뀌어 자연스럽지 못하다.

 

https://docs.unity3d.com/ScriptReference/Animator.SetFloat.html

_animator.SetFloat(_animIDVelocityX, targetDirection.normalized.x, 0.5f, Time.deltaTime);
_animator.SetFloat(_animIDVelocityZ, targetDirection.normalized.z, 0.5f, Time.deltaTime);

dampTime, deltaTime 값을 추가 설정해 주면 자연스럽게 변화한다.

근데 개발을 하다보니 Joystick A, B 두가지로 하나는 움직임, 하나는 뷰 컨트롤을 하게되면 항상 캐릭터 뒷면만 보게 되는 이슈가 생긴다.

이는 원복 해서 움직이는 방향과 바라보는 방향을 원복 시켰다.

InputSystem 이  문제가 됬는데 추가된 이벤트 실행시 에러가 발생했다.

이를 수정하려고 InputAction 을 수정하고, InputSystemUIInputModule 에 추가했는데 이러면 UGUI 에 입력이 되지 않는 이슈가 생겼다.

Default 로 수정해서 해결은 했는데, InputSystem 의 정확한 사용법을 몰라서 발생한 일이지 싶다.

공격 애니메이션 중 움직이지 않도록 하게

StateMachineBehaviour 를 통해 StateExit 이벤트 전까지 움직임을 막는다.

 

발자국 사운드 추가는 애니메이션에 타이밍에 맞게 EventTrigger 를 추가해서 추가 하였다.

https://forum.unity.com/threads/footstep-sounds-and-blending.756410/

 

Footstep sounds and blending

Hello! I'm having some issues with getting footstep sounds to work alongside blending animations. I have 3 animations: idle, walk, run. And there's a...

forum.unity.com

 

방패로 방어 모드에 들어가는 애니메이션을 추가하려고 했는데 처음에 고안하지 않은 구조라 변경이 쉽지않았다. BlendTree 가 복붙 기능이 없어 구조 변경시 새로 만들어야 하나 하고 있었는데, 마침 누군가 만들어둔 툴이 있어 잘 활용하여 수정 하였다.

https://forum.unity.com/threads/mecanim-blend-trees-copy-and-paste.180152/

 

Mecanim - Blend Trees copy and paste?

Quick query - Is it possible to copy and paste blend trees? or rather to move them around. My movement state machine consists of several nested...

forum.unity.com

 

반응형

'Works > Unity 3D' 카테고리의 다른 글

[Unity] OpenUPM 사용법 2  (0) 2021.08.26
SoulLike 만들기 (3) -Postprocessing  (0) 2021.08.22
[Unity3D] Addressable 특징 메모  (0) 2021.07.19
[Unity] OpenUPM - Custom Package 만들기  (0) 2021.05.02
Unity C# DLL  (0) 2021.05.02

댓글