Unity

[Unity][팁, 방법] 애니메이션 파라미터 사용하지 않고 소스 제어

usingsystem 2022. 10. 13. 20:56
728x90

아래와 같이 파라미터가를 사용하지 않고 소스 제어 방법

1. Play사용하기

public PlayerState State
	{
		get { return _state; }
		set { 
		
		_state = value;

            Animator anim = GetComponent<Animator>();
			switch (_state)
			{
				case PlayerState.Die:
                    anim.Play("WAIT");
                    break;
                case PlayerState.Idle:
                    anim.Play("WAIT");
                    break;
                case PlayerState.Moving:
                    anim.Play("RUN");
                    break;
                case PlayerState.Skill:
                    anim.Play("ATTACK");
                    break;
            }
		}		
	}

2. CrossFad사용하기 

CrossFad인자값 4개중 마지막을 0으로 한다면 무한루프를 돌게 할 수 있다.

public PlayerState State
	{
		get { return _state; }
		set { 
		
		_state = value;

            Animator anim = GetComponent<Animator>();
			switch (_state)
			{
				case PlayerState.Die:
                    anim.CrossFade("WAIT", 0.1f);
                    break;
                case PlayerState.Idle:
                    anim.CrossFade("WAIT", 0.1f);
                    break;
                case PlayerState.Moving:
                    anim.CrossFade("RUN", 0.1f);
                    break;
                case PlayerState.Skill:
                    anim.CrossFade("ATTACK", 0.1f,-1,0);
                    break;
            }
		}		
	}

 

728x90