1枚の写真を立体的に動かす~深度マップとディスプレイスメントマップを使って
はじめに
【カぶ旅#22】プリン食べに大分へ! part2:水族館&プリン編 よりプリンの写真を立体的に見せるシーンの制作方法を解説します。
作業手順さえ覚えれば非常に手軽に視差表現を実現できる、おすすめの方法です。
素材
動かしたい写真 1枚
使用ソフト
Adobe After Effects (Aviutlでも可)
Adobe Photoshop
手順1:深度マップを作る
深度マップとは画像の奥行き情報を色で示した画像です(手前にあるほど白く、奥にあるほど黒く塗ったもの)。本記事での「立体的に動かす」はこの深度マップを元に手前と奥の視差を作り出すことで実現する…のですが、普通のカメラでは深度情報を撮影することはできません。
じゃあどうするのかというとすごい人たちが作ったソフトの深度マップ自動生成機能を利用します。ここではPhotoshopに搭載されているニューラルフィルターのひとつ「深度ぼかし」を利用します。
画像を開き「フィルター」→「ニューラルフィルター」から「深度ぼかし」を有効化します。
オプションの「深度マップのみ出力」にチェックを入れてOKで適用します。
フィルターを適用した白黒画像を保存します。
手順2:深度マップとディスプレイスメントマップを組み合わせる
AfterEffects(またはaviutl)に写真と深度マップを取り込み動かします。
同じスケール(倍率)で配置したあと、下記のようにエフェクトを設定します。
この状態でディスプレイスメントマップの「最大水平置き換え」または「最大垂直置き換え」を弄ってみましょう。
ディスプレイスメントマップはエフェクトにセットした「マップ」の濃淡に従って画像を変形させるエフェクトです。今回はマップレイヤーに深度マップをセットし、濃淡における変形量の割合をコントロールすることで「手前(奥)にあるピクセルほど大きく変形させる」、すなわち遠近感があるかのような動きを実現しています。
なお深度マップに「ブラー(ガウス)」をかけているのは深度マップのエッジ(濃淡の差が大きいところ)で変形が破綻する影響を軽減するためです。どの程度ブラーをかけるかは現物合わせで調整します。
最後にディスプレイスメントマップの「最大水平置き換え」「最大垂直置き換え」にキーフレームを打ち、時間に応じて変形具合を変化するようにすれば完成です。
おまけ1:aviutlで編集する場合
aviutlの場合は下記のツイートを参考にエフェクトを設定してみてください。
おまけ2:深度マップの応用先
深度マップは「奥行きに応じてぼかす=ピント位置の前後をぼかす」という表現にも活用できます。After Effectsだと「ブラー(カメラレンズ)」を適用し、「ブラーマップ」に深度マップのレイヤーを指定、「ブラーの焦点距離」を変更することで後からピント位置を調整することができます。
参考
この手法を取り入れて作成した動画です。