애니메이션과 FSM

COrollaROOT·2025년 5월 14일

개요

현실에 존재하는 모든 사물은 필요에 따라 움직이고, 기능을 수행합니다.

이러한 기능은 게임 공간에서 애니메이션으로 구현할 수 있으며 이는 게임에서 중요한 역할을 합니다.

단순한 플레이어와 동물, 몬스터의 움직임을 넘어 사물의 움직임 구현도 애니메이션으로 처리할 수 있습니다.

애니메이션

애니메이션은 게임 오브젝트에게 움직임을 부여하는 기능입니다.

이를 사용해 미리 저장되어 있는 움직임을 적용하거나, 움직임을 만들어 내기도 합니다.

유니티에서 애니메이션을 다루기 위해 다음의 구성요소가 활용됩니다.

  • 애니메이션(Animation)

단일의 애니메이션을 적용하기 위한 컴포넌트입니다.

  • 애니메이션 클립(Animation Clip)

객체의 움직임을 미리 정의한(저장한) 파일입니다.

  • 애니메이션 컨트롤러(Animation Controller)

애니메이션 클립을 등록해 두고 객체의 상태에 따라 애니메이션들을 관리하고 재생하는 일종의 작업 지시서입니다.
컨트롤러의 내부는 유한 상태머신(FSM)으로 구현되어 있으며 이는 다음 강의에서 자세한 내용을 다루겠습니다.

  • 애니메이터(Animator)

애니메이션 컨트롤러를 객체에 적용하기 위한 컴포넌트입니다.

  • 블렌더(Blender)

애니메이션간의 전환이 일어날 때 두 애니메이션 클립을 결합하여 자연스러운 움직임을 만드는 도구입니다.

FSM

유한 상태머신(Finite State Machine)은 상태를 기반으로 동작을 제어하는 시스템을 구현하기 위한 모델 중 하나입니다.

상태 변화에 따른 객체의 동작이 복잡하고, 여러 가지 조건에 대응해 상태를 변경해야 하는 경우 사용합니다.

유니티에는 애니메이션 컨트롤러가 유한상태머신을 이용해 구현되어 있으며, 부여된 객체의 상태변화에 따른 애니메이션을 유동적으로 관리할 수 있게 합니다.

하나의 파라미터에서는 한 가지의 상태만 가질 수 있고, 다수의 파라미터를 사용해 모델의 움직임과 표현을 사용하기도 합니다.

profile
"시들지 않는 꽃"

0개의 댓글