Rendering

Tips

modoとAEでアニメ風爆発の作り方

modoとAfter Effectsを使ってアニメ風の爆発の作り方について書いてみます。特に新しい内容ではありませんが、だれかの参考になれば嬉しいです。

最近のアニメでは3DCGが使われることが当たり前になってます。爆発のようなエフェクトも作画ではなく、CGが使用されてるのを多く見かけるようになっています。
CGで爆発を作る場合は大きく分けて2つの方法があります。1つめは球体にトゥーンシェーダを設定して、球体をアニメーションする方法です。2つめはFumeFXのようなフルードダイナミクスや、ボリュームレンダリングを使用する方法です。

今回はmodoのパーティクルとボリュームを使用して爆発の素材を作って、After Effectsでセルっぽい質感にしてみます。

 

ボリュームのレンダリング

modoでボリュームをレンダリングします。色はAfter Effectsで設定するので、無彩色のままレンダリングします。パーティクルやボリュームの設定を解説するのは大変なので、詳細はサンプルファイルをみてください。

■ サンプルファイル

以前の爆発と同じく、今回もゲームっぽく爆発して消えるまでのアニメーションにしてみました。

ボリュームの質感は、爆発の中心を明るくするためにグラディエントレイヤーを「ボリューメトリックルミナンス量」で重ねています。グラディエントの「入力パラメータ」は以下の通りです。

 

デフォルト

わかりやすいように「ボリューメトリックルミナンス量」を使用していない状態の画像です。Multi-Fractal で煙っぽいでこぼこを設定しています。

 

テクスチャ値

入力パラメータに「テクスチャ値」を設定した画像です。Multi-Fractal レイヤーでへこんでいる部分を明るくすることで、煙の中心が高温になってる感じをだすために使ってます。

 

ロケータまでの距離(オブジェクト空間)

入力パラメータに「ロケータまでの距離(オブジェクト空間)」を設定した画像です。個々のパーティクルからの距離でボリュームを明るくしています。「 ロケータまでの距離(オブジェクト空間)」を使う場合は、ボリュームの「自動テクスチャオフセット」や「テクスチャエフェクト」をONにしていると影響を受けてしまうので、使う場合はOFFにする必要があります。

 

ロケータまでの距離

入力パラメータに「ロケータまでの距離」を設定した画像です。爆発の中心からの距離でボリュームを明るくしています。パーティクルを発射直後のボリュームを明るくするために使ってます。

 

最終レンダリング

全てのレイヤーを適用した画像です。

 

After Effects で色付け

modoで無彩色でレンダリングしたボリュームにAEで色をつけます。エフェクトは下の画像の通りです。

トーンカーブでボリュームのコントラストを調節してから、CelMXのGradientMapで爆発の色を設定しています。AE標準のコロラマ エフェクトでも同じことができます。最後にチョークでボリュームの輪郭をシャープにしています。
CelMXはCelFX同様にアニメ撮影処理向けのエフェクト集ですが、MXには3DCGでも便利なエフェクトが入っているので使ってます。

 

このままだと煙がパッキリし過ぎてるので影をぼかします。

レイヤーを複製して、煙の影をBlurCelを追加してぼかします。レイヤーの不透明度を65%くらいにして重ねます。ぼかし方は色々あるので、好きな方法を使うといいと思います。

 

最後に調整レイヤー追加してGlowを適用します。このGlowはお気に入りなので多用しちゃう。

 

作った爆発を Trapcode Particular で適当に発生させるとこんな感じになります。追加で火花や破片、画面ブレをつければ、もっと派手でそれっぽい感じになるんじゃないかと思います。

アニメ撮影に関するメイキングはあまり見かけることがありませんが、最終的なアニメのルックを決める重要なポジションのように感じます。フルCGや実写もそうですがコンポジットって重要ですね。

 

参考

「宇宙戦艦ヤマト 2202 愛の戦士たち」

爆発をLightWaveのハイパーボクセルで作ってるようです。modoでも参考になると思います。
http://www.dstorm.co.jp/dsproducts/lw3d/interview/profile19.html

「劇場版 ソードアート・オンライン –オーディナル・スケール–」

作画の煙の撮影処理前と後の画像が見ることができます。撮影処理で作画の煙のボリューム感がでてます。TurbulenceFDはセルっぽく加工せずに、ボリュームのシェーディングそのまま使ってるようです。こういう合成方法もいいですよね。
https://www.maxonjapan.jp/archives/work/sword_art_online_os

『Fate/kaleid liner プリズマ☆イリヤ』シリーズが実践する、新世代のアニメ撮影ワークフロー

アニメ撮影に関する貴重な記事です。今ではキャラの目や髪にグラデがかかってる作品はあたりまえですね。
https://cgworld.jp/feature/201512-prisma-illya-cgw208t2.html

