본문 바로가기

유니티/그래픽스

[Unity] Alembic 애니메이션 사용법 (.Abc file)

반응형

Alembic Animation?

기존에는 DCC툴에서 제작한 의류, 깃발, 파티클 등의 애니메이션을 엔진에서 사용하기가 매우 까다로웠다.

그래서 별도의 파티클 시스템과 셰이더를 사용해서 비슷한 효과를 제작해야 했다.

그러나 모델링 툴에서 정교하게 제작된 vertex animation에 준하는 퀄리티를 기대할 수는 없었다.

 

Unity의 경우 Alembic을 공식적으로 Package Manager를 통해 지원하므로, 해당 플러그인을 받고 빌드까지 할 수 있다. (21.03 버전기준 모바일에서는 사용할 수 없다)


어떻게 사용할 수 있을까?

기본 세팅

먼저 DCC툴에서 .Abc형태로 export 된 파일이 있어야 한다. (블렌더 예시)

그리고 유니티 Package Manager에서 Alembic을 설치받는다.

 

씬을 열고 .Abc를 씬 위에 올려두면 다음과 같은 형태가 된다.

 

여기서 Alembic Stream Player가 Vertex animation을 실행할 수 있도록 도와준다고 생각하면 된다.

 

그냥 이렇게 올려진 상태에서 타임라인이나 스크립트로 Time 변수를 변경하여 애니메이션을 조절해도 되지만,

좀 더 간편하게 애니메이터를 사용하는 방법을 포스팅하고자 한다.


애니메이터와 애니메이션 클립

우선 씬 위의 오브젝트로 부터 애니메이션 클립을 생성해야 한다.

.Abc 파일 우클릭 / Create / Animaion

위와 같이 씬(하이어라키) 위의 게임 오브젝트(프리팹)를 선택한 후 Create를 눌러서 생성한다.

 

그러면 아래처럼 애니메이션 탭이 생기는데, Add Property를 통해 Alembic stream player 스크립트의 current time 멤버변수를 선택하여 키프레임으로 담을 수 있도록 한다.

Add Property / Script / Current Time

 

키프레임을 적절히 배치하고

 

애니메이터에 Controller가 잘 들어갔는지 확인한 다음 실행해 보면

위 영상처럼 유니티에서도 alembic animation이 잘 실행되는 것을 확인할 수 있다.

반응형