LookAt (UE)

最終更新: 2024年9月5日

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

概述

LookAt是操作任意参数追随特定座标的值的功能。
可以通过Actor在指定等级内的位置变换值来设置跟随的座标。

如何处理组件

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

如何指定对象参数

如果要追加LookAt的对象参数,请从“详细信息”选项卡中选择CubismLookAt,并打开底部显示列表中的“Live2D Cubism”→“Parameters”,在插入新索引时创建的索引列表“Id”中手动添加参数名称。

参数的应用

CubismLookAtComponent实现了针对Parameters各元素的单独跟踪动作。根据每个BlendMode中指定的混合方法,将Value的值应用于Id中设置的ID对应的参数。

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

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

	if (!Destination)
	{
		continue;
	}

	switch (Parameter.Axis)
	{
		case ECubismLookAtAxis::X:
		{
			Parameter.Value = Parameter.Factor * LastPosition.X;
			break;
		}
		case ECubismLookAtAxis::Y:
		{
			Parameter.Value = Parameter.Factor * LastPosition.Y;
			break;
		}
		case ECubismLookAtAxis::Z:
		{
			Parameter.Value = Parameter.Factor * LastPosition.Z;
			break;
		}
	}

	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,则可以通过将跟踪对象Actor的参考追加到Target,将基于相对于模型原点的Actor相对位置的值应用于指定参数。

如果没有可供参考的Actor,则请在等级内生成一个跟踪对象的Actor。
可以使用CubismLookAtParameter中提供的参数来控制此动作。

  • Axis
    指定要跟踪的座标中参考哪个轴值。
  • Factor
    指定跟踪量的倍率。值越大,则参考座标值的跟踪量也越大。
  • Smoothing
    指定跟踪座标的跟踪平滑度。
    值越大,则对跟踪座标变化的响应越平滑。
请问这篇文章对您有帮助吗?
关于本报道,敬请提出您的意见及要求。