[Unity] Animation

Jihoon·2022년 3월 21일

Animator

  • Animation의 동작을 위해 객체에 추가되는 컴포넌트
  • Animation 컴포넌트도 존재하지만 레거시 코드이다. (현재는 거의 사용 안함)

Animator Controller

  • Animator 컴포넌트에 추가되야 하는 에셋
  • 객체가 특정 행동을 할 때 어떤 애니메이션이 실행될 지 제어한다.

Animation Blending

  • 애니메이션이 급격하게 변화하는 것을 막기 위해 두 애니메이션을 블렌드한다는 개념
  • parameter 값을 변화하는 것으로 블렌드 된 두 애니메이션 중 어디에 가까워질 지 정할 수 있다.

State 패턴

  • 게임이 커질수록 한 객체가 가지게 될 애니메이션이 많아질텐데, 상태마다 어떤 애니메이션을 쓸지 if else 문으로 처리하면 코드가 너무 복잡해지기 때문에 State 패턴을 이용한다.

State Machine

  • 각 상태마다 표현할 애니메이션을 정하고, 상태의 변화의 흐름을 나타내기 위해 사용한다.
  • 코드로도 상태의 변화를 처리할 수 있지만 State Machine으로 처리하는게 훨씬 보기 편하다.
  • 동작 코드와 애니메이션 상태를 완전히 구분할 수 있다는 장점이 있다.

Keyframe Animation

  • 하나의 객체에 종속적인 애니메이션이 아닌 게임에 대해 의존적인 애니메이션
  • 예를 들면, 새가 배경에서 날아다니는 애니메이션을 만들 때 하늘을 움직이는 애니메이션을 만들고 새에 적용하면 된다.
  • 각 프레임마다 객체의 상태를 변화시키는 것으로 애니메이션을 작성한다.
profile
유니티 클라이언트 개발자

0개의 댓글