口形同步设置

最終更新: 2020年1月30日

这里将说明如何使模型从AudioSource的音量进行口形同步(口型同步)。
以下说明以追加到已执行[SDK载入~置入模型]的项目为前提。

为了从AudioSource获取音量并进行设置,请另行准备一个可以由Unity处理的格式的音频。

概述

口形同步设置使用Cubism SDK中名为MouthMovement的组件。
 

要在Cubism模型上设置MouthMovement,请执行以下三个处理:

1. 附加管理口形同步的组件
2. 指定口形同步的参数
3. 设置操作指定参数值的组件

附加管理口形同步的组件

将管理口形同步、名为CubismMouthController的组件附加到作为模型根的GameObject上。

CubismMouthController有两个设置项目。

– Blend Mode:针对当前为指定参数设置的值,指定如何计算Mouth Opening值。

Multiply:将Mouth Opening值正片叠底到当前设置的值。
Additive:将Mouth Opening值加算到当前设置的值。
Override:用Mouth Opening值覆盖当前设置的值。

– Mouth Opening:嘴巴开合的值。1视为张嘴、0视为闭嘴状态。当从外部操作该值时,指定参数的值也会联动。

此次将Blend Mode设置为[Override]。

指定口形同步的参数

在[模型]/Parameters/下,置入了管理该模型参数的GameObject。
另外,这个GameObject中设置的名称就是参数的ID。
附加到这些GameObject的CubismParameter与您可以使用CubismModel.Parameters()获得的项目相同。

从该GameObject中,将名为CubismMouthParameter的组件附加到ID被视为口形同步的组件。

通过以上设置,您将能够进行嘴巴开合的操作。
但是,仅依靠上述设置,即使执行也不会进行口形同步。

为了自动进行口形同步,还需要设置操作CubismMouthController的Mouth Opening值的组件。

设置操作指定参数值的组件

将口形同步输入用组件附加到作为模型根的GameObject。

MouthMovement包含作为输入范例,根据AudioSource的音量和Sin波操作嘴巴开合值的组件。

此次附加一个名为CubismAudioMouthInput的组件,以便您可以从AudioSource设置值。

CubismAudioMouthInput 有以下四个设置项目。

– Audio Input:设置用于输入的AudioSource。使用此处设置的AudioSource中附加的AudioClip的音量。
– Sampling Quality:设置要采样的音量的精度。以下设置的阶数越低,精度越高,但计算负载越大。

– High
– Very High
– Maximum

– Gain:设置以多少倍的值处理采样音量。1为等倍。
– Smoothing:设置从音量计算的开/关值平滑化多少。值越高,则越平滑,但也会增加计算负载。

此次设置如下。请在Audio Input中设置附加AudioSource的GameObject。

– Sampling Quality:High
– Gain:1
– Smoothing:5

最后,要获取音量,请将AudioSource附加到任意GameObject,并将其设置为上述CubismAudioMouthInput的Audio Input。

这样就完成了口形同步设置。

如果您在此状态下运行场景,将播放AudioSource中设置的音频,并且将根据其音量对模型进行口形同步。

请问这篇文章对您有帮助吗?
关于本报道,敬请提出您的意见及要求。