CRIWARE Unity Plugin Manual  Last Updated: 2024-07-12
CriLipsShapeForAtomSource
注意
从SDK ver.3.06.00开始,不推荐使用本组件(除部分Unity版本外)。
请考虑切换到 CriLipsDeformerForAtomSource
通过使用与 CriAtomSource 协同的组件 CriLipsShapeForAtomSource ,
可以在不编写代码的情况下使用Unity编辑器的设置来使用ADX LipSync的口型同步。


exp4u_overview_crilips_image01.png


  1. 在 CriLipsShapeForAtomSource 组件中设置 CriAtomSource 和 Skinned Mesh Renderer

  2. 在已设置的 CriAtomSource 中输入要播放的音频的采样率


使用从 CriAtomSource 播放的音频中解析的嘴部形状信息,自动控制Skinned Mesh Renderer的混合形状。
您可以在SDK示例的“ [CriAtom]使用LipSync插件的口型同步 ”中确认实际的使用方法。

注意
使用ADX LipSync进行音频解析时,需要预先指定输入波形的采样率。
建议对要播放的音频数据使用相同的采样率。
要播放具有不同采样率的音频数据时,请调用CriLipsAtomAnalyzer.SetSamplingRate 进行设置。
注解说明:
* 如下图所示,可以在 BlendShapeType 选项卡中在嘴部形状和日语五元音变形目标混合量数据间切换。


exp4u_overview_crilips_image02.png


关于 CriLipsShape.BlendShapeType 为 WidthHeight 时的设置项目 WidthOpen, WidthClose :

exp4u_overview_crilips_image03.png

CriAtomSource 协同组件 CriLipsShapeForAtomSource 的 CriLipsShape.BlendShapeType 为 WidthHeight 时,
设置项目 WidthOpen, WidthClose 是以 CriLipsMouth.Info.lipWidth 的値会按以下方式来处理并进行变形(Morphing)。
如此处理的理由是静音时的 CriLipsMouth.Info 的高度为0.0f、宽度为0.583f。
(此数值可以从 CriLipsMouth.GetInfoAtSilence 获取。)
criLipsMouth.GetInfoAtSilence(out silenceInfo);
silenceWidthPosition = silenceInfo.lipWidth;
...
float lipWidthOpen = 0.0f;
float lipWidthClose = 0.0f;
if (info.lipWidth> silenceWidthPosition) {
lipWidthOpen = (info.lipWidth - silenceWidthPosition) / (1.0f - silenceWidthPosition);
} else {
lipWidthClose = (silenceWidthPosition - info.lipWidth) / (silenceWidthPosition);
}
...