ufotableのvimeoアカウント

アニメ撮影でとても見応えのある画面をつくるアニメスタジオさん。いくつかメイキング映像が公開されています。
https://vimeo.com/ufotable

Tips

modoのフォールオフ アイテムのイージング

modo 12.0でフォールオフアイテムにイージング機能が追加されました。この機能追加によってカーブを使用した細かなフォールオフ制御ができるようになりました。

例えばリプリケータの「スケール」を制御して結晶化するような表現を作るとき、リニアに大きくなるだけではなく、大きくなったあと少し小さくなる。というようなニュアンスを加えることができます。

 

スケマティックはこんな感じです。

Surface Particle Generatorで球体にパーティクルを発生させます。Particle Modifierは「スケール」を0%に設定し、フォールオフアイテムをリンクしています。フォールオフ アイテムをアニメーションすると、リプリケータのスケールが変化します。

複数のフォールオフアイテムを使用している場合に注意が必要なのは、イージングのカーブが0~1の範囲を超えないように設定する必要があるかもしれません。
上の画像ではリニアフォールオフとテクスチャフォールオフを使用していますが、イージングのカーブが0以下に設定したとき、テクスチャフォールオフの領域に小さな円柱が発生しているのが確認できます。
テクスチャフォールオフの場合は、テクスチャの「上限値」を100以上の大きな値に設定すれば大丈夫なのですが、他のフォールオフ同士の組み合わせでどうなるかは調べてません。

modo11以前のバージョンでもFXアイテムの「パーティクルサイズ」を使用すると、同じようにリプリケータのスケールをアニメーションすることができました。下の画像はGradientのテクスチャロケータをアニメーションさせたものです。

FXアイテムはシェーダーツリーに統合されているので、レイヤーのブレンドやマスクなど制御しやすいのですが、フォールオフアイテムに比べると処理が遅いような気がします。

 

Particle Random Modifier を使うと位置や回転のランダムをフォールオフで制御できるようになります。ちょっとしたモーショングラフィックっぽいアニメーションが簡単に作ることができます。やはり同じような制御をFXアイテムでもできましたが、スケマティックで関係性が見やすいぶんフォールオフアイテムが使いやすい気がします。

 

ちなみに、この結晶化のアニメーションはレンダリングに5時間かかりました。初めのフレームは30秒くらいなのですが、最後のリプリケータのアニメーションが終わったあたりは1枚4分かかります。アイテムのランダムさはリプリケータの「ランダムスケール」を設定してます。

 

マテリアルのシェーディングモデルは「従来」を使用して、レンダリングの設定では「反射深度」2、「屈折深度」1と速度重視に設定してますが、反射と屈折が組み合わさるとレンダリング時間が長くなります。もっとリアルに磨かれていないような質感にしようとすると、反射と屈折にブラーを加えることになるので、もっとレンダリング時間がかかりそうです。

今回はレンダリング時間を短くする工夫として反射用のオブジェクトやライトの変わりに MatCap を使用してみました。輪郭が浮き上がっていい感じに反射してるように見えます。GLでは問題なかったのですが、レンダリングでは使用したマップの上下左右が少し切れてるのが原因で、チラツキが発生してしまいました。

さらにIridescence Material で表面を虹色っぽく設定してます。MatCapもそうですが、modoはマテリアルを加算でブレンドできるのが面白いですね。

屈折のレンダリングは時間がかかるので、MatCapと反射のみで屈折したような質感を再現できないかと実験してみました。これだけ見るとそういうものかと思うかもしれませんが、屈折したものと比較すると透明には見えないですね。やっぱりカメラが動くとわかちゃいます。この反射だけの質感だとレンダリング時間は35分でした。

modoではMatCapをミックスしたりマスクしたりできるので、他のソフトに比べて便利に使える気がします。そのうちトゥーンマテリアルを作ってみようかな。

参考資料

Arnold用のPOTAカメラシェーダ

Arnoldレンダラ用の効率的なカメラシェーダがリリースされました。いわゆるレモン型のぼけや色収差を再現できるシェーダです。
http://zenopelgrims.com/polynomial-optics-arnold/

 

概要

POTA (ARNOLDへのPOLYNOMIAL OPTICS)は、広角レンズ用のスパース高次多項式に基づくアーノルドレンダリング用のオープンソースカメラシェーダです。

POTAは広角レンズ用のスパース高次多項式の実装です。 これはレンズ素子を通る光線を追跡するコストの一部で、高次の収差で画像をレンダリングします。それは、センサ上の光線を外側の瞳孔上の光線に変換するためにブラックボックスとして機能する、適合多項式を事前に計算することによって行われます。

