2023年12月14日木曜日

サブフレーム無し! カーブモーションブラーをかける

この記事はHoudiniアペレンティスアドベントカレンダー↓ 14日目の記事です。
 https://qiita.com/advent-calendar/2023/happrentice


パーティクル(だけではなく何でもいけます。)にカーブモーションブラーをかける方法を紹介します。
Mantraではめんどくさい感じだったですが、Karmaレンダーでaccelを使って簡単にカーブモーションブラーをかけれる様になりました。
上の図は、左はvのみを使用したモーションブラー、右はaccelを使ったモーションブラーです。

以下シーンの解説です。とてもシンプルです。

Sphere(球)から適当にパーティクルを出して、Windのノイズで動かしています。
popnetやpopsolverでサブフレームは使っていません。



パーティクルのSimの後に、Trailでaccel(加速度)アトリビュートを作ります。



Velocity ApproximationをCentral Differenceに、Compute Accelrationにチェック、
Match by Attributeにチェックを入れidを指定するのを忘れずに。
このチェックでパーティクルが死んだりした場合でも、キチンとidが同じものをみてvやaccelを計算してくれます。

下準備は以上です。


Solaris(stage /  lop)に移動して、Sop Import  Lopでこのパーティクルを読み込んで
レンダリングします。

カメラは適当に好きな位置に置きました。
モーションブラーを長くしたかったので、下図の様にシャッターが開いている時間を長くしてあります。



Karma Render Settingで、Geometry Time Sampleを2以上に(大きくすればするほど綺麗なカーブ、数が少ないとカクカクしたカーブになります。)、
Velocity BlurをAccleration blurに指定するだけです。


accelを保存しておくだけで、簡単にカーブモーションブラーかけられて便利ですね。
欠点としてはレンダーグローバルのサンプルを高くしないとノイズがなかなかとれないです。
(カーブモーションブラーに限らず、どんなモーションブラーでもシャッター開放時間を長くするとどんなレンダラーでもノイズは出てしまいます。)

火花なんかは、ワークショップで紹介している実態化する方法がサンプルを上げずに済むので良いですね。

hipファイルはこちら


2023年のHoudiniアペレンティスアドベントカレンダー全て埋まりそうな勢いですね。
indie以上のカレンダーは既に満席です。
毎年素晴らしいです。










0 件のコメント :