유니티 애니메이션 되감기 역재생 해보기

2020. 7. 27. 19:21유니티실습

반응형

안녕하세요 유니티 비기너입니다.

이번 시간에는 애니메이션의 되감기, 역재생 방법에 대해 간단하게 알아보겠습니다.

 

테스트 화면

 

애니메이션의 역재생과 되감기 테스트 화면입니다.

 

재생 버튼을 누르면 애니메이션이 동작하며, 역재생을 누르면 동작중인 애니메이션의 역재생됩니다.

 

애니메이터 컨트롤러

float형의 Reverse, Move 2개의 파라미터를 생성하였으며 위의 이미지와 같이 Transition을 설정하였습니다.

 

PlayerStay가 기본 dafault 상태이며 우에서 좌 버튼이 나 좌에서 우 버튼을 누르면 스크립트에서

 

파라미터 값을 변형하여 애니메이션 모션을 전환합니다.

 

 

애니메이션 인스펙터

LeftToRight Animation Clip입니다.

 

Multiplier에 Parameter를 체크하고 float Reverse의 값을 제어하면 되감기가 가능합니다. 

 

RightToLeft Animation Clip입니다.

 

LeftRoRight와 동일한 Clip을 사용하지만 Speed를 -1로 설정함으로써 역재생이 가능합니다.

 

 

트랜지션

모션 간의 전환은 float형 파라미터 Move의 값을 1.0f 또는 -1.0f로 변형하여 애니메이션을 전환합니다.

 

스크립트

public class AnimationReverse : MonoBehaviour
{
    private Animator anim;

    void Start() {
        anim = GetComponent<Animator>();
    }

    public void LeftWalk() {
        anim.SetFloat("Move", -1.0f);
        anim.SetFloat("Reverse", 1.0f);
    }

    public void RightWalk() {
        anim.SetFloat("Move", 1.0f);
        anim.SetFloat("Reverse", 1.0f);
    }

    public void ReverseButton() {
        anim.SetFloat("Reverse", -1.0f);
    }    
}

 

재생속도를 어떻게 변형하느냐에 따라 되감기, 역재생 모두 표현이 가능합니다.

 

2D 애니메이션을 작업할 때 좌측 애니메이션, 우측 애니메이션을 따로 제작하는 경우가 있는데

1가지의 모션을 제작한 다음 역재생을 통해 2가지 모두를 표현이 가능합니다.

 

이상으로 애니메이션 역재생, 되감기를 사용하는

간단한 방법에 대해 알아보았습니다.

지금까지 읽어주셔서 감사합니다.

 

반응형