After Effectsで顔のトラッキングを使用してコマ撮り風動画を作る方法

前回まで、二回にわたり、Instagramから一括で画像を保存する方法を紹介してきました。

なぜ、そんなことをしたかったか…という説明の前に、まずはこちらをご覧ください。

ビスケッティ岩橋 Instagramアカウント
https://www.instagram.com/yibmmdur/

よしもと養成所・NSCの同期であるビスケッティ岩橋です。
彼のInstagramが面白すぎて、これをなんとか作品にできないかと思ったのがきっかけです。

ということで、まずは、完成した作品をご紹介します。

これのコマ撮り動画を作りたくて作りたくて、そのためだけに色々と試行錯誤を繰り返してきたわけです。


では、前回からの続き、いきます。

前回までで、トリミング済みの連番画像を用意しました。
今回はそれを動画にしていきます。
とりあえずは、フレームレートを15fpsにしてAfter Effects上に単純に並べてみました。
テストレンダリングしたものがこちらです。

んー…、惜しい。すごく惜しいですよね。
このままでも、そこそこ面白いんですが、なんとなく気持ちよくありません。
何かが足りません…。

そうです。顔の位置と大きさです。
顔の位置と大きさが写真ごとバラバラなので、連続して繋がっているように見えません。

ということで、After Effectsの純正機能を使って、顔の位置を合わせました。
ググっても意外とドンピシャの情報がなかったので、結構試行錯誤して答えにたどり着いたんですが、 せっかくですので今日はその方法をご紹介します。知の共有。

顔情報の検出

まずは、顔の検出機能を使って、目、鼻、口などの位置情報を取得します。
使い方は公式のヘルプに書いてますが、いざやってみると色々と躓いたので、ノウハウを交えながら順を追って解説していきます。

まずは、マスクを作ります。
取得したい人物の顔を全部含めたマスクを書いてください。ちなみに、今回のケースは、画面上に一人しか写ってないので、画面全体を覆っても大丈夫です。
「画面全体を覆うマスクって何の意味があるの?」と思われる方もいると思いますが、レイヤーにマスクが存在しないと次のステップにいけないので、ここはぐっとこらえて作ってください。

こんな感じで、長方形マスクで画面全体を覆いました。すると、タイムライン上のレイヤーにマスクが表示されます。

次に、トラッカーパネルを表示させます。以下の場所にあります。
メニュー > ウィンドウ > トラッカー

おそらく、最初は以下の画面になっていると思います。

ここで、タイムラインパネル上で、先程作ったマスクを選択すると、表示が変わって以下のようになります。

この表示で、方法をクリックし、「顔のトラッキング(詳細な造作)」を選択してください。
そして、分析の項目にある、再生ボタンっぽいやつ(選択したマスクを再生方向にトラック)をクリックすると、分析が始まります。

これで、顔を追跡していきます。

こんな感じで、目、鼻、口、輪郭などの位置情報を検出していきます。

このまま最後まで無事終わればいいんですが、大体の場合、途中で顔を追跡できなくなります。
追跡できなくなると、こんな感じになります。

こうなったら、スペースキーを押して、いったん分析を止めてください。
次に、マスクを削除してください。
「今まで頑張って分析してきたのに、削除していいの?」と思われるかもしれませんが、
顔のデータは、エフェクト内の「顔のトラックポイント」に残っていますので、問題ありません。

マスクを削除したら、おかしくなったフレームに再生ヘッドを持っていき、またマスクで画面全体を覆います。
あとは、その繰り返しです。最後まで分析してください。

分析が終わったら、マスクは削除します。
以下のようになっていればOKです。

分析結果をもとに、目の位置を揃える

では、まずは、目の位置を揃えます。

レイヤーを選択した状態で、ショットカットキー「A」を押して、トランスフォーム内、アンカーポイントを選択状態にします。
そして、メニュー > アニメーション > エクスプレッション を選ぶと、エクスプレッションが追加されます。

ここで、エクスプレッションに以下のスクリプトを入力します。

effect("顔のトラックポイント")("鼻梁")

こうすることで、鼻梁に対してアンカーポイントが設定されるので、眉間の位置を基準に位置が統一されます。
一度再生して確認してみます。サンプル動画を貼っておきます。

これだけでもかなり揃って見えるのですが、顔の大きさが違うので、まだまだパタついて見えます。
ここからスケールを調整します。

顔のスケールを検出し、スケールに反映

まずは、位置の基準にしたいフレームを選択します。
今回は、こちらのフレームを基準にしてみます。

フレームを表示させたら、またレイヤーに適当にマスクを作り、トラッカーパネルの「休息の姿勢を設定」をクリックしたのち、「顔の測定値を検出してコピー」をクリックしてください。

ちなみに、この2つのボタンが表示されない場合、「トラッカーパネル」の下端を下にドラッグしてみてください。単純に、隠れているだけの可能性があります。
僕は、ここでしばらく迷子になりました。皆さんは、同じ過ちを繰り返さないようにしてください。

画像の数によっては、ここでしばらく時間がかかるかもしれませんが、気長に待ってください。

それが終わり、エフェクト欄に、新しい項目「顔の測定」が追加され、さらにその中に「顔のスケール」という項目が確認できればOKです。

あとはもうおわかりですね。
アンカーポイントのときと同じように、スケールのエクスプレッションに、顔のスケールの値の逆数をかけてやればOKです。

スクリプトは以下のとおりです。

temp = effect("顔の測定")("顔のスケール");
[10000/temp, 10000/temp]

一応説明しておきますと、10000/tempの部分は、100*(100/temp)っていう意味です。
顔のスケールの逆数をパーセント表示にしているだけですね。


こうやってできたものに、ちょとした演出を加えると、ついに完成です。
では最後にもう一度、完成版をどうぞ。

以上、顔のトラッキングを利用して、映像のフレームごとの位置とスケールを調整し、ストップモーションっぽく繋ぐ方法でした。

不具合や改善点などがありましたら、ぜひコメントなりメールなりでご教授願います。励みになります。


エピローグを書きました。

「Time goes by」
https://higuchi.world/archives/1059

After Effectsで顔のトラッキングを使用してコマ撮り風動画を作る方法” への3件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。