セリフに合わせてキャラクターの口を動かすアニメーションの作成 - After Effects

After Effectsでセリフに合わせてキャラクターの口を動かすアニメーションの作成手順を紹介します。

概要

こちらの記事ではAdobe Character Animator を利用して、セリフの音声ファイルに合わせてキャラクターの口を動かすリップシンクのアニメーション作成手順を紹介しました。 手軽にリップシンクアニメーションが作成できますが、セリフの変更があった場合に、Character Animatorまで戻って、音声ファイルの差し替えやタイミング調整をする必要があります。
この記事では、Character Animatorを利用せずに、After Effectsのみで、セリフに合わせてキャラクターの口を動かすアニメーションの作成手順を紹介します。 なお、リップシンクではなく、単純な口パクのアニメーションのため、セリフと口の形状の一致感は若干低いです。

手順

キャラクターの作成

セリフをしゃべるキャラクターを作画します。今回は下図のキャラクターを作画しました。 今回はIllustratorで作画していますが、解像度を高くしてPhotoshopでラスタ画像で作画してもよいです。
口も描画しますが、口は非表示にした状態でキャラクターのベースの絵を用意します。


口は別の画像として準備します。閉じた口の画像です。


軽く開いた口の画像です。


開いた口の画像です。開いた口の画像は2パターン用意しました。


閉じた口の画像です。背景を肌色で塗りつぶしています。この画像は口パクのアニメーションを上書きするための画像です。

コンポジションの作成とキャラクターの配置

After Effectsを起動し、プロジェクトを作成してコンポジションを作成します。具体的な手順はこちらの記事を参照してください。
コンポジション作成後に白色の平面レイヤーを作成します。


先に作成したキャラクターの画像を読み込みます。画像の読み込みと配置の手順はこちらの記事を参照してください。


口の画像も配置します。


キャラクターに口の画像を位置合わせします。こちらは閉じた口の画像の場合です。


軽く口を開いた画像も位置合わせします。


口を開いた画像を位置合わせします。


背景が肌色で塗りつぶされている閉じた口の画像を配置します。

アニメーションの設定

口をパクパクさせるアニメーションを作成します。
キャラクターのベースと、軽く口を開いたレイヤーのみを表示します。


現在の時間インジゲーターを"0"の位置に移動します。 タイムラインの軽く開いた口の画像のレイヤーの項目を展開します。[トランスフォーム]の[不透明度]の項目の左側の[ストップウォッチ]のアイコンのボタンをクリックします。
ボタンをクリックするとタイムラインに菱形のキーフレームが追加されます。


今回のアニメーションでは、透明度を段階的に変えたくないため、キーフレームの補間を無効にしたいです。 作成されたキーフレームをクリックして選択し、右クリックします。下図のポップアップメニューが表示されます。メニューの [キーフレーム補間法]の項目をクリックします。


[キーフレーム補間法]をクリックすると下図のダイアログが表示されます。
[時間補間法]のコンボボックスが"リニア"に設定されています。
コンボボックスをクリックします。ドロップダウンリストが表示されます。リストの[停止]の項目をクリックして選択します。


ダイアログボックスの[OK]ボタンをクリックして設定を反映します。


補間が変更されるとキーフレームの菱形のアイコンが、右側が長方形の表示に変わります。


キーフレームを作成した[不透明度]の値を "0" に設定します。開いた口の画像が完全に透明になり画面から非表示になります。


現在の時間インジケーターを5フレーム目に移動します。


不透明度の値を"100%"に変更します。開いた口の画像が表示された状態になります。


一つ手前のフレームに戻ると、口の開いた画像が非表示になります。


不透明度を100%に設定したフレームになると、口が開いた画像が表示されます。


補足
キーフレーム補間法がデフォルトの[リニア]に設定されている場合、キーフレームで透明度を変更すると、 徐々に透明度が変化するアニメーションになるため、口がパクパク動いているアニメーションには見えなくなってしまいます。



続いて開いた口の画像のレイヤーのノードを展開します。[トランスフォーム]の[不透明度]の項目の左側の[ストップウォッチ]のアイコンのボタンをクリックします。 クリックするとキーフレームが作成されます。[不透明度]の値を"0%"に設定します。完全に透明になるため、開いた口の画像が非表示になります。


先ほどのレイヤーと同じようにキーフレームの補間の設定を変更します。作成したキーフレームをクリックして選択し、右クリックします。 下図のポップアップメニューが表示されます。メニューの[キーフレーム補間法]の項目をクリックします。


