3DCGに After Effects でモーションブラーを加える方法

# はじめに

3DCGでモーションブラー表現を適用する方法を説明します。モーションブラーを加えることで、カクカクした感じが消えてより自然な動きにすることができます。

![Screen Shot 2017-09-22 at 8.20.21.png](https://qiita-image-store.s3.amazonaws.com/0/74764/1c05d6da-c9b9-fe97-f805-242920bafc98.png)

## 注意

ここで説明する方法では、 [ReelSmart Motion Blur](http://revisionfx.com/products/rsmb/after-effects/) という有償のプラグインを利用しています。[フラッシュバックジャパン](http://www.flashbackj.com/revision_effects/motionblur/)から購入できます。体験版が無償で利用できますので、効果を試してから購入を検討することができます。

## 環境

- Autodesk Maya 2017 Update 5
- Arnold5.0.1.0 (MtoA 2.0.1)
- AfterEffects CC 2017


# モーションブラーを加える方法

ボケ表現を加える方法として、以下の方法が挙げられます。

- Arnold でのレンダリング
- AfterEffects でのコンポジット

レンダリングでモーションブラーを加える方法については、 SolidAngle の[マニュアル](https://support.solidangle.com/pages/viewpage.action?pageId=63799813)を参照してください。
[ボケ表現を加える方法](https://qiita.com/karasusan/items/8caa8e33c1d7d16d6d8f)の投稿で説明したように、レンダリング工程でブラーを適用すると、コンポジットの工程で手戻りが発生する可能性があります。ここでは、コンポジット工程でのモーションブラーの適用について説明します。

## モーションベクター

コンポジットの工程でモーションブラー効果を加えるには、**モーションベクター**を利用します。モーションベクターとは、RGBで表現された動きの情報のことです。Rは横方向、Gは縦方向の情報を含んでいます。Bは通常は使用されません。

![Screen Shot 2017-09-22 at 22.29.39.png](https://qiita-image-store.s3.amazonaws.com/0/74764/081b3ff5-5b52-53c4-a5a0-fc81def0ea17.png)

上の画像では、動きのない部分は濃い黄色で表されています。濃い黄色部分は RGB で表すと **(127, 127, 0)** となっています。
モーションベクターの特徴をまとめます。

- R が横方向
- G が縦方向
- B は利用しない
- 移動量が 0 のとき、色の値の範囲の真ん中（255 が最大のとき **127**）

上記のモーションベクターを色情報と一緒に Maya から書き出せば、コンポジットでモーションブラーを適用することができます。

# 手順

大まかに以下の手順でモーションブラーを実現します。

1. Maya からモーションベクターチャンネルを含む EXR ファイルを出力する
2. AfterEffects で EXR ファイルを読み込む
3. AfterEffects でモーションベクターチャンネルを調整する
4. モーションベクターチャンネルを合成して モーションブラーをかける

OpenEXR については、[こちらの投稿](https://qiita.com/karasusan/items/8caa8e33c1d7d16d6d8f)を確認してください。
## OpenEXR の書き出し

Maya からモーションベクターチャンネルを含む OpenEXR ファイルを出力する方法について説明します。Maya で RenderSetting ウィンドウを開いてください。Common タブで 出力形式を exr に変更します。

![Screen_Shot_2017-09-20_at_22_03_11.png](https://qiita-image-store.s3.amazonaws.com/0/74764/07a6b7e3-00a5-9d51-37de-8c50a1f4e45b.png)

Arnold Render タブの　Motion Blur の項目の Enable チェックボックスをオンにします。

![Screen_Shot_2017-09-22_at_23_01_51.png](https://qiita-image-store.s3.amazonaws.com/0/74764/4b36a622-d706-9e30-b3d1-055926d35f11.png)

AOVブラウザで motion vector を追加します。

![Screen_Shot_2017-09-22_at_23_15_54.png](https://qiita-image-store.s3.amazonaws.com/0/74764/5c13faae-c023-4c69-cc72-d30ff593dfd1.png)

Select Driver を選択して、アトリビュートエディタを表示します。

![Screen_Shot_2017-09-22_at_23_16_58.png](https://qiita-image-store.s3.amazonaws.com/0/74764/42e3d5ee-b2c7-d3ab-b80b-99c19ba7f6f2.png)

**Merge AOV** のチェックボックスがオンになっていることを確認します。

![Screen_Shot_2017-09-22_at_23_17_22.png](https://qiita-image-store.s3.amazonaws.com/0/74764/af529d21-5878-f9fd-1d99-3a3285f21ba7.png)



これでレンダリング画像にモーションブラーがかかるようになるのですが、レンダリング結果にブラーをかけたくないので、これをキャンセルする必要があります。Diagostics タブの Feature Overrides 項目にある、Ignore Motion Blur のチェックボックスをオンにします。

![Screen_Shot_2017-09-22_at_23_04_35.png](https://qiita-image-store.s3.amazonaws.com/0/74764/3fcd4396-00f5-3c30-8cf4-415c08e18ccc.png)

これでレンダリング時のモーションブラーはオフになります。

念のため、動きの激しいフレームを選んで、Arnold RenderView で表示結果を確認してみます。以下のように動きのある場所のみ色がついていれば大丈夫です。

![Screen Shot 2017-09-22 at 23.52.51.png](https://qiita-image-store.s3.amazonaws.com/0/74764/7fb66088-d791-a54a-97f6-3060832ffee8.png)


## コンポジット

ボケ表現には標準エフェクトが利用できましたが、今回のモーションブラー表現には、**ReelSmart Motion Blur** という有償のプラグインを導入する必要があります。体験版を[公式サイト](http://revisionfx.com/products/rsmb/after-effects/)からダウンロードできますので、購入の前に効果を確認することが出来ます。

### プラグインの確認

無事にプラグインがインストールされていれば、Effects & Presets パネルの検索窓に 「RSMB」と入力すると、以下のようにプラグインが表示されます。今回は、この中の **RSMB Pro Vectors** というプラグインを使用します。

![Screen Shot 2017-09-22 at 23.22.46.png](https://qiita-image-store.s3.amazonaws.com/0/74764/da31b052-d239-5397-6984-fbecfa86228b.png)

### モーションベクターの調整

[前回](https://qiita.com/karasusan/items/8caa8e33c1d7d16d6d8f)と同様、EXR をフッテージとして読み込み、マルチチャンネルを複数のコンポジションに変換します。
**motionvector source** というコンポジションを選択します。

![Screen Shot 2017-09-22 at 23.51.22.png](https://qiita-image-store.s3.amazonaws.com/0/74764/e9f0e42a-92e3-2d5b-16fc-3e1139102051.png)

ExtractR の Black Point と White Point の調整を行います。

![Screen Shot 2017-09-22 at 23.57.39.png](https://qiita-image-store.s3.amazonaws.com/0/74764/40a6540d-726c-7184-afc6-a335f41013e5.png)

静止しているピクセルの R と G の 値が 127 になるように調整します。

![Screen Shot 2017-09-23 at 0.03.25.png](https://qiita-image-store.s3.amazonaws.com/0/74764/8737d014-1648-9ca3-6300-dbde9d3871e7.png)

### RSMB Pro Vectors の適用

モーションベクター画像の調整が終わったら、assemble コンポジションを開いて、RGBA レイヤーに RSMB Pro Vectors エフェクトを適用します。

![Screen Shot 2017-09-23 at 0.09.06.png](https://qiita-image-store.s3.amazonaws.com/0/74764/5b5c3657-ef5c-11ca-0b24-ec06b1a96f13.png)

Motion Vectors の項目から、 motionvector を選択します。

![Screen Shot 2017-09-23 at 0.09.48.png](https://qiita-image-store.s3.amazonaws.com/0/74764/fb1ee1e0-a79a-bfd3-b596-330a276c7c86.png)

これでようやくモーションブラーが反映されます。

![Screen Shot 2017-09-23 at 0.12.54.png](https://qiita-image-store.s3.amazonaws.com/0/74764/5e8ef7ad-fd75-8cac-c077-bfadec120ffb.png)

ブラーなしとブラーありを比較してみます。
同じフレーム数で動きがより滑らかに見えます。

![MotionBlurSample.gif](https://qiita-image-store.s3.amazonaws.com/0/74764/74915426-a108-0e53-9d61-76569b7c7ff4.gif)

## 作例

今回の方法で制作した作品を Vimeo で公開しています。

[![Screen Shot 2017-09-26 at 9.36.19.png](https://qiita-image-store.s3.amazonaws.com/0/74764/a6913b51-efee-be4f-7b77-4988a3370730.png) 8Ball on Vimeo](http://vimeo.com/234418104)


# 関連記事

- [3DCGに After Effects でボケ表現を加える方法](https://qiita.com/karasusan/items/8caa8e33c1d7d16d6d8f)
- [ZYNCネットワークレンダリングを利用する](https://qiita.com/karasusan/items/91b762b899f469d2ffe5)