HarmonicMotion (UE)

업데이트: 2024/09/05

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

개요

HarmonicMotion은 지정된 파라미터의 값을 주기적으로 반복하는 기능입니다.
주로 호흡처럼 항상 계속 동작하는 것에 사용합니다.

컴포넌트 취급법

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

동작시키는 파라미터 지정용 컴포넌트

HarmonicMotion은 CubismHarmonicMotionComponent를 CubismModel 액터의 하위 컴포넌트에 추가함으로써 사용할 수 있습니다.

CubismHarmonicMotionComponent는 Parameters의 각 요소에 대해 개별 반복 동작을 실현합니다.  각 BlendMode로 지정된 블렌드 방식에 근거해, Id에 설정된 ID에 해당하는 파라미터에 Value의 값을 적용합니다.

for (FCubismHarmonicMotionParameter& Parameter : Parameters)
{
	if (!Parameter.bEnabled)
	{
		continue;
	}

	UCubismParameterComponent* Destination = Model->GetParameter(Parameter.Id);

	if (!Destination)
	{
		continue;
	}

	Parameter.Value = Parameter.CalcValue(Time, Destination->MinimumValue, Destination->MaximumValue);

	switch (Parameter.BlendMode)
	{
		case ECubismParameterBlendMode::Overwrite:
		{
			Destination->SetParameterValue(Parameter.Value);
			break;
		}
		case ECubismParameterBlendMode::Additive:
		{
			Destination->AddParameterValue(Parameter.Value);
			break;
		}
		case ECubismParameterBlendMode::Multiplicative:
		{
			Destination->MultiplyParameterValue(Parameter.Value);
			break;
		}
	}
}

대상이 되는 파라미터를 추가·삭제하고 싶은 경우 컴포넌트의 Parameters의 요소를 추가·삭제합니다.

Enabled가 true로 설정된 경우 주기적으로 진동하는 값이 적용됩니다.
이 동작은 CubismHarmonicMotionParameter에 준비된 파라미터로 제어할 수 있습니다.

  • Channel

    CubismHarmonicMotionController로 설정된 사인파의 주기 배율을 지정합니다.

    HarmonicMotion에서는 하나의 모델에 대해 여러 주기를 설정할 수 있으며 CubismHarmonicMotionController로 설정할 수 있습니다.

    여기에는 CubismHarmonicMotionController.ChannelTimescales의 인덱스를 설정합니다.
  • Direction

    파라미터의 중심을 기준으로, 어느 범위에서 주기적으로 동작시킬지 설정합니다.

    설정 항목은 다음 3가지입니다.
    • Left : 파라미터의 중심으로부터 왼쪽 절반의 범위만으로 동작합니다.
    • Right : 파라미터의 중심에서 오른쪽 절반의 범위에서만 동작합니다.
    • Centric : 파라미터 전체에서 동작합니다.
  • NormalizedOrigin

    Direction에서 기준으로 할 파라미터의 중심을 설정합니다.

    그 파라미터의 최소값을 0, 최대값을 1로 했을 때의 값을 중심에 설정합니다.
  • NormalizedRange

    NormalizedOrigin으로 설정된 값을 중심에서 값을 동작시키는 진폭을 설정합니다.

    그 파라미터의 최소값을 0, 최대값을 1로 했을 때의 중심으로부터의 이동 거리를 설정합니다.

    이 값은 NormalizedOrigin으로 설정된 중심 위치에서 파라미터의 최소값 또는 최대값까지의 범위만 설정할 수 있습니다.
  • Duration

    파라미터의 주기를 조정합니다.
이 기사가 도움이 되었나요?
아니요
이 기사에 관한 의견 및 요청사항을 보내 주시기 바랍니다.