このシェーダはカメラシェーダでの20年の研究努力を表しています。.ZOICでは各カメラの光線がすべてのレンズ要素によって物理的にトレースされています。視覚品質は同等ですが、多項式光学技術は数倍高速であり、薄レンズ計算のコストと比較することができます。特に、複雑なシーンでは、薄いレンズ近似を超える多項式光学系を使用するコストは無視できます。

レンズの記述は近似を有するので、薄いレンズ近似で慣れたように焦点距離を変更することは不可能であることに留意してください。かわりにPOTAをプライムレンズのライブラリと考えてください。いくつかの焦点距離の調整は、センサのサイズを変更することによって行うことができます(実際のカメラのように aps-cセンサのレンズの焦点距離の違いに注意してください)

POTAは波長依存性があり、対応するCIE RGB波長(それぞれの色チャネルごとに1つ)で3枚の画像をレンダリングすることにより、光学的に正しい色収差(正確なデータはほとんどないので、レンズコーティングは無視する)が可能であることを意味する。3つの画像をレンダリングするのは高価ですが、オプションがあります。例えば、赤色チャネルでは700nm、緑色チャネルでは546.1nm、青色チャネルでは435.8nmです。

参考資料

ディズニーが「モアナと伝説の海」の島のデータを公開

ディズニーは2016年の映画「モアナと伝説の海」から、、海、珊瑚、樹木、その他の植生を含むモトヌイ島の完全なデータセットを公開しました。
https://www.disneyanimation.com/technology/datasets

プロダクションで使用される実際のシーンで、プロプライエタリツールなしでレンダリングできるように変更されたデータは、レンダリングアルゴリズムをテストするための標準データセットとして使用することを意図しています。

また、プロダクションデータがどのように構造化されているか、ハードウェアがフィーチャアニメーションで典型的な複雑さのシーンをレンダリングできるかどうかを調べたい人にとっては、優れた学習リソースです。

 

150億のインスタンス化されたプリミティブを含む

データは実際の制作シーンであり、初期のティーザーの一部として使用されます。
「9000万を超えるユニークな四角形と三角形と5百万の曲線」を含むメッシュと、葉、残骸、岩石の2,800万件以上のメッシュを含む20の要素で構成されています。すべてが完全にインスタンス化されると、シーンには150億を超えるプリミティブが含まれます。

ジオメトリはOBEX形式で提供され、Ptexテクスチャ、シェーディング情報、アニメーションがあります。シーンには7つのカメラが含まれています。元のアニメーションテストで使用されたプライマリショットカメラ、およびその他の6つのビューです。

 

ディズニー独自のツール

オリジナルはBonsai植生ジェネレータやHyperionレンダラを含むDisneyの社内ツールをベースにしています。ディズニー外にレンダリングできるようにするために、レンダリング用にシーンが修正されています。
ジオメトリとマテリアルから細かいディテールを取り除くだけでなく、ショットを1回のパスでレンダリングするように調整し、「生きている」アニメーションをベーキングまたは削除することを意味します。

しかし、場合によっては、変換作業がシーンの複雑さを実際に増加させました。元のショットはディズニーの海パイプラインの初期バージョンを使用しました。これは、映画で使用されている最新の技術にアップグレードされ、オリジナルの「ミニマリスト」の水に合わせられました。

 

フィーチャアニメーションで遭遇する主要課題の

WDASはこのシーンを「典型的な制作環境」で遭遇するいくつかの課題を代表するものとして説明しています。インスタンス化されたジオメトリの巨大化、複雑なボリューム光のトランスポートなどです。

モーションブラーや、多数の光源(多数の他の主要な製造上の課題)はありませんが、これはパブリックドメインで本物のアニメーションデータに近づく可能性が最も高いものです。

また、グラフィックスの研究者にとっても素晴らしいリソースです。技術テストでMotunuiをもっと多く見て、今後数年間デモをレンダリングすることを期待してください。

 

可用性とシステム要件

WDASのMoana Island Sceneは、研究、ソフトウェア開発、ベンチマークのみを可能にするカスタムライセンスの下で利用できます。

期待どおり、それは大きなダウンロードです。静止画をレンダリングするのに必要なベースシーンは44.8GB、アニメーションデータはさらに23.6GBです。また、よりシンプルな6.1GBのクロックで動作するオープンソースのpbrtレンダラで動作するように変換されたバージョンのデータもあります。

WDASは、ミツバでレンダリングするためにセットアップされ、クリエイティブコモンズライセンスの下で利用可能な、実際の生産データではなく、複雑な量産クラウドデータセットもリリースしました。

CG News

V-Ray Next for 3ds Max リリース

