今回はmodoのボリューム機能について書いてみます。マニュアルを補完する形で、パラメータをアニメーションしあた場合の変化を画像にしてみました。
modoのボリュームは LightWave の Hyper Voxel が進化したような機能なので、基本となるパラメータや設定は LightWave でも活用できると思います。
ボリュームとは
ボリュームは煙、爆発、炎のようなエフェクト表現に最適な機能です。ボリュームは表面の形状しかない中身からっぽのポリゴンと違い、中身まで詰まったボクセルデータです。このため半透明な設定にするとレンダリング時間が長くなりますが、雲海の中をカメラが進むような表現ができるようになります。
最近では煙と言えば、FumeFXやPhoenix FDのようにフルードダイナミクスを使用した表現が主流です。フルードダイナミクスは流体のようなリアルな動きを作成することができますが、シミュレーション空間をボクセルに分割して計算するため、カメラが近づくと荒くみえる。シミュレーションに計算が必要。シミュレーションキャッシュが1フレームで1GB超えることもよくあるため、PCスペックを要求するなどの大変さがあります。
modoのボリュームは流体のようなリアルなアニメーションはできませんが、カメラがどれだけ近づいても荒くならない。シミュレーションが不要のため、PCにかかる負荷が低いというメリットがあります。
ボリュームシェーディング
以下はボリュームシェ-ディング タブのパラメータをアニメーションさせた物です。
密度
ボリュームの厚さを設定する機能。値が50%以下のときは薄く色も明るくなり、値が大きいと厚みのある質感になる。
フォールオフ
密度にバイアスを設定する機能。ボリュームはデフォルトで中心から外側に向かって密度が薄くなるので、放射状に密度が変化する。
レベル
密度の最大値を設定する機能。AfterEffectsのレベルエフェクトと同じ感じの機能。
密度 グラディエント
上にある「密度」をミニグラディエントで制御する便利パラメータかと思うと、全く違うアニメーションになる。ボリュームの厚さをアニメーションしたい場合は、上の「密度」にキーを設定するしかない。
ハイパーテクスチャ高さ
レイヤーエフェクトで「ボリューメトリック密度」を設定しているとき、テクスチャが影響する距離を指定する機能。「ディスプレースメント距離」のような機能で、値が小さいとボリュームの中心にテクスチャの影響が出ない。「拡張 & ディゾルブ」を使用する場合は高めに設定しておくとよい。
ハイパーテクスチャスケール
ボリュームに設定したテクスチャのスケール。0%のときは100%として扱われる。マニュアルには「テクスチャロケータの スケール 設定と同じ働きをします。」と書かれていたので、テクスチャロケータをスケールした物と比較したが、レンダリング結果は完全に一致しないようだ。
テクスチャエフェクト
テクスチャをアニメーションしてくれる便利機能。細かなニュアンスまで制御したいときには、グラディエントレイヤーや、チャンネルにキーを設定した方がいいと思う。
テクスチャエフェクトはパーティクルエイジを使用するので、パーティクルシミュレーションで「パーティクルの寿命」が保存されている必要がある。
なし
当然動かない。
速度変換
パーティクルの速度ベクトルの方向にテクスチャが移動する。放物線をえがくパーティクルなんかだと変化がわかりやすいかも。
拡張
テクスチャのスケールが拡大するアニメーション。テクスチャが大きくなりながらクロスフェードを繰り返す。
拡張 & ディゾルブ
拡張のアニメーションしながらボリュームが消える。ディゾルブに使用しているパラメータが「密度 グラディエント」なのかも。個人的に好きなエフェクトで LightWave 時代からよく使ってた。
火砕
テクスチャを放射状にブラーしてる感じなかな。
エフェクト速度
エフェクトのアニメーション速度を設定する機能。テクスチャエフェクトの画像にある数字はエフェクト速度の値です。遅めは 50% 、早めは 100% を基準に調整開始するといいかもしれない。「拡張 & ディゾルブ」だけ効果が変則的で、50%は30フレーム、25%は60フレーム、10%は150フレームでボリュームが消える。テクスチャや密度の設定により消える時間が変わる気がする。
レンダー品質
高い設定にするとボリュームのシェーディングの階調が多く滑らかな見た目になる。
サンプリングレート
ボリュームをより精細に計算するための機能。「ボリューメトリック密度」にテクスチャを使用している場合、ボリュームの「半径」やスケールが100mのように大きなサイズにすると、ボリュームにバンディングのような縞模様が発生します。サンプリングレートの値を下げると縞模様を軽減することができます。
ただしサンプリングレートの値を下げるとレンダリング時間が長くなります。参考までにこの画像ではサンプリングレート1のとき2.7秒、0.5のとき4.8秒、0.25のとき9.5秒、0.1のとき23.1秒、0.01のとき5分36.6秒でした。
シャドー品質
高い設定するとシャドーが滑らかになる。設定が低いと影が階段状なる。
スキャッタリング
ボリュームの光の拡散具合を設定する機能。値を大きくすると白く雲のような感じになる。
前方スキャッタリング
背後のライトからの拡散具合を設定する機能。ボリュームの明るさが加算されて明るくなるのを期待したが、値を大きくすると黒くなる。
ライトを180°回転して前方スキャッタリングの効果を確認してみた。ライトが背面のときより効果が強く現れる。
前方スキャッタリングを高くすると黒くなるため、スキャッタリングも同時に調整する必要があるようだ。またライトにはシャドーが設定されている必要がある。シャドータイプが「なし」の場合はボリューム全体が明るくなる。
ボリュームの設定
今回テストに使用したボリュームの設定を書いておきます。基本的にはボリュームの「密度」を100に設定した以外はデフォルトのままです。
テクスチャにはMulti‐Fractalレイヤーを使用しました。ボリュームによく合うお気に入りのテクスチャです。レイヤーエフェクトを「ボリューム密度」に設定しています。テクスチャを設定していない場合、テクスチャエフェクトは機能しません。
シーンにはライトを2個配置してます。右のライトはボリュームの後ろ側に配置してます。ボリュームの直径は1m。
全パラメータレンダリングするのは面倒だったので、変化が明らかにわかるパラメータは省きました。ボリューム機能があれば、こんな爆発や煙を簡単に作ることができます。次回はパーティクルを使用した爆発の作り方について書いてみたいと思います。