MENU

Redshiftでモーションベクターを出力する

3Dアニメーションを作成すると,モーションブラー使いたくなりますよね.レンダリング時にモーションブラーをかけると3D空間上で計算するため,とてもリアルなブラーを得ることができますが,反面計算に時間がかかることが難点ですね.

そこで,3D側でモーションデータをRGB画像に記録したモーションベクターと言う画像を出力し,それをAfterEffects側でモーションブラー用のソースとして利用することでコンポジット側でモーションブラーを後付けするテクニックをご紹介します.レンダリングコストを抑えつつ比較的リアルなモーションブラーを表現できるので知っておくと便利です.

特に3Dレンダリングでモーションブラーをかけた場合,ブラーの加減を強く弱くといった調整ができないので再レンダリングになってしまうというデメリットがあるため,修正がありそうな場合は使用を躊躇してしまいます.

そういった点で,後付けのモーションブラーで済む場合はモーションベクターの利用をお勧めします.ただ,After Effectsでモーションベクターを利用する場合はプラグインが必要になります.本記事で使用したのは「ReelSmart Motion Blur Pro」(モーションベクターを使えるのはPro版)というブラー用プラグインです.

目次

動画での解説もはじめました!

まだ慣れてないので,全然こなれてない感がすごいですが…

本記事で使用したソフトウェアバージョン

Cinema 4D 2023.1
Redshift 3.5.0
After Effects 2022
ReelSmart Motion Blur Pro

ステップ1 アニメーションを作成する

モーションブラーなので前提としてアニメーションが必要です.なんでもよいでのとりあえず動かしてみましょう.というわけで簡単なアニメーションを作成しました.

ステップ2 レンダリング設定とAOV設定

まずはレンダラーをRedshiftに変更します.変更しておかないと「レンダリング」メニューに「RS AOV Manager」が表示されません.そして「レンダリング」メニュー→「RS AOV Manager」を開きます.

RS AOV Managerを開く

AOVに「Motion Vectors」を追加します.

Motion Vectorsを追加する

最低限の準備はこれで完了です.

Redshift Render Vieweで確認してみる

Redshift Render Viewで確認してみます.Motion VectorsはIPRモードでは表示されないので,のRenderを実行してください.表示パスを「Motion Vectors」に切り替えると,このような中間黄色をベースとしたR,Gチャンネルのカラーが付いた画像が表示されます.RチャンネルがX軸方向の移動,GチャンネルがY軸方向の移動とその強度を表しています.

デフォルト設定では全く動きが無い場合にR=0.5,G=0.5が出力されるため中間の黄色となりますが,これ自体はAOV ManagerでMotion Vectors設定の最小/最大レンジを変えることで調整もできます.

Motion Vectorsの画像を表示

特定のオブジェクトを「Motion Vectors」から除外したい場合

もし特定のオブジェクトのみMotion Vectorsを出力したい場合はオブジェクトにRedshift Objectタグを設定し,Motion Blurを有効にします.

Bunnyオブジェクトは除外したい場合はタグでモーションブラーを「Disabled」へ
するとBunnyはMotion Vectorsを出力しない

ちなみに,Motion VectorsをAOVに追加した場合はレンダリング設定側にあるMotion Blurはオンにしていても強制的に無効になります.

ステップ3 マルチパス設定をしてレンダリングする

AOVを保存するためにレンダリング設定の保存でマルチパスの出力先を指定しておきます.RedshiftのドキュメントによるとMotion Vectorsは32bitのEXRで出力した方がより精度の高い結果を得ることができるとのこと.ピクセルあたりの情報量が多くなるのでコンポジット側でもより精度の高いブラーを再現できるのだと思います.ReelSmart Motion Blur Proで使用するMotion Vectorも16bit以上必要なので最低でも16bitで出力する必要があります.

ステップ4 After Effectsでモーションベクターを使用する

After EffectsでReelSmart Motion Blur Proを使用してMotion Vectorsからモーションブラーを追加をしてみます.Motion VectorsをマルチレイヤのEXRファイルで出力している場合,ExtractRでモーションベクターを抽出してあげましょう.

モーションブラーをかけたいレンダリング画像に対してReelSmart Motion BlurのMotion Vectorを適用して,モーションソースに抽出したモーションベクターレイヤーを指定すれば完了です.簡単ですね.

3Dレンダリングのモーションブラーとどれくらい違うのか

このようにモーションベクターデータを使えばモーションブラーを後から調整できるので大変重宝します.しかし実際に3Dで計算したモーションブラーとどれくらい違うものでしょうか.

Redshiftのレンダリングによる3Dモーションブラー

3Dレンダリングでは当然奥行きデータも考慮したモーションブラーになるため,精度は高くなります.最も自然ですがレンダリング時間は長くなりますし,後から調整は難しいです.

3Dモーションブラー

モーションベクター(16bit EXR)による後付けモーションブラー

ReelSmart Motion Blur ProのMotion Vectorを使ってAfter Effectsでモーションブラーを付けたものです.モーションベクターは16bit EXRで出力したものを使用しています.細かいブラーのかかり方は確かに2次元的で,ブラー強度を大きくすると破綻してきますが,実際にアニメーションで見るとこれくらいであればほとんど問題ない範囲じゃないでしょうか.

16bit EXRによるモーションベクターでブラーをかけた例

16bit PNGのモーションベクターではどうか

同じ16bitなのですが,こちらは明らかに綺麗ではなかったです.EXRで出力したモーションベクターを使う方が良さそうです.Redshfitのドキュメントに従ってEXRの方が良さそうですね…

ディテールやエッジの印象が明らかに破綻してしまっている

まとめ

3Dモーションブラーは静止画で見たり,コマ送りでみても自然で綺麗ですがやはり最大のデメリットは,後で調整が効かない,レンダリング時間が長いの2点になってきます.

モーションベクターを使う場合は多少の精度は犠牲になりますが,そもそもアニメーションしている場合はモーションブラーの精度がうんぬんはあまり(よほどおかしな場合は除いて)気になることは少ないのでCGアニメーションを作る場合は常にこちらのオプションを持っておいたが方が良いと思います.

モーションベクターは16bit以上のEXRフォーマットで書き出しを推奨します.

また,モーションベクター自体はREDSHIFTに限らず,他のどのレンダラーでも同じことができる(はず)なので覚えておいて損はないでしょう.

おまけ:最後まで読んでくれた方へ

ころころボムの3Dデータをプレゼント.メッシュは綺麗にしてないで扱うのが大変ですが,モーションベクター練習素材用にでも使ってやってください.かなり細かいメッシュですのでたくさん配置すると重いです...

ころころボム

ダウンロードはこちらからどうぞ

https://c4dhigh.net/dat/gift/SphereBomb_20221117.zip







Motion Elementsで素材を探す

MotionElements - ロイヤリティフリー 動画素材マーケット、音楽、アフターエフェクト テンプレート

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Cinema 4Dを使用したCG制作を行うフリーランサー.
MAXON認定 Cinema 4D マスタートレーナー

自身の経験を元に後進のために当サイトを開設し運営中.
制作業務のほか,Cinema 4Dの個別トレーニング,企業向けトレーニング,メンターサポートなども行っています.

目次