Untitled

Untitled

Honeycam 2024-02-19 13-36-25.gif

이전의 CharacterController 컴포넌트를 이용해 플레이어 캐릭터를 움직이는 스크립트에,

걷고, 뛰는 조작을 더해주기 위해 InputSystem에 OnRun을 추가해주고 다음과 같이 스크립트를 작성하였다.

private void OnRun(InputValue inputValue)
 {
     if (inputValue.isPressed)
     {
         isWalk = false;
     }
     else
     {
         isWalk = true;
     }
 }
 

 void Move()
 {
     if(isWalk)
     {
         controller.Move(transform.right * moveDir.x * walkSpeed * Time.deltaTime);
         controller.Move(transform.forward * moveDir.z * walkSpeed * Time.deltaTime);
         //animator.SetFloat("XSpeed", moveDir.x * walkSpeed); //점진적으로 보간해가며 바꿔주자
         animator.SetFloat("XSpeed", moveDir.x * walkSpeed, 0.2f, Time.deltaTime); //damping을 넣어줄 수 있음
         animator.SetFloat("YSpeed", moveDir.z * walkSpeed, 0.2f, Time.deltaTime);
         animator.SetFloat("MoveSpeed", moveDir.magnitude * walkSpeed);
     }
     else
     {
         controller.Move(transform.right * moveDir.x * moveSpeed * Time.deltaTime);
         controller.Move(transform.forward * moveDir.z * moveSpeed * Time.deltaTime);
         animator.SetFloat("XSpeed", moveDir.x * moveSpeed, 0.2f, Time.deltaTime);
         animator.SetFloat("YSpeed", moveDir.z * moveSpeed, 0.2f, Time.deltaTime);
         animator.SetFloat("MoveSpeed", moveDir.magnitude * moveSpeed);
     }
 }

Damping을 넣어주기 이전

Honeycam 2024-02-19 13-59-42.gif

Honeycam 2024-02-19 14-02-52.gif

매개 변수가 0, 4, 8로만 바뀌어 모션이 전환 될 때 툭툭 끊기는것을 볼 수 있다.

#Damping을 넣어준 후

Honeycam 2024-02-19 13-58-45.gif

Honeycam 2024-02-19 14-03-49.gif

매개 변수가 선형적으로 넘어가 모션이 부드럽게 재생될 수 있다.