CRIWARE Unity Plugin Manual
Last Updated: 2024-07-12
可以在ADX LipSync获取的口形信息
可获取的口形
ADX LipSync作为解析结果所输出的口型有三种参数类型。
您可以根据角色的口型控制模式进行选择并分开使用。
口形数据(CriLipsMouth.Info)
CriWare.CriLipsMouth.Info
口形数据包含嘴巴纵向张开程度、宽度、舌头高度。
/* 口形数据结构体 */
public
struct
CriLipsMouth.Info {
public
float
lipWidth;
/* 嘴巴宽度(0.0f ~ 1.0f) */
public
float
lipHeight;
/* 嘴巴高度(0.0f ~ 1.0f) */
public
float
tonguePosition;
/* 舌头位置(0.0f ~ 1.0f) */
bool
isLipWidthReleased;
/* 嘴巴宽度是否正在转换至闭合状态 */
bool
isLipHeightReleased;
/* 嘴巴高度是否正在转换至闭合状态 */
bool
isLipToungueReleased;
/* 舌头位置是否正在转换至闭合状态 */
}
适合用于表达口形数据,例如直接以横纵的参数控制嘴巴的模型
或以简单图形进行缩放(scaling)等。
此外,只想以嘴巴张开程度的一元方式来表达口型变化时,可以仅使用嘴巴的纵向打开程度,
实现配合音频的嘴巴开合动作,例如“A”([ɑ])的开口大,而“I”([i])的口形则左右开得小等。
也可以获取舌头高度(纵向位置)的口形数据。
静音时显示为0.0f、舌头顶在牙龈时为1.0f。
可以同时控制嘴巴和舌头动作,实现更真实的角色口形。
注意
输出“舌头高度”参数仍是正在开发的Beta版本功能。
请理解此版本可能无法保证解析结果的质量。此外,规格和操作可能于今后会作重大修改。
注解说明:
静音时输出的口形数据将以嘴巴高度为0.0f、嘴巴宽度为0.583f。此数值可以在 CriLipsMouth.GetInfoAtSilence 获取。
宽度以静音时的值作为基准加减,例如“I”发声时增加宽度、“U”发声时减少宽度等。
因此,在应用程序侧直接参照 CriLipsMouth.Info 进行对口型时,会根据角色数据构造转换并使用该数值。
如本示例中包含的Face_Sample模型一样,数值最大时嘴部张开幅度很大,而口型信息会基于这种设计调整值的大小。
Face_Sample LipHeightOpen模型的最大值
因此,根据要控制的模型的最大嘴巴的大小,如果直接使用lipHeight的值,嘴巴可能不会张得太大,并且动作可能像在嘀咕。
例如,使用log函数等,可以处理从CriLipsMouth.Info.lipHeight获取的值
并执行转换,使其成为适合模型的值,从而可以实现更自然的口型。
单轴口形数据 (CriLipsMouth.OpenInfo)
CriWare.CriLipsMouth.OpenInfo
单轴口形数据。
/* 单轴口形数据结构体 */
public
struct
CriLipsMouth.OpenInfo {
/* 单轴对口型的开口程度(0f ~ 1.0f)*/
public
float
openY;
}
无论是2D还是3D,此类型口形数据对于持有单一类型的口型(变形目标)的角色或使用单一参数控制口型开合的角色
能更好的表达唇音同步。
可以根据每个发音表现其口型开合的唇音同步。
CriLipsMouth.Info.lipHeight 的值会在内部有机的进行平滑化。
而此口型将为中间动作。
另一方面,此单轴口形数据可以为(不画下巴等)非真实角色形象,提供能实现更好的唇音同步效果的输出值。
例如,对于没有日语五元音(A,I,U,E,O)的“笑容”等固定面部表情但持有变形目标的角色模型,以及以音量值为基础的角色模型(例如RMS)也很有效。
注解说明:
本值基于 CriWare.CriLipsMouth.MorphTargetBlendAmountAsJapan 在内部进行多重平滑化处理。
因此,会出现以下限制。
要转换到静音状态时,比
Info
或
MorphTargetBlendAmountAsJapanese
需要更长时间
OpenInfo
的无音状态,可以使用
CriWare.CriLipsMouth.IsAtSilenceForMouthOpen
来判定。
日语五元音变形目标混合量(CriLipsMouth.MorphTargetBlendAmountAsJapanese)
CriWare.CriLipsMouth.MorphTargetBlendAmountAsJapanese
日语五元音(A,I,U,E,O)的混合量。
/* 日语五元音变形目标混合量结构体 */
public
struct
CriLipsMouth.MorphTargetBlendAmountAsJapanese {
public
float
a;
/* 变形目标 "A"([ɑ]) 的混合量(0.0f 以上 1.0f 以下) */
public
float
i;
/* 变形目标 "I"([i]) 的混合量(0.0f 以上 1.0f 以下) */
public
float
u;
/* 变形目标 "U"([u]) 的混合量(0.0f 以上 1.0f 以下) */
public
float
e;
/* 变形目标 "E"([ɛ]) 的混合量(0.0f 以上 1.0f 以下) */
public
float
o;
/* 变形目标 "O"([ɔ]) 的混合量(0.0f 以上 1.0f 以下) */
}
适用于控制日语五元音的BlendShape模型的信息。
发声时,最多同时出现两个元音的混合量,合计将在 1.0f 以下的范囲中增减。
通过混合两个元音的口形,非日语音频也可以显示其自然的口形。
多种不同的口型组合
「口形数据」或「日语五元音变形目标混合量」可以通过一次性的解析同时获取。
也可以使用以上兩种不同口形组合,例如“A,I,U,E,O+舌头高度”。
Next:
适用于ADX LipSync的脸部口形
Copyright (c) CRI Middleware Co., Ltd. 1.8.10