06. 표정 모션

표정 모션이란
표정 모션은 별도로 취급됩니다.
Live2D 라이브러리의 AMotion을 상속하고 있기 때문에, 일반 모션과 같이 MotionQueueManager에서 관리할 수 있습니다.
일반 모션은 값을 setParameterFloat으로 설정합니다만, 표정 모션은 값을 상대적인 변화만을 설정합니다.

예를들어, 파라미터A가 0부터 1까지의 변화하는 일반 모션이 있고 표정 모션은 0.5의 값으로 설정되어 있는 모션이 있다고 합시다.
이 경우 일반 모션과 ㅍ정 모션이 동시에 재생하게 되면 파라미터A는 0.5에서 1.5로 변화합니다.
(파라미터가 최대 값을 넘을 경우 값은 최대 값으로 조정됩니다)


구조

파라미터의 ID와 수치를 설정하는 것으로 Animator에서 잡은 모양을 재현할 수 있습니다만 그것은 일반 모션도 가능합니다.
표정 모션은 어디까지나 차이점을 가져와 상대적인 변화를 주는 모션입니다.
JSON파일에서 읽어온 파라미터 수치를 그대로 설정하는 것이 아니라 기본 값에서 가져온 차이만큼의 값을 현재 파라미터에 보충합니다.

예를들어 특정 표정을 지을 때 파라미터 값은 아래의 계산을 거쳐 설정합니다.

파라미터 값 = 일반 모션 값 + 표정 값
           = 일반 모션 값 + (표정 파라미터 값 - 기본 표정 파라미터 값)


JSON설정 파일에 관하여

설정 파일은 JSON(JavaScript 의 오브젝트 리터럴을 기반으로 한 데이터 표현 언어) 포맷으로 기술되어 있습니다.
그렇기 때문에 텍스트 에디터로 확인하거나 사양을 확장하기 쉽습니다.

사양


SDK버전 0.9 이전과 1.0 이후의 차이

표정의 설정은 Live2D SDK 버전 0.9 이전과 1.0 이후가 차이가 있습니다.
0.9 이전 버전은 표정 하나에 대응하여 하나의 표정용 JSON 파일을 준비했습니다만
1.0 이후 버전은 필요한 표정들을 하나의 표정용 JSON 파일에 넣어서 사용합니다.

0.9 이전 버전의 SDK을 1.0 이후 버전에서 사용하기 위해 수정하는 방법은 여기를 참조해주세요.







Comments