V-Ray Nextがリリースされたようです。
https://www.chaosgroup.com/vray/3ds-max/

  • レンダリング全体のパフォーマンスを最大25%向上
  • 新しい適応ドームライトは最大7倍高速で、窓や開口部に天窓の入り口を設置する必要がありません。
  • V-Rayフィジカルカメラには簡略化されたUIに加えて、自動露出とホワイトバランスが追加されています。
  • 新しいGPUレンダリングアーキテクチャ、生産のレンダリングの速度を倍増することを約束。
  • エンベローメントフォグ、ボリュームエフェクト、VRScans マテリアルに対するへのGPUのサポートが強化されました。
  • ディズニー・リサーチをベースにした新しいフィジカル・ヘア・マテリアル。光沢、柔らかさ、ランダム性をコントロールするためのスライダーで簡単に見えるようにしました。メラニン・コントロールは色を変え、ヘアカラーの色を変えます。
  • NVIDIA Al Denoiser
  • レンダーエレメントをデノイズする能力。
  • ヒートマップとデータオーバーレイを使用して、シーン内の光レベルを分析し測定するライティング解析ツール。
  • Alembic 1.7をサポート。レイヤリングを含む。
  • オブジェクトに適用された複数のマテリアル間を変更する新しいV-Rayスイッチ。
  • V-Rayプラグインとテクスチャを使用して、UnityやUnrealの手続きテクスチャとPBRマテリアルを含むあらゆるバージョンのV-Rayから3DS Maxに任意のテクスチャや素材をロードできます。

V-Ray Nextの新しいワークステーションライセンスは$1,180。既存のライセンスへのアップグレードには$580。年間レンタルも$470で利用可。

Tips

modoで爆発表現

modoのパーティクルとボリューム機能を使用して爆発を作る方法について書いてみます。
パーティクルもボリュームも特に難しいことはしていないのですが、複合的な要素で成り立っているので解説するのが少し大変です。爆発を作るにあたって気をつけた点を中心に書いてみたいと思うので、細かな所はサンプルファイルを見てください。

サンプルファイル
シミュレーションを実行するとパーティクルを確認できるようになります。

 

爆発を考える

爆発を作るにあたり爆発を構成する要素を考えます。今回の爆発では「衝撃波」「火花」「爆発の中心」「爆発から飛び出す煙」の4種類の要素にしました。爆発で破片を飛ばしたり、爆発で建物が崩れるような場合はもっと要素が増えると思います。

要素別にレンダリングしてみたので、要素ごとに解説してみます。

 

衝撃波

爆発の衝撃波が伝わり、土煙が発生するイメージです。地面に沿ってパーティクルを飛ばすために、円柱から Surface Emitter を使用してパーティクルを放射しています。レンダリングはスプライトを使用しています。

 

火花

爆発で四方に飛散する火花のイメージです。Radial Emitter で放射状にパーティクルを放射しています。レンダリングはスプライトを使用しています。

 

爆発の中心

物が燃えてもっとも煙を出す、爆発の中心になる要素です。球体なんかのアイテムの頂点を使用して手付けでアニメーションさせてもいいのですが、今回は面倒くさかったのでRadial Emitter を使いました。

Particle Simulation の「重力」を正数にして、時間経過とともに空にのぼるように設定しています。
爆発の中心になるパーティクルは「ドラッグ」を設定して、パーティクルが飛びすぎないようにブレーキをかけています。

レンダリングはボリュームとスプライトを使用しています。煙の中心にシャドーをOFFにしたライトを配置しています。modoのボリュームはGIのように周辺を照らすことができないので、ライトを配置して地面やボリュームを照らしました。

本当は地面をもっと広くライトで照らしたかったのですが、ボリュームは「ライトリンク」が機能するのですが、スプライトは「ライトリンク」の設定を無視するため、しかたなくライト1個の設定にしています。ライトマテリアルの「ライトディフューズ量」を使用することでポリゴンだけ明るさを強くしました。

また、modoはフィジカルベースのライトなので、ライトの影響範囲を距離で指定してボリュームをライティングできないのも地味に困りました。フィジカルベースのレンダラーはライトの明るさによって影響範囲が自動的に切り替わります。リアルな物を作る場合にはいいのですが、エフェクトてきな表現の場合は、昔ながらの距離指定の影響範囲が恋しくなります。今回はファイルを公開する関係で1シーンで完結させてますが、別ライティングのシーンを複数作成して合成した方がいいと思います。

ボリュームの色は、グラディエントの「ボリューメトリックルミナンス色」「ボリューメトリックルミナンス量」で設定します。「入力パラメータ」は「ロケータまでの距離」を使用して、爆発の中心が燃えてるような感じに設定しています。

個別にレンダリングして気づいたけど、もう少しモコモコしたテクスチャ設定すればよかったかな。煙の内側方向にパーティクルをスピンさせればフルードっぽい感じにできたかも。

 

