조작할 값의 저장/복원 (SDK for Cocos Creator)
업데이트: 2023/03/14
개요
이 페이지에서는 Cubism 모델에 ParameterStore를 사용하여 파라미터값과 파츠 불투명도를 저장/복원하는 절차를 설명합니다.
다음은 「SDK 가져오기」, 「UpdateController 설정」을 수행한 프로젝트에 추가하는 것을 전제로 합니다.
CubismParameterStore 정보
Cocos Creator 메뉴에서 「Live2D/Cubism/OriginalWorkflow/ Toggle Should Import As Original Workflow 」를 클릭하여 true 상태로 모델을 가져오면 생성하는 Prefab에는 CubismParameterStore 구성 요소가 설정됩니다.
CubismParameterStore는 AnimationClip이 재생되기 전후에 Cubism 모델의 파라미터값과 파츠 불투명도를 복원하고 저장하는 구성 요소입니다.
이를 사용하면 다른 Cubism의 구성 요소가 Additive 또는 Multiply와 같은 상대적으로 값을 조작할 때 발생하는 버그를 피할 수 있습니다.
Cubism의 컴포넌트가 수행하는 Additive나 Multiply의 블렌드를 통한 값 조작은 직전의 프레임에서 실행한 값 조작이 리셋되어 있는 것을 전제로 한 사양입니다.
AnimationClip에 의해 값이 덮어쓰기된다면, 직전의 값 조작은 덮어쓰기되기 때문에 Cubism의 컴퍼넌트에 의한 값 조작은 정상적으로 동작합니다.
그러나 만약 재생된 애니메이션이 그 값을 조작하지 않는 경우 직전에 조작한 값이 그대로 다음의 업데이트 시에도 남아 계산하는 값이 중복되기 때문에 예상대로의 동작이 되지 않을 수 있습니다.
CubismParameterStore는 애니메이션 처리 직후의 lateUpdate() 타이밍에 자신이 연결된 모델의 모든 파라미터값을 저장하고 다음 프레임의 update()로 저장된 값을 복원합니다.
이렇게 하면 애니메이션에 의해 값이 덮어쓰기되지 않는 파라미터에 대해서도 구성 요소로 정상적인 조작을 수행할 수 있습니다.
기존 방식으로 생성한 모델에서 파라미터의 값과 파츠의 불투명도를 저장/복원시키는 경우 이하의 순서를 실시합니다.
- CubismParameterStore를 연결
1. CubismParameterStore를 연결
모델의 루트가 되는 GameObject에, 값을 저장/복원하는 「CubismParameterStore」를 연결합니다.