2015年7月12日日曜日

モーションブラー メモ02 ~VrayVelocity


前回はノーマライズを説明しました。今回はVrayVelocityの項です。
まずは clamp on の時の設定から。

以下のようなシーンを作ってみました。




さて、このウサギは空間上をどれくらいの速度で移動しているのか。
調べるには max velocity in last frame を見ます。

デフォルト0.0ですが、任意のフレームでレンダリングするとそのフレームでの速度が出ます。
そしてそのシーン内で一番速く動いているであろうフレームでレンダリングすると、そのシーンでの最大速度が出たと言えます。


少し反れますが、max velocity in last frame の“last”が紛らわしいと思っています。
直訳すると「最後のフレームでの最大速度」という意味です。
これってシーンの最後のフレームでレンダリングした時に出た数値を拾えばいいの?ってなりませんかね??
もしかして“fast”の間違いなんじゃないかと思っていますが、実際どうなんでしょう?詳しい方
ご教示頂きたいです。

でもそんなことは気にせず、ここでは僕がよくやる方法を紹介します。(と言っても多くは先輩方から教わったことなんですけどね・・汗)


さて、一番速いと思われる5フレーム目での速度が 63.112 と出ました。
この数値を max velocity に入れたいところですが、僕は少し高めで分かりやすく整数で 65.0 と入れます。
















ノーマライズの項を思い出して下さい。今回 63.112 と出ましたが、仮に max velocity を 40.0 にすると、40.0 から上の速度が出ているフレームでは clamp されて速度 40.0 扱いになってしまいます。
かといってmax velocity を200.0にすると、それはそれで情報を収めるには勿体無いことになってしまいます。














ざっくりこんなイメージです。

そこで僕は、最大速度より上で且つ5の倍数の近似値を入れるようにしています。
なので今回は 65.0 です。
なぜそうするかは・・・性格の問題です。それに覚えやすいですし。この数値を後にAEでも使うので覚えやすいのがいいんです。
語呂合わせもいいんでしょうけど、、、今回だと「むっさ良い匂い」とか?


今回のシーンは軽いので色んなフレームで速度を見れましたが、実際仕事ではそう何回も色んなフレームでレンダリングしていられないですよね?
もしかしたら今レンダリングしたフレームよりあのフレームの方が速いんじゃないかとか。
ましてやレンダリングが激重なシーンではもうやってられないですよね。

でも少し仕込まなきゃいけないですが、例えばレンダリングが激重なオブジェクトと同じ位置に大体同じ大きさのプリミティブオブジェクトを置いたり、同じような移動値を得られるアニメーションをつけてみてそれだけをレンダリングするとか。結構時短されますよ。
GI使っていたらoffにするとか。Override mtl にデフォルトのマテリアルをアサインしちゃうとか。
















あとレンダリングの解像度をハーフにして時短する人もいますが、この方法は要注意です。
解像度が半分になると max velocity in last frame の数値も半分になるので、最後は必ず2倍にしないといけません。お忘れなく!


と、ここまでが clamp on の時の設定です。


続いてclamp off の設定ですが、既にノーマライズの項で紹介していましたね。
max velocity を1.0 にして、保存するフォーマットはOpenEXR(floatで)がいいでしょう。


以上が VrayVelocity の説明です。
次回はこのパスを利用して、AEでモーションブラーをかけるあたりを紹介しようと思います。

3 件のコメント:

  1. このコメントは投稿者によって削除されました。

    返信削除
  2. last frame って直前のレンダリングしたフレームっていう意味だと思います。だから最新のレンダリングフレームの中で一番早かったところって意味です。

    返信削除
  3. >yu さん
    コメントありがとうございます!
    やはり“last frame”の意味するものはあくまで最後にレンダリングした時のフレームでの数値を示しているんですね。
    “fast frame”はアーティスト側が決めて入力する話なので、しっくり来ないですよね。。
    ひとつモヤモヤがなくなりました。ありがとうございました!

    返信削除