爆発から飛び出す煙

爆発から飛び出す煙です。煙は Randomize IDノードを使用して一本ごとにランダムさを設定しています。

レンダリングはボリュームとスプライトを使用しています。ボリュームは厚みのある煙の表現に使い、スプライトは煙が時間経過とともに拡散して薄くなっていく表現に使用しています。

ボリュームの動きと徐々に消える部分は「テクスチャエフェクト」の「拡張&ディゾルブ」を使用しています。「拡張&ディゾルブ」だけだと煙の動きがゆっくりすぎるので、Multi-Fractal のテクスチャロケーターを適当にアニメーションさせることで動きをつけてます。「密度」にキーを設定して煙の厚さを変化させて薄くなるようにしてます。

 

スプライト用のパーティクルは拡散して薄くなる感じを出すため、ボリュームのパーティクルよりも少し移動用が多くなるようにしています。「エフェクト速度」もボリュームとスプライトで差をつけて、スプライトの方が少し長めに表示されるようにしています。

スプライトは「サイズグラディエント」を設定して、時間経過とともに大きくなるように設定しています。最初のはボリュームよりも小さく、時間経過とともにボリュームよりも大きくなるようにしています。

ボリュームの色は、グラディエントの「ボリューメトリックルミナンス色」「ボリューメトリックルミナンス量」で設定します。「入力パラメータ」は「パーティクルエイジ」を使用して、パーティクルが放射された最初の数フレームだけ燃えているような感じになるよう設定しています。

 

パーティクルのスケマティックはこんな感じです。ノードの数は多いですが、特に難しいことはしてないと思います。

「爆発から飛び出す煙」のパーティクル Particle Simulation_4 は Particle Operator を使用して等間隔にパーティクルを発生させています。これは煙の線が途中で切れたように見えるのを避けるためです。Source Emitter を使用するとランダムにパーティクルが放射されるので、パーティクルに隙間ができてしまいます。逆にスプライトは Source Emitter を使用することでランダムに煙が拡散する感じを出すのに利用しています。

パーティクルには Turbulence Force を設定して風に流される感じを出しました。激しく動かしたいときはTurbulence Force を移動すると面白い感じになります。

 

完成

After Effectsでレンズフレアや画面ブレを追加して完成です。今回はゲームのエフェクト的に、爆発が発生して消えるまで作りました。映像用途では爆発してから消えるまでを映すことは少ないので、消えかける部分の調整が「拡張&ディゾルブ」まかせでリニアな感じが出てしまいいまひとつでした。完全に消えるところまで作る場合は、各パラメータに手動でキーを設定した方がいい感じになりそうです。

補足ですが、ボリュームとスプライトを同時にレンダリングすると、後半のスプライトとボリュームが重なる部分でチラツキが発生してるのに気がつきました。チラツキが気になったので上の画像は別でスプライトとスプライトのマスクをレンダリングして合成しています。
スプライトのマスクを作成するためにVolumetric Opacity Outputをマテリアルグループに追加してレンダリングしようとしましたが、Volumetric Opacity Outputはマテリアルグループに対応していないため使えませんでした。最終的にボリュームを黒色、スプライトを白色に設定し直してマスクにしました。下はちらついてる画像です。

modoのパーティクルとボリューム機能、なかなか強力で表現力あると思いませんか!?レンダリングに時間かかりますが、魅力的なエフェクトが作れると思います。

Tips

modoのボリューム

今回はmodoのボリューム機能について書いてみます。マニュアルを補完する形で、パラメータをアニメーションしあた場合の変化を画像にしてみました。
modoのボリュームは LightWave の Hyper Voxel が進化したような機能なので、基本となるパラメータや設定は LightWave でも活用できると思います。

ボリュームとは

ボリュームは煙、爆発、炎のようなエフェクト表現に最適な機能です。ボリュームは表面の形状しかない中身からっぽのポリゴンと違い、中身まで詰まったボクセルデータです。このため半透明な設定にするとレンダリング時間が長くなりますが、雲海の中をカメラが進むような表現ができるようになります。

最近では煙と言えば、FumeFXPhoenix FDのようにフルードダイナミクスを使用した表現が主流です。フルードダイナミクスは流体のようなリアルな動きを作成することができますが、シミュレーション空間をボクセルに分割して計算するため、カメラが近づくと荒くみえる。シミュレーションに計算が必要。シミュレーションキャッシュが1フレームで1GB超えることもよくあるため、PCスペックを要求するなどの大変さがあります。

modoのボリュームは流体のようなリアルなアニメーションはできませんが、カメラがどれだけ近づいても荒くならない。シミュレーションが不要のため、PCにかかる負荷が低いというメリットがあります。

