2013年1月13日日曜日

PhotoshopのタイムラインでAfter Effefctsのようにトラックマットを使う方法

Photoshop Extendedのタイムライン操作をしているときにAfter Effectsのようにトラックマットが欲しい!って思っていたんだけれども、このやり方がマニュアルにはのってない。やり方はすご~く簡単です。

Photoshopだと特定の範囲を隠すのに使う、グレースケールのレイヤーマスクってのがあるけれど、これがアニメーションができない。他にもパスで作るベクターマスクがあるけれど、これもAfter Effectsのパスのように形状変化はさせられないので、単純にパスの場所を動かしてキーフレームを打つしか無いので使いにくい。ただまあ、レイヤーマスクの場合は、例えばグループにレイヤーマスクをつけて、そのグループの親のグループを作りそのグループにも別の形状のレイヤーマスクをつけて、それぞれのレイヤーマスクの可視性にキーフレームを打てば何とか形状変化をさせることができるけれど、これも作れるレイヤーグループの階層に制限があるので実用的ではない。なのでこの2つのマスクは両方共アニメで使うのには心もとない。

なので別の方法を。適当なビデオレイヤーを用意して、コマごとにマスクしたい範囲を描いてやる。んでそのビデオレイヤーのレイヤースタイルの「高度な合成」欄で「塗りの不透明度」を0%にして、ノックアウトオプションを浅いか深いに設定してやればいい。これでこのビデオレイヤーは描画した範囲がマスクに使える。After Effectsでいう、トラックマットのような使い方ができるわけ。

例えば、特定のビデオレイヤーの特定の範囲だけを非表示にしたいならマスク用のビデオレイヤーとその特定のビデオレイヤーをグループ化してマスク用のビデオレイヤーを上述のように設定し、ノックアウトを浅いに設定してやれば、そのグループの中にあるレイヤーのみ非表示にしてくれるので、特定のレイヤーのみマスクができるようになる。

マスクの不透明度を変化させたいときは、ノックアウトの設定をしたレイヤーの不透明度を変更してやればいい!なんて便利なんだこの野郎!


これに気づくまでフツーにレイヤーグループにマスクを描いてそれをアニメーションさせてました。時間をかなり浪費したぜこの野郎。


追記
もしくは、クリッピングレイヤーでもいける。切り抜き元のビデオレイヤーの塗りを0%にして、レイヤースタイルの高度な合成で「クリップされたレイヤーをまとめて描画」のチェックを外す。こうすれば元のビデオレイヤーがクリッピングされたビデオレイヤーを切り抜いてくれる。