HarmonicMotion (UE)

最終更新: 2024年9月5日

此页面包含有关Alpha版的描述。

概述

HarmonicMotion是一种定期重复指定参数值的功能。
它主要用于呼吸等不断动作的事物。

如何处理组件

可以通过将CubismHarmonicMotionComponent追加到CubismModel Actor的子组件来使用Cubism SDK for Unreal Engine中的HarmonicMotion。

用于指定要动作的参数的组件

可以通过将CubismHarmonicMotionComponent追加到CubismModel Actor的子组件来使用HarmonicMotion。

CubismHarmonicMotionComponent为Parameters的各元素实现单独的重复运动。 根据每个BlendMode中指定的混合方法,将Value的值应用于Id中设置的ID对应的参数。

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

    以参数的中心为基准,设置周期动作的范围。

    有以下三个设置项目。
    • Left:它仅在参数中心的左半部分动作。
    • Right:它仅在参数中心的右半部分动作。
    • Centric:它在参数全体动作。
  • NormalizedOrigin

    在Direction中设置要用作基准的参数中心。

    以该参数最小值为0、最大值为1时的值为中心进行设置。
  • NormalizedRange

    设置使值从NormalizedOrigin中设置的值的中心动作的幅度。

    设置该参数最小值为0、最大值为1时,从中心移动的距离。

    该值只能设置在NormalizedOrigin设置的中心位置到参数的最小值或最大值的范围内。
  • Duration

    调整参数周期。
请问这篇文章对您有帮助吗?
关于本报道,敬请提出您的意见及要求。