ボリュームシェーディング

以下はボリュームシェ-ディング タブのパラメータをアニメーションさせた物です。

密度

ボリュームの厚さを設定する機能。値が50%以下のときは薄く色も明るくなり、値が大きいと厚みのある質感になる。

 

フォールオフ

密度にバイアスを設定する機能。ボリュームはデフォルトで中心から外側に向かって密度が薄くなるので、放射状に密度が変化する。

 

レベル

密度の最大値を設定する機能。AfterEffectsのレベルエフェクトと同じ感じの機能。

 

密度 グラディエント

上にある「密度」をミニグラディエントで制御する便利パラメータかと思うと、全く違うアニメーションになる。ボリュームの厚さをアニメーションしたい場合は、上の「密度」にキーを設定するしかない。

 

ハイパーテクスチャ高さ

レイヤーエフェクトで「ボリューメトリック密度」を設定しているとき、テクスチャが影響する距離を指定する機能。「ディスプレースメント距離」のような機能で、値が小さいとボリュームの中心にテクスチャの影響が出ない。「拡張 & ディゾルブ」を使用する場合は高めに設定しておくとよい。

 

ハイパーテクスチャスケール

ボリュームに設定したテクスチャのスケール。0%のときは100%として扱われる。マニュアルには「テクスチャロケータの スケール 設定と同じ働きをします。」と書かれていたので、テクスチャロケータをスケールした物と比較したが、レンダリング結果は完全に一致しないようだ。

 

テクスチャエフェクト

テクスチャをアニメーションしてくれる便利機能。細かなニュアンスまで制御したいときには、グラディエントレイヤーや、チャンネルにキーを設定した方がいいと思う。
テクスチャエフェクトはパーティクルエイジを使用するので、パーティクルシミュレーションで「パーティクルの寿命」が保存されている必要がある。

 

なし

当然動かない。

 

速度変換

パーティクルの速度ベクトルの方向にテクスチャが移動する。放物線をえがくパーティクルなんかだと変化がわかりやすいかも。

 

拡張

テクスチャのスケールが拡大するアニメーション。テクスチャが大きくなりながらクロスフェードを繰り返す。

 

拡張 & ディゾルブ

拡張のアニメーションしながらボリュームが消える。ディゾルブに使用しているパラメータが「密度 グラディエント」なのかも。個人的に好きなエフェクトで LightWave 時代からよく使ってた。

 

火砕

テクスチャを放射状にブラーしてる感じなかな。

 

エフェクト速度

エフェクトのアニメーション速度を設定する機能。テクスチャエフェクトの画像にある数字はエフェクト速度の値です。遅めは 50% 、早めは 100% を基準に調整開始するといいかもしれない。「拡張 & ディゾルブ」だけ効果が変則的で、50%は30フレーム、25%は60フレーム、10%は150フレームでボリュームが消える。テクスチャや密度の設定により消える時間が変わる気がする。

 

レンダー品質

高い設定にするとボリュームのシェーディングの階調が多く滑らかな見た目になる。

 

シャドー品質

高い設定するとシャドーが滑らかになる。設定が低いと影が階段状なる。

 

スキャッタリング

ボリュームの光の拡散具合を設定する機能。値を大きくすると白く雲のような感じになる。

 

前方スキャッタリング

背後のライトからの拡散具合を設定する機能。ボリュームの明るさが加算されて明るくなるのを期待したが、値を大きくすると黒くなる。

 

ライトを180°回転して前方スキャッタリングの効果を確認してみた。ライトが背面のときより効果が強く現れる。

前方スキャッタリングを高くすると黒くなるため、スキャッタリングも同時に調整する必要があるようだ。またライトにはシャドーが設定されている必要がある。シャドータイプが「なし」の場合はボリューム全体が明るくなる。

 

ボリュームの設定

今回テストに使用したボリュームの設定を書いておきます。基本的にはボリュームの「密度」を100に設定した以外はデフォルトのままです。

 

テクスチャにはMulti‐Fractalレイヤーを使用しました。ボリュームによく合うお気に入りのテクスチャです。レイヤーエフェクトを「ボリューム密度」に設定しています。テクスチャを設定していない場合、テクスチャエフェクトは機能しません。

 

シーンにはライトを2個配置してます。右のライトはボリュームの後ろ側に配置してます。ボリュームの直径は1m。

 

全パラメータレンダリングするのは面倒だったので、変化が明らかにわかるパラメータは省きました。ボリューム機能があれば、こんな爆発も簡単に作ることができます。次回はパーティクルを使用した爆発の作り方について書いてみたいと思います。

CG News

Render Output Manager V2.0 for MODO

