모션 관리자에 관하여

Live2D의 모션은 Live2D Animator에서 익스포트한 자체 포맷 파일입니다.

모션 데이터에는 모델에서 사용하는 파라미터의 ID와 각 프레임에서의 파라미터 수치 값의 배열이 기록되어 있습니다.
모션을 재생할 때 파일을 불러와 모션 관리자에게 데이터를 전달하여 재생함으로써 모델을 움직입니다.
여기서는 Live2D 모션의 개념을 올바르게 설명하기 위해 조금 추상적인 설명이 될 수 있습니다.
구체적인 설명은 개별 링크를 읽어주세요.
モーションの再生(通常)


그림1. 모션의 재생

모션 파일은 보통 여러개가 있으며, 이 중에서 재생할 모션을 불러와 모션 관리자에게 전달합니다.
즉 모션은 모션 관리자를 통하여 모델의 파라미터를 변경합니다.
여기서 update를 호출하지 않으면 모델과 모션이 동기화되지 않습니다. 즉, 모션은 재생되지 않습니다.
그리고 모션 시작의 신호인 start를 호출하지 않으면 update를 아무리 호출해도 모션은 재생하지 않습니다.



하나의 모션 관리자에서 다루는 모션은 기본적으로 하나입니다만, 새로운 모션을 재생하면 기존에 재생 중이던 모션을 잠시 참조합니다.
이는 페이드 아웃으로 부드럽게 파라미터를 변경해 모션을 전환을 하기 때문입니다.
モーションの再生(フェード)
フェードの図
그림2. 모션 페이드 인/아웃

모션A를 재생 중일 때, 모션B를 재생할 경우, 페이드 처리가 됩니다.
페이드 시간의 기본 설정은 페이드인 1000ms, 페이드아웃 1000ms 입니다.
이 사이에는 두 개의 모션이 동시에 재생되는 모양입니다만, 약 1초후에 완전히 모션B로 전환됩니다.



하나의 모델에 적용 가능한 모션 관리자의 수에는 제한이 없습니다.
예를들어, 오른손 모션을 다루는 모션 관리자와 왼손 모션을 다루는 모션 관리자를 따로 준비하여,
서로 다른 타이밍에 모션을 제어하는 것도 가능합니다.
モーションの再生(複数)
그림3. 모션 동시 재생

각 모션 관리자는 다른 모션 관리자로부터 독립되어 있기 때문에, 각각의 모션들끼리는 영향을 받지 않습니다.
모션 관리자가 여러개 있을 경우, 프로그램에서 관리하는 것은 쉽습니다만, 모션을 만들 때는 약간의 주의가 필요합니다.
모션 동시 재생에서는 각각의 모션 관리자에서 각각 다른 파라미터를 다뤄야합니다.
여러 개의 모션 매니저가 같은 파라미터를 변경하는 경우, 마지막에 적용된 모션 관리자가 파라미터를 덮어쓰게됩니다.
그렇기 때문에 오른손 모션 관리자는 오른손에 관련된 파라미터만, 왼손 모션 관리자는 왼손에 관련된 파라미터만을 다뤄야합니다.


같은 파라미터를 여러 개의 모션 관리자가 다루는 것에 대한 문제는 표정 모션으로 해결할 수 있습니다.
표정 모션은 표정의 변량만을 가감하는 방법을 사용했습니다.
자세한 것은 "표정 모션에 관하여"의 튜토리얼을 읽어주세요.



Comments