リップシンク アニメーションをブレンドする

 
 
 

リップシンク アニメーションを作成すると、スピーチ アクション クリップ(SpeechAction)が頭のモデルのミキサに作成されます。このクリップは SpeechBlend オペレータによって制御され、ここには口形素の一連のポーズに対応した、顔の唇、顎、および舌のコントロールのあるリップシンク アニメーションが含まれます。口形素とは、リップ シンク ビュー内のオーディオ クリップに使用される一連の音素を指します。

SpeechBlend オペレータにより、唇、顎、および舌のアニメーションが互いにどのようにスムーズにブレンドされるか、音素間がどのようにブレンドされるかが決定されます。また、リップシンク アニメーションが頭のその他のアニメーション(モーション キャプチャやキーフレーム)、および補正シェイプとどのようにブレンドされるかも決まります。

音素は、唇、顎、および舌の動きの組み合わせで表現されます。これらの口の各部分は、スピーチ アクション クリップで「チャンネル」と呼ばれます。1 つのクリップ内にこれらの 3 つのすべてのチャンネルのアニメーションが揃えば、リップシンク アニメーションを 1 つのエンティティとしてまとめて制御できるため、口形素間をスムーズにブレンドすることができます。なお、クリップ内では唇、顎、および舌のコントロールが別々の F カーブに分割されるので、各チャンネルを個別に制御することができます。

スピーチ クリップを表示するには

  • リップ シンク ビューの[ミキサ]タブをクリックします。

    または

  • [Ctrl]+[0]キーを押して、ミキサをフローティング ウィンドウとして開きます。

ミキサにスピーチ クリップが表示されない場合は、頭を選択し、ミキサのコマンド バーから[更新]アイコンをクリックします。

ミキサについては、「Animation Mixer の概要」を参照してください。

[スピーチ ブレンド](Speech Blend)プロパティ エディタ

  1. [Speech Blend]プロパティ エディタを開きます。

    このプロパティ エディタは、スピーチ クリップを作成すると自動的に表示されますが、必要に応じてリップシンクビューの[Lip Sync(リップシンク)]で[インスペクト](Inspect) [スピーチオプション](Speech Op)を選択していつでも開くことができます。

  2. [Speech Blend]プロパティ エディタで、次のオプションを設定します。

    A

    リップ シンク ビューで表示する音素の言語を、英語と日本語の中から選択します。

    B

    リップ シンク ビュー内のすべての音素で[一般]>[サイレンスの最小値]および[音素の最小値]を設定します。「サイレンスおよび音素の長さの最小値を設定する」を参照してください。

    C

    適切なタブ([唇]、[顎]、または[舌])の各チャンネルを有効または無効にします。「各チャンネルを有効にする」を参照してください。

    D

    適切なタブの各チャンネルで[ウェイト スケール係数]を設定します。「リップ シンク アニメーションのウェイト設定をする」を参照してください。

    E

    適切なタブの各チャンネルで[時間オフセット]を設定します。「各チャンネルの時間オフセットを設定する」を参照してください。

    F

    適切なタブの各チャンネルで[ブレンド]の[減衰]を設定します。「音素間でリップシンク アニメーションをブレンドする」を参照してください。

    G

    適切なタブの各チャンネルで[音素タイプ]パラメータを設定します。「音素のブレンド時に口形素ポーズを保持する」を参照してください。

    H

    口形素の補正シェイプを作成した場合、そのウェイトを[唇]タブの[補正シェイプ]でブレンドすることができます。「補正シェイプをグローバルにブレンドする」を参照してください。

サイレンスおよび音素の長さの最小値を設定する

