LipSync (UE)

最終更新: 2024年9月5日

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

概述

LipSync是根据设置的音源文件的音量将值应用于嘴巴开合参数值的功能。除了手动操作之外,还可以根据为组件设置的参数自动操作值。

如何处理组件

可以通过将CubismLipSyncComponent追加到CubismModel Actor的子组件,可以使用Cubism SDK for Unreal Engine中的LipSync。

如果在.model3.json中设置了口形同步的参数,载入时CubismLipSyncComponent将自动作为子组件追加到CubismModel Actor中,因此用户端无需进行设置。

如何追加对象参数

如果在.model3.json中设置了口形同步参数,则载入时CubismLipSyncComponent将作为子组件自动追加到CubismModel Actor中,但如果要手动追加LipSync的对象参数,请从“详细信息”选项卡中选择CubismLipSync,打开底部显示列表中的“Live2D Cubism”→“Ids”,手动重写指定参数的名称,或插入新索引并手动添加参数名称。

参数的应用

CubismLipSyncComponent根据BlendMode中指定的混合方式,将Value的值统一应用到Ids中设置的ID对应的所有参数上。

for (const FString& Id : Ids)
{
	UCubismParameterComponent* Destination = Model->GetParameter(Id);

	if (!Destination)
	{
		continue;
	}

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

自动操作值

AutoEnabled设置为true时,将应用一个类似于自动口型同步动作的值。可以使用CubismLipSyncComponent中提供的参数来控制此动作。

  • TimeScale
    表示动作的时间规模。增加值将使动作变快,减小值将使动作变慢。

设置音源

如果AutoEnabled设置为false,则可以通过将音源数据参考追加到Source,将根据来自音源音量的值应用于指定参数。可以使用CubismLipSyncComponent中提供的参数来控制此动作。

  • Gain
    指定从音源获取的音量的增益——即放大系数。如果增大,则应用的值也会增大。
  • Smoothing
    根据从音源获取的音量指定嘴部动作的平滑度。
    值越大,嘴巴动作对音量变化的响应越平滑。
请问这篇文章对您有帮助吗?
关于本报道,敬请提出您的意见及要求。