Expression (UE)

업데이트: 2024/09/05

이 페이지에는 알파 버전에 관한 설명이 포함되어 있습니다.

개요

Expression은 현재의 파라미터의 값에 표정용 파라미터의 값을 가산 또는 곱셈해 설정할 수 있는, Cubism의 표정 모션을 취급하는 기능입니다.

표정 기능 설정 파일은 .exp3.json 형식으로 내보내집니다.
표정의 구조에 대해서는 여기를 각각 봐 주세요.

컴포넌트 취급법

Cubism SDK for Unreal Engine의 Expression은 CubismExpressionComponent를 CubismModel 액터의 하위 컴포넌트에 추가하여 사용할 수 있습니다.

.model3.json에 .exp3.json의 패스가 설정되어 있는 경우 가져오기 시에 자동으로 CubismModel 액터에 CubismExpressionComponent가 하위 컴포넌트로 추가되기 때문에 사용자 측에서의 설정은 불필요합니다.

표정 모션 재생 방법

모델을 가져오면 .exp3.json이 Unreal Editor용 .uasset으로 변환되어 CubismExpressionComponent의 Jsons 배열에 추가됩니다.
Unreal Editor에서는 Jsons에 등록된 재생하려는 모션의 인덱스를 Index로 지정하여 표정 모션을 적용할 수 있습니다. Index가 배열의 인덱스 범위를 벗어나면 적용되지 않습니다.
모션 등록 순서는 에디터상에서 임의로 변경 가능하며, 일반적으로는 불필요하지만 사용자가 임의로 모션을 추가·삭제하는 것도 가능합니다.

모션의 재생/정지를 제어하는 경우는 CubismExpressionComponent에 준비되어 있는 다음의 함수를 사용합니다.

UFUNCTION(BlueprintCallable, Category = "Live2D Cubism")
void PlayExpression(const int32 InIndex);

UFUNCTION(BlueprintCallable, Category = "Live2D Cubism")
void StopAllExpressions(const bool bForce = false);
  • PlayExpression
    • InIndex
      재생하려는 모션의 Jsons에서의 인덱스를 지정합니다.
  • StopAllExpressions
    • bForce
      true를 지정하면 페이드를 적용하지 않고 강제로 정지합니다.
      false를 지정하면 페이드를 적용하는 방식으로 정지합니다.

업데이트 순서에 대하여

CubismExpressionComponent는 표정 모션의 업데이트 처리를 담당하지만, 그 업데이트는 CubismParameterStoreComponent의 업데이트 후에 적용됩니다.
이는 CubismExpressionComponent가 실시하는 업데이트가 다음 프레임에 영향을 주지 않게 하기 위해서입니다.
CubismExpressionComponent 업데이트 후에 CubismParameterStoreComponent::LoadParameters()를 호출하면, 의도하지 않은 동작이 될 우려가 있습니다.

이 기사가 도움이 되었나요?
아니요
이 기사에 관한 의견 및 요청사항을 보내 주시기 바랍니다.