[一般]パラメータは 3 つのタブで表示されますが、通常はスピーチ クリップのすべてのチャンネル(唇、顎、および舌)に適用されます。

  • [サイレンスの最小値](Min(imum) Silence Length)は、ブレンドに含まれる、音素と音素の間(サイレンス)に発生するギャップの長さ(秒単位)です。

    サイレンスがここに設定した値よりも小さい場合は、ブレンド時に無視され、隣接の音素にブレンドされます。

    逆にサイレンスがここに設定した値よりも大きい場合は、(隣接の音素にブレンドする長さが計算されるとき)ブレンドのサイレンスが音素として処理されます。ただし、あまりにも長いサイレンスは長い音素としては処理されません。長いサイレンスのブレンドは、次に発生する音素の長さと、残りのブレンド量に基づいて制限されます。

  • [音素の最小値](Min(imum) Phoneme Length)は、ブレンドに含まれる音素の長さ(秒単位)です。

    音素がここに設定した値よりも小さい場合は、ブレンド時に無視されます。これは、ブレンド時の短い音素でアニメーションが突然発生し、隣接の音素に合わせて徐々にイーズ イン/イーズ アウトを行う時間が十分にない場合に役立ちます。

各チャンネルを有効にする

[Speech Blend]プロパティ エディタの各チャンネルのタブ(唇、顎、および舌)の[有効](Enable)オプションを切り替えて、該当するチャンネルのアニメーション コントロールがリップシンク アニメーションに使用されているかどうかを確認します。たとえば、リップシンク アニメーションの代わりに、顎を制御するモーション キャプチャを使用する場合は、台詞の長さに合わせて顎の[有効]オプションを無効にします。

また、このオプションをアニメートして、台詞の特定のフレームのみでチャンネルを有効にすることもできます。たとえば、舌のキーフレーム アニメーションを特定の音素で使用する場合、これらの音素のフレームで舌の[有効]オプションを無効にしてキーフレーム アニメーションが優先されるようにし、リップシンク アニメーションを使用するときにもう一度有効にします。

ヒント:1 つのチャンネルを完全に無効にしない場合は、各チャンネル(唇、顎、および舌)の[ウェイト]の値を設定し、アニメートすることもできます。詳細については、「リップ シンク アニメーションのウェイト設定をする」を参照してください。

各チャンネルの時間オフセットを設定する

[Speech Blend]プロパティ エディタ内の各タブ(唇、顎、および舌)の[時間オフセット(秒単位)](Time Offset (seconds))を設定して、チャンネルのブレンド時間をオフセットします。

たとえば、唇と顎のチャンネルのみの音声が 1/8 秒リードするように設定することができます。これにより、口形素と音声をぴったり同期させるよりも仕上がりがよくなる場合があります。または、舌のみを音声よりも 1/4 秒早く動かすことができます。

音素間でリップシンク アニメーションをブレンドする

音素を 1 つひとつ明確に発音する場合や逆にうやむやに発音する場合など、口の動きがより自然になるように音素間でリップシンク アニメーションがブレンドされる方法を変更する必要がある場合もあります(通常、人は話すときには 1 つひとつの音素を明確に発音することはありません)。これを実行するには、[Speech Blend]プロパティ エディタ内の各タブ(唇、顎、および舌)の[ブレンド]パラメータを使用します。これらのパラメータでは、各チャンネル(唇、顎、および舌)がブレンドされる音素数と、各音素で口形素のポーズがどのようにスムーズにイーズ イン/イーズ アウト(減衰)されるかを指定します。

ブレンドに使用される音素数が多いほど、口形素ポーズ間のブレンドがスムーズになります。ただし、音素数があまりに多すぎると、すべての口形素ポーズがはっきりしなくなる場合があります。音素を 1 つひとつ明確に発音する文などで口形素ポーズを適切に定義するには、この値を低めに設定しておきます。なお、逆にブレンドが十分でないと、音素間で口が何度も途切れてしまいます。

[ブレンド]の値をアニメートして、各チャンネルのブレンドをリップシンク アニメーションで変更します。

音素間で各チャンネルのブレンド値を設定するには