[キーフレーム補間法]のダイアログが表示されます。[時間補間法]のコンボボックスをクリックして[停止]に変更します。 変更後、ダイアログの[OK]ボタンをクリックしてダイアログを閉じます。


キーフレームの形状が菱形から長方形に変わります。


現在の時間インジケーターをスライドさせ、8フレーム目に移動します。[不透明度]の値を"100%"に変更します。


値を確定すると、キーフレームが作成され、口の画像が表示された状態に変わります。


一つ手前のフレームに戻ると、小さく開いた口の画像が表示されます。


現在の時間インジケーターを15フレーム目に移動します。開いた口と小さく開いた口のレイヤーの不透明度の値を "0%" に変更します。 キーフレームが作成され、開いた口の画像が非表示になります。


ここまでの設定で、口が開いて閉じるアニメーション1回分が作成できました。
この処理を繰り返すことで、口をパクパクさせるアニメーションになります。ここからは、繰り返しのアニメーションを設定する手順を紹介します。

開いた口のレイヤーの[トランスフォーム]内の[不透明度]の項目をクリックして選択します。右クリックすると、下図のポップアップメニューが表示されます。 ポップアップメニューの[エクスプレッションを編集]の項目をクリックします。


[不透明度]の項目の下に[エクスプレッション:不透明度]の項目が追加されます。タイムラインバーのエリアにtransform.opacityのコードが表示されています。


コードの部分を以下のコードに変更します。
loopOut(type="cycle", numKeyframes=0)


入力を確定します。エラーがある場合にはエラーアイコンやメッセージが表示されます。下図はエラーが発生していない状態です。


同様にもう一つの口のレイヤーの[不透明度]の値にも[エクスプレッションを編集]でエクスプレッションを追加し、同じloopOut関数のコードを入力します。


[プレビュー]パネルで再生します。アニメーションがループして口がパクパクするアニメーションが確認できます。
口の開け方のタイミングなどが自然になるように、キーフレームの位置を調整します。調整した状態が下図です。

セリフの音声と合わせる

セリフの音声ファイルを読み込みます。サウンドファイルの読み込みはこちらの記事の手順を参照してください。


今回は3つの音声のwavファイルを読み込んで使います。


プロジェクトパネルからwavファイルをタイムラインにドラッグ&ドロップします。wavファイルを配置した状態が下図です。


タイムラインを縮小してwavサウンドの長さを確認します。


サウンドのレイヤーのタイムラインのバーをドラッグしてセリフをしゃべらせるタイミングを調整します。


[プレビュー]パネルで再生します。口をパクパクアニメーションしながらセリフの音声が再生できした。 音声が再生されている部分はこのアニメーションでよいですが、セリフの音声が無い無音の部分でも口をパクパクさせているため、 音声が無い無音部分では口を閉じているようにしたいです。


背景が肌色で塗りつぶされた閉じた口の画像のレイヤーを表示します。セリフの無い無音部分はこのレイヤーを表示して口を閉じた状態にします。
タイムラインパネルのレイヤーの項目を展開し、[トランスフォーム]内の[不透明度]の項目のストップウォッチのアイコンのボタンをクリックします。 キーフレームが作成されます。


このレイヤーのキーフレームも他のレイヤーと同様にフレームの補間を無効にします。 キーフレームをクリックして選択し右クリックし、ポップアップメニューの[キーフレーム補間法]の項目をクリックします。


[キーフレーム補間法]のダイアログが表示されます。[時間補間法]のコンボボックスをクリックして[停止]に変更します。 変更後、ダイアログの[OK]ボタンをクリックしてダイアログを閉じます。


[現在の時間インジケーター]をセリフが始まるフレームまで移動します。不透明度の値を "0%" に変更します。 閉じた口の画像が非表示になり、口パクのアニメーションが見える状態になります。


[現在の時間インジケーター]をセリフが終わるフレームに移動します。不透明度の値を "100%" に変更します。 口が閉じた状態になります。


[現在の時間インジケーター]を次のセリフが始まるフレームまで移動します。不透明度の値を "0%" に変更します。
閉じた口の画像が非表示になり、口パクのアニメーションが見える状態になります。


同じ操作を繰り返してキーフレームを配置します。




[プレビュー]パネルで再生します。セリフとアニメーションが自然になっていることを確認します。


動画

完成した動画は以下です。

参考URL

著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。
掲載日: 2021-11-18
iPentec all rights reserverd.