EyeBlink (UE)
最終更新: 2024年9月5日
此页面包含有关Alpha版的描述。
概述
EyeBlink是将开/关值应用于眨眼参数的当前值的功能。
参考此处了解如何在模型上设置眨眼参数。
眨眼用参数可以在模型本身中设置,也可以由用户在Unreal Engine中任意指定。
如何处理组件
通过将CubismEyeBlinkComponent追加到CubismModel Actor的子组件,可以使用Cubism SDK for Unreal Engine中的EyeBlink。
如果在.model3.json中设置了眨眼参数,则会应用默认的自动眨眼动作,因此用户端无需进行设置。
如何追加对象参数
如果在.model3.json中设置了眨眼参数,则载入时CubismEyeBlinkComponent将作为子组件自动追加到CubismModel Actor中,但如果要手动追加EyeBlink的对象参数,请从“详细信息”选项卡中选择CubismEyeBlink,打开底部显示列表中的“Live2D Cubism”→“Ids”,手动重写指定参数的名称,或插入新索引并手动添加参数名称。
参数的应用
CubismEyeBlinkComponent根据BlendMode
中指定的混合方式,将Value
的值统一应用到Ids
中设置的ID对应的所有参数上。
for (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; } } }
如果要追加或删除眨眼的对象参数,需在组件Ids
中追加或删除参数ID。
手动操作值
如果AutoEnabled
设置为false,则可以通过外部操作Value
值将用户任意值批量应用到指定参数。
自动操作值
当AutoEnabled
设置为true时,将应用一个类似于自动眨眼动作的值。可以使用CubismEyeBlinkComponent中提供的参数来控制此动作。
- Mean
指定眨眼时的平均间隔。 - MaximumDeviation
指定眨眼时平均间隔时间的摆动幅度。
StartTime = Mean + FMath::FRandRange(-MaximumDeviation, MaximumDeviation);
- TimeScale
指定动作的时间规模。增加值将使动作变快,减小值将使动作变慢。 - ClosingPeriod
指定眼睛闭上所需的时间。
const float t = TimeScale * (Time - StartTime) / ClosingPeriod; NewValue = 1.0f - t;
- ClosedPeriod
指定闭眼的时间。
const float t = TimeScale * (Time - StartTime) / ClosedPeriod; NewValue = 0.0f;
- OpeningPeriod
指定睁眼所需的时间。
const float t = TimeScale * (Time - StartTime) / OpeningPeriod; NewValue = t;
请问这篇文章对您有帮助吗?
是否