次のいずれかを実行します。

  • [Speech Blend(スピーチブレンド)]プロパティ エディタ内の各チャンネルのタブで[ブレンド](Blend) [前/後(音素)](Before/After (phonemes))を設定します。この値は、ブレンドされる現在の音素の前または後の音素数です。

    デフォルト値は、音素が突然発生したり、はっきり聞き取れないといったトラブルを避けるために、唇と顎で 1.5 音素に設定されています。舌のデフォルト値は 1.25 音素に設定されています。

    または

  • リップシンクビューの[Lip Sync(リップシンク)]タブのコマンドバーで、[カーブ](Curves) [唇]/[顎]/[舌]の[ブレンド](Lips/Jaw/Tongue Blend)オプションを設定します。これにより、リップシンク アニメーションで、指定したチャンネルの[ブレンド]>[前/後]の値に相当するカーブが緑色で表示されます。

    リップ シンク ビューの右端に表示される、各チャンネルのブレンド スライダ テキスト ボックスに値を入力します。

ブレンド値をアニメートするには

  1. キーを設定するフレームに移動します。

  2. プロパティエディタまたはリップシンクビュー内のチャンネルのブレンドスライダで、[ブレンド](Blend) [前/後](Before/After)の値を変更します。

  3. [ブレンド](Blend) [前/後](Before/After)パラメータの横にあるアニメーションアイコンをクリックするか、またはリップシンクビュー内のチャンネルのブレンドスライダを移動して、キーを設定します。

    キーを削除するには、キーのあるフレームに移動し、アニメーション アイコンをもう一度クリックします。

ブレンドの減衰値を設定するには

  • [Speech Blend(スピーチブレンド)]プロパティ エディタ内の各チャンネルのタブ(唇、顎、および舌)で[ブレンド](Blend) [減衰](Falloff)を設定します。これにより、対応するチャンネルの各音素で口形素ポーズがどのようにスムーズにイーズ イン/イーズ アウトされるかが制御されます。デフォルト値は 0.4 に設定されており、ポーズの開始と終了がすばやくブレンドされます。

    プロパティ エディタのスライダには表示されませんが、減衰値には -1~1 の値を入力できます。

    • 負の減衰値を入力すると、口形素ポーズが広い範囲でイーズ イン/イーズ アウトされるため、ブレンドがすぐに段階的に実行されます。

    • 正の減衰値を入力すると、口形素ポーズが狭い範囲でイーズ イン/イーズ アウトされるため、ブレンドが後に突然実行されます。

たとえば、キャラクタがゆっくり話す場合は、減衰値を下げて、口形素ポーズをより段階的に音素にブレンドさせます。または、キャラクタが早口で話す場合は、減衰値を上げて、口形素ポーズを急激に音素とブレンドさせます。

音素ごとにブレンド イン/ブレンド アウトの値を調整する

前述したようにブレンド値を設定したら、リップシンク アニメーションで各音素の開始と終了をどのようにブレンドするかを調整することができます。個別の[ブレンド イン]および[ブレンド アウト]コマンドでは、音素内の言語行動に合わせて、さらに多くのコントロールを必要に応じて使用することができます。たとえば、司令官が部隊を大声で呼ぶとき(「Atteeeen-tion!」(気をつけーっ)などの号令)、リップシンク アニメーションを最初は音素でスムーズにブレンドし、最後は短く止めます。

音素ごとのブレンド インおよびブレンド アウトの値が、[Speech Blend]プロパティ エディタのグローバル ブレンド値の上のスケール係数として適用されます。結果は常に、最初に適用したグローバル ブレンド値に依存します。たとえば、グローバル ブレンドの[前/後]の値を 2 音素に設定した場合、ブレンド イン値を 0.5、ブレンド アウト値を 2.0 に設定して、リップシンク アニメーションがその音素の 1 音素前と 4 音素後でブレンドされるようにします。

音素ごとに確認できるブレンド インおよびブレンド アウトの変化はかなり微妙です。これは、グローバル ブレンドの減衰値で最初に設定した減衰によって、音素のウェイトが急に下がるためです。

