현실에 존재하는 모든 사물은 필요에 따라 움직이고, 기능을 수행합니다.
이러한 기능은 게임 공간에서 애니메이션으로 구현할 수 있으며 이는 게임에서 중요한 역할을 합니다.
단순한 플레이어와 동물, 몬스터의 움직임을 넘어 사물의 움직임 구현도 애니메이션으로 처리할 수 있습니다.
애니메이션은 게임 오브젝트에게 움직임을 부여하는 기능입니다.
이를 사용해 미리 저장되어 있는 움직임을 적용하거나, 움직임을 만들어 내기도 합니다.
유니티에서 애니메이션을 다루기 위해 다음의 구성요소가 활용됩니다.
단일의 애니메이션을 적용하기 위한 컴포넌트입니다.
객체의 움직임을 미리 정의한(저장한) 파일입니다.
애니메이션 클립을 등록해 두고 객체의 상태에 따라 애니메이션들을 관리하고 재생하는 일종의 작업 지시서입니다.
컨트롤러의 내부는 유한 상태머신(FSM)으로 구현되어 있으며 이는 다음 강의에서 자세한 내용을 다루겠습니다.
애니메이션 컨트롤러를 객체에 적용하기 위한 컴포넌트입니다.
애니메이션간의 전환이 일어날 때 두 애니메이션 클립을 결합하여 자연스러운 움직임을 만드는 도구입니다.
유한 상태머신(Finite State Machine)은 상태를 기반으로 동작을 제어하는 시스템을 구현하기 위한 모델 중 하나입니다.
상태 변화에 따른 객체의 동작이 복잡하고, 여러 가지 조건에 대응해 상태를 변경해야 하는 경우 사용합니다.
유니티에는 애니메이션 컨트롤러가 유한상태머신을 이용해 구현되어 있으며, 부여된 객체의 상태변화에 따른 애니메이션을 유동적으로 관리할 수 있게 합니다.
하나의 파라미터에서는 한 가지의 상태만 가질 수 있고, 다수의 파라미터를 사용해 모델의 움직임과 표현을 사용하기도 합니다.