ファイル出力を便利にするスクリプト Render Output Manager V2.0 がリリースされました。価格はインディー版$29、スタジオ版$99。
https://gumroad.com/l/renderManager2

2018年5月20日まで40%になるクーポンコードが配布されています。
https://community.foundry.com/discuss/post/1128537

V2機能のリスト:
  • レンダー出力をタイプ別に追加、選択、削除
  • すべてのプリセットチェックボックスを選択、選択解除
  • altまたはctrlを押してチェックボックスの各グループを選択、選択解除
  • 個々の追加ボタンは、altまたはctrlを押して追加されたレイヤーのサフィックス名を「オンザフライ」で追加
  • シェーダーツリーで、すべてのレンダリング出力を選択、選択解除、削除
  • [SCENENAME]に現在のシーンの名前を付けたタグ
  • バージョンパターンと一緒に[VERSION]タグを使用可能。V ### – > V001、V002など
  • [PASS]タグ、これはアクティブパスの名前を “CAUTION”にします:これは動作しませんパスグループをレンダリングすると(レンダリング中に名前を変更できません)
  • プリマルチプライ デフォルトオプション
  • レンダーマネージャのログを保存し、現在のmodoシーンの名前を含むテキストファイルを各フォルダに保存するレンダリングに使用
  • レンダリング出力のレンダリング
  • modoの起動時に出力パターンを強制的に設定する “_ “(設定ファイルにデフォルト値を保存する)
  • アップデート モーション、Detph、AO がワンクリック
  • あなたがアップデート ボタンをクリックしたときに、Motion、Detph、AOも更新したい場合のオプション
  • 可視性向上のための新しいアイコン
  • 若干のUI改善

参考資料

New V-Ray Toon Shader

V-Ray Next の新しいトゥーンシェーダーのビデオが公開されています。
Mayaを使用したデモで、ランプとシャドーをミックス、ライトの色をミックス、ハイライトを分割、ハイライト形状の編集、テクスチャによるタッチの追加など細かな制御機能ができるみたい。

CG News

CGI condensation pack for MODO

modo用の結露、水滴キットが発売されました。価格は$10。
https://gumroad.com/l/WnKhZ

ちなみに、単純な水滴ならプロシージャルテクスチャで作る方法もあります。

概要

ここ数年、私はビールや飲料パックのビジュアライゼーションに取り組みました。その中には結露が必要なものもありました。すべての作業をより簡単に、より素早く行うため、いくつかのテクスチャとパターンを作成しました。
このキットには 12種類のシームレス法線マップと、対応したステンシル(アルファ)マスクが含まれています。 また、123種類の水滴と 3 つのZbrushインサートマルチメッシュ。

Tips

modoでレンダリング完了後に音声ファイルを再生する方法

レンダリング完了後に、任意の音声ファイルを再生する方法について書いてみます。
LightWave、3dsMax、AfterEffectsにはレンダリングが完了したときに、ビープ音や音声ファイルを鳴らす設定がありました。バックグラウンドでレンダリングしながら、他のソフトで作業中してるときにレンダリング完了が音でわかるので便利だったりします。

modoにレンダリング終了後に音を鳴らす設定がないので、レンダリング実行後にオーディオファイルを再生するマクロを作ります。マクロの内容は以下の通りです。

#LXMacro#
render
audio.playFile filename:C:\Windows\media\notify.wav

「audio.playFile」コマンドはmodo 701から搭載された機能で、好きな音声ファイルを指定することができます。このマクロではWindowsのシステム音を指定してます。このマクロをテキストエディタにペーストして、適当な名前「RenderCompleteSound.LXM」みたいな感じで保存すればOKです。

 

マクロファイルはmodoのスクリプトフォルダに入れておくと、コマンドラインに「@RenderCompleteSound.LXM」と入力するだけでマクロを実行することができます。ショートカットに割り当てたり、UIにボタンを追加すると便利かもしれません。

modoのスクリプトフォルダは「システム / ユーザースクリプトフォルダを開く 」で開くことができます。

 

レンダリング完了後にメールを送信したい場合は以下のフリースクリプト「eMailNotify」を試してみると良いかもしれません。
http://community.thefoundry.co.uk/asset/scripts/view.aspx?id=1412

 

参考

https://community.foundry.com/discuss/topic/60548/play-sound-when-render-is-complete

Tips

modoのパーティクルで破壊表現

パーティクルとテクスチャリプリケータでアイテムを破壊するような表現について書いてみます。
大まかな設定は前回の「パーティクルで波紋を表現 」と同じですが、パーティクル位置からパーティクルを2種類発生させています。1つはテクスチャリプリケータ用、もう一つは破片用のパーティクルです。

 

パーティクルの設定は以下の通りです。Particle Simulation_1 はパーティクル発射用で、Particle Simulation_2 と Particle Simulation_3 はコリジョンと衝突したときにパーティクルを発生させる用のシミュレーションです。Particle Simulation_4 は破片用のシミュレーションです。

スケマティックは前回とほぼ同じですが、破片用のシミュレーション部分が長くなっています。
Particle Simulation_2 はテクスチャリプリケータ用のシミュレーションで、コリジョンが当たった位置に発生しとどまります。Particle Simulation_3 は破片用のシミュレーションで、「寿命で除去」をONにして1フレームで消えるように設定しています。このパーティクルを元に Source Emitter を使用して破片がはじけるシミュレーションを設定しています。
Particle Simulation_4 は Particle Operator を使用して破片が回転するように設定しています。回転は「寿命」を「角速度」にリンクすることで設定します。「寿命」に200掛けてるのは回転数を調節するためです。

破片はボックスを「シャッター & グルー」で生成したアイテムを使用しています。「シャッター & グルー」を使うと破片ごとに別アイテムになるので、「センターをバウンディングボックスへ」を実行してメッシュの中心にセンターを移動します。
アイテムはグループタブでグループ化します。このグループをリプリケータの「原型アイテム」に設定すると、グループ内のアイテムがランダムで使用されるようになります。リプリケータで複数のアイテムを複製するときに便利な機能です。

 

レンダリングの設定はディスプレースメント用の画像をテクスチャリプリケータとして使用しています。ディスプレースメント用の画像は「シャッター & グルー」で粉砕したメッシュを適当にバラバラにしてから「形状をブラシへ」機能で作ってみました。ディスプレースメントは凸ではなく、凹にしたいので「上限値」を-100%に設定しました。

ディスプレースメントはデフォルト設定だと荒くレンダリングされるので、Render 設定のマイクロディスプレースメントで「ディスプレースメント評価」を0.2Pixelに変えています。

いくつか似た感じの記事を書いてみましたが、パーティクルとテクスチャリプリケータという同じ機能の組み合わせでも色々なエフェクトや表現が作れるんじゃないかと思います。単純な機能だけど発想しだいで無限の可能性感があって面白いですね。

次回以降も引き続きパーティクル制御について書きながら、徐々にボリュームを使った爆発表現なんかにシフトしていこうかと思います。

Tips

modoのパーティクルで波紋を表現

パーティクルとテクスチャリプリケータで水面に広がる波紋の表現について書いてみます。
結論から言うとテクスチャリプリケータはパーティクルごとランダムに消えるような表現ができませんでした。

大まかな設定は前回の「パーティクルでアイテムに穴を開ける」と同じですが、パーティクル位置から発生させたパーティクルをParticle Operatorで制御してます。

パーティクルの設定は以下の通りです。Particle Simulation_1 は発射用で、Particle Simulation_2はコリジョンと衝突したときにパーティクルを発生させる用のシミュレーションです。

スケマティックも前回とほぼ同じです。 Particle Operator の「寿命」を自身の「サイズ」にリンクすることで、パーティクルが発生してから徐々にサイズが大きくなるように設定しています。イーズイン、イーズアウトをより詳細に制御したい場合はチャンネルリレーションシップを使うと便利です。

スケマティックでは「寿命」を「ディゾルブ」にリンクしていますが、テクスチャリプリケータは「ディゾルブ」に対応していないため透明にならないようです。(リプリケータ、ボリューム、ブロブにはディゾルブが正しく反映されます)

波紋が消えるシーケンスデータを設定すれば寿命に合わせてアニメーションするんじゃないかと思って試したましたが、レイヤーの不透明度と同様に同じフレームで全てのパーティクルが消えてしまいました。もし渇するとリプリケータで波紋のメッシュを発生させて、シェーダーノードを使ってメッシュとのレイ判定をバンプに設定すればうまく行くかも知れません。

波紋のテクスチャは Gradient Fill レイヤーを使用しました。Gradient Fill は放射状のグラデーションを手軽に作れるので便利です。レイヤーエフェクトは「バンプ」に設定して、テクスチャリプリケータに Particle Simulation_2 を設定することでパーティクルの位置に波紋を発生させています。
上記の通り波紋が個々に消えるタイミングは上手く制御できなかったので、単純にレイヤーの「不透明度」に100から0に変化するキーを設定しました。


 

今回はSFっぽいエフェクトにも使えるように、パーティクルが衝突したタイミングで波紋を発生させたかったかったのですが、残念ながらテクスチャリプリケータでは表現できないようでした。単純に雨の波紋を作りたい場合は「Rainレイヤー」を使用すると簡単かもしれません。

次回も引き続きパーティクル制御で、オブジェクトが砕けるような表現について書いてみたいと思います。