音素ごとのブレンド イン/ブレンド アウトの値を設定するには

  1. リップ シンク ビューを開きます。「リップ シンク ビュー」を参照してください。

  2. 1 つまたは複数の音素を選択します。

  3. 次のいずれかを実行します。

    • 選択した音素の 1 つを右クリックし、メニューから[ブレンド イン](Blend In)または[ブレンド アウト](Blend Out)を選択し、サブメニューから値を選択します。

      [ブレンドイン]または[ブレンドアウト](Blend In/Out)の値が1.0に設定されている場合は、音素には[Speech Blend(スピーチブレンド)]プロパティエディタのグローバル ブレンドの前/後に設定した値が100%使用されます。0.25~2.5 の範囲内に値を設定できます。値を 2 に設定すると、グローバル ブレンド値が 2 倍になります。

      または

    • 選択した音素の 1 つを右クリックし、メニューから[編集](Edit)を選択します。[Phoneme(音素)]ダイアログボックスで、[ブレンドのオーバーラップ調整](Blend Overlap Adjustment) [イン](In)および[アウト](Out)の値を設定します。

      各パラメータ リストからプリセット値を選択するか、テキスト ボックスに 0 以上の値を入力します。

      [適用]ボタンをクリックして、これらのパラメータの値を選択した音素に適用します。

音素のブレンド時に口形素ポーズを保持する

ブレンドの前/後に高い値を設定すると、口形素ポーズによってははっきりしない場合があります。口形素によってはそれでも問題がない場合がありますが、音素を正しく認識できるように口の形を形成したほうがよい場合もあります。口形素は、「ランドマーク口形素」と呼ばれることがあります。たとえば、両唇音(M、P、および B)では、ここで P の口形素を示すように、口形素ポーズで上唇と上唇が合わさってこれらの音素と識別できるまで調整します。

唇、舌、または顎など使用する口の部分に応じて、口形素となる口の形を保持することができます。各口形素と各音素がどのように分類されて保持されるかを確認するには、現在の Viseme (口形素)ライブラリ内の[USEnglish.csv]ファイル(日本語の場合も同じ)を開きます。ライブラリの各音素は、口の全体のコントロール、顎と舌、または主に舌など、口のコントロールのタイプに応じて分類されます。たとえば、顎と舌が保護された音素では、唇のコントロールがブレンドされ、顎および舌のコントロールが常に正しいシェイプに形成されるようにできます。

各チャンネルのシェイプを保持するには

  • [Speech Blend(スピーチブレンド)]プロパティエディタ内の各タブ(唇、顎、および舌)の[音素タイプ](Phoneme Type) [スケール係数の保持](Preserve Scale Factor)を設定して、対応するチャンネルのウェイトを上げ、口形素のシェイプを保持します。

    値が 1 の場合は、ウェイトが増加されていないことを意味します。1 以上の値を指定すると、対応する音素にそのスケール係数が適用され、ブレンドに変化が確認できますが、ウェイトの増加量は周りの音素に依存します。

    たとえば、ある 1 つの音素では主に顎を使用し、その周りの音素では顎を使用しない場合、ここに 1 以上の値を設定すると、顎を使用する音素のウェイトが増加します。ただし、周りのすべての音素でも顎を使用する場合は、そのすべてのウェイトが増加され、ブレンドですべてが正規化されるため、スケール係数を設定しても何の効果も見られません。

各チャンネルの保持係数の減衰を設定するには

  • [音素タイプ](Phoneme Type) [減衰](Falloff)の値を設定して、保持された音素のスケール係数がどのようにスムーズに音素をイーズインおよびイーズアウトするかを制御します。[減衰](Falloff)の値を 0 に設定すると、同じ一定の減衰が行われますが、-1~1 の範囲内に設定することができます(スライダが表示されない場合は、テキスト ボックスに値を入力できます)。

    • 負の減衰値を入力すると、スケール係数が広い範囲でイーズ イン/イーズ アウトされるため、ブレンドがすぐに段階的に実行されます。

    • 正の減衰値を入力すると、スケール係数が狭い範囲でイーズ イン/イーズ アウトされるため、ブレンドが後に突然実行されます。