오늘 학습 키워드

유니티 심화

오늘 학습 한 내용을 나만의 언어로 정리하기

유니티 심화

플레이어 상태머신 만들기

public interface IState  
{  
    public void Enter();  
      
    public void Exit();  
  
    public void HandleInput();  
  
    public void Update();  
  
    public void PhysicsUpdate();  
}
public abstract class StateMachine  
{  
    protected IState currentState;  
  
    public void ChangeState(IState state)  
    {  
        currentState?.Exit();  
        currentState = state;  
        currentState?.Enter();  
    }  
  
    public void HandlerInput()  
    {  
        currentState?.HandleInput();  
    }  
  
    public void Update()  
    {  
        currentState?.Update();  
    }  
  
    public void PhysicsUpdate()  
    {  
        currentState?.PhysicsUpdate();  
    }  
     
}
  • 여기서 만든 Update는 MonoBehaviour 생명주기에 있는 그 업데이트와는 별개임

만약에 모션이 적용이 안된다면…

  • 트랜지션의 우선순위를 바꿀 수 있음!