2018年4月

Tips

modoのパーティクルでアイテムに穴を開ける

パーティクルとテクスチャリプリケータでアイテムに穴を開ける表現について書いてみます。
大まかな設定は前回の「パーティクルでアイテムを濡らす」と同じですが、今回はパーティクルがコリジョンと衝突したら消滅して、新たにパーティクルを発生するように設定しています。

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

スケマティックも前回とほぼ同じです。 Particle Operator の「衝突イベント」を自身の「消滅」にリンクすることで、コリジョンに衝突したタイミングでパーティクルを消滅させている点が違います。

レンダリングの設定は Constant レイヤーのレイヤーエフェクトを「ディゾルブ」に設定し、テクスチャリプリケータにParticle Simulation_2 を設定してアイテムに穴が開いたように見せています。単純ですね。

 

パーティクルがアイテムと衝突するだけなら「パーティクルで文字を書く」と同じで、新たにパーティクルを発生させなくてもいいんじゃないか?と思うかもしれません。

最初はそう設定していたのですが、テクスチャリプリケータの「ランダムサイズ」「ランダム回転」を使用すると、アニメーションレンダリング時に、一部のパーティクルでフレームによってパーティクルのサイズや回転が変わってしまうという問題が発生しました。原因は謎ですがコリジョンの影響でフリップしているように見えたので、新しくパーティクルを発生させることで問題を回避出来ました。

 

他にも穴を開けるような表現をする場合は、リプリケータとレンダーブーリアンを使うこともできます。下の画像では色を設定していますが、マテリアルの設定でディゾルブを100に設定すると透明にくり抜くことができます。
レンダーブーリアンはメッシュの形状を使用して複雑なくり抜きができますが、メッシュが重なっている箇所で望ましくないレンダリング結果になることがあります。欲しい表現に適した方法を選択するといいと思います。

 

次回も引き続きパーティクル制御で、雨の波紋のような表現について書いてみたいと思います。

Tips

modoのパーティクルでアイテムを濡らす

今回もパーティクルとテクスチャリプリケータでアイテムを濡らすような表現について書いてみます。
大まかな設定は前回の「パーティクルで文字を書く」と同じですが、今回はパーティクルがコリジョンと衝突したら、パーティクルを発生するように設定しています。

 

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

modoではパーティクルから別のパーティクルを発生させたい場合は、Particle Simulationノードを複数作成します。Particle Simulation 間の連携は Collector / Emitter ノードを使用します。Particle Operator はリンクされた Particle Simulation のパーティクルを制御するためのノードです。

このスケマティックでは Particle Simulation_1 に Particle Operator をリンクし、「特長の追加」から「衝突イベント」と「位置」を追加しています。
「衝突イベント」はコリジョンと衝突した場合に、衝突したことを出力するチャンネルです。これを Collector / Emitter の「パーティクル放射」にリンクすることで、コリジョンに衝突したタイミングでパーティクルを発生させています。
「位置」はそのままパーティクルの位置です。 Collector / Emitter にも「位置」を追加してリンクすることで、 Particle Simulation_1 の個々のパーティクルの位置からパーティクルが発生するようになります。Particle Operator と Collector / Emitter の ◇ をリンクするのを忘れがちなので要注意です。

パーティクルの速度や重量のによりますが、パーティクルが線のように発生しない場合は Particle Simulation_1 の ステップ数を 8 など大きな値を設定すると「衝突イベント」の回数が多くなり、線のようにパーティクルを発生させることができます。

レンダリングは前回同様に Constant レイヤーをテクスチャリプリケータで設定しています。濡れたマテリアルを作成して「レイヤーマスク」、あと「バンプ」を追加してます。

次回も引き続きパーティクルとテクスチャリプリケータで、オブジェクトに穴を開ける表現について書いてみたいと思います。

Tips

modoのパーティクルで文字を書く

パーティクルとテクスチャリプリケータ機能で文字を書くような表現について書いてみます。パーティクルとコリジョンの設定方法がわからない場合は、modo Japan Groupのチュートリアルがお勧めです。

パーティクルの制御は見たままで単純です。エミッターを文字の形になるように一筆書きでアニメーションしています。文字間は「放射レート」にキーを設定してパーティクルが出ないように設定しています。
エミッターの設定は放射タイプを「均一」に変更して、一定間隔でパーティクルが発射されるようにしています。さらに「速度継承」をOFFにして、エミッターの移動がパーティクルに影響をあたえないように設定しています。

 

コリジョンの設定も単純で「跳ね返り」「マージン」「パーティクル衝突粘性」を 0 にします。これで平面にあたったパーティクルがその場で停止します。

 

文字部分のレンダリングはテクスチャリプリケータ機能を使用します。単色の線を表現する場合は Constant レイヤーを使うのが手軽です。Constant レイヤーは単色塗りつぶし専用のレイヤーです。ブレンドモードで画像の色味を少し変えたい場合なんかにも便利に使えます。

 

テクスチャリプリケータの機能が把握出来れば、作り方は簡単に想像できたんじゃないでしょうか。次回はもう少し手間の掛かったパーティクル制御でアイテムが濡れる表現について書いてみます。

 

参考

CG News

Arnold 5.1

新しいToonシェーダが組み込みこまれたようです。絵を見た感じシェーダーベースのラインに見えます。どんな感じか使ってみよう。
https://www.solidangle.com/news/arnold-5-1/

 

トゥーンシェーダー

Contour Filterと組み合わせて提供されるノンフォトリアリスティックレンダリング(NPR)ソリューションの一部として新しい Toonシェーダ が統合し、信じられないほど新しいスタイルや効果を実現しやすくなりました。Arnoldは美しいフォトリアリスティックな画像を作成することで長い間知られていますが、多くのユーザーがトゥーンやノンフォトのルックを可能にする機能を求めています。この新しいシェーダは非常に幅広い選択肢を広げます。

CG News

After Effects CC 2018.1

After Effects CC 2018 年 4 月リリース(バージョン 15.1)がリリースされました。
https://helpx.adobe.com/jp/after-effects/using/whats-new.html

新機能

  • マスタープロパティ
  • 高度なパペットツール
  • Adobe イマーシブ環境
  • 強化された VR 平面から球体
  • エッセンシャルグラフィックスパネルの強化
  • プロパティリンクピックウイップ
  • モーショングラフィックステンプレートをプロジェクトとして開く
  • データ駆動型アニメーションの強化
  • ビデオリミッター
  • カラー補正とカラーマネジメントの強化
  • パフォーマンスの向上(強化された GPU メモリの使用、グレインエフェクトの CPU パフォーマンスの強化)
  • ビデオおよびオーディオ形式のサポートの更新(Camera Raw 形式のサポートの強化、ハードウェアで高速化された H.264 デコード、BMP、GIF およびアニメーション GIF 形式のインポーター、MPEG-1 オーディオレイヤー II 形式のサポート)
  • チームプロジェクトの強化
  • ファイルが見つからないことを示すダイアログボックスの集約
  • 環境に無いフォントダイアログボックスの無効化
  • 複数のフッテージアイテムに対するプロキシの無効化
  • プロジェクトパネルでコピーし、選択したフォルダーにペースト
  • プロパティの参照テキストレイヤー
  • アンカーポイントを新しいシェイプレイヤーの中央に配置
  • 「テキストからシェイプを作成」または「テキストからマスクを作成」で、選択したレイヤーの上にレイヤーを作成
  • 比較(暗)、比較(明)、ソフトライト描画モードの更新
  • レイヤーメニューコマンドの集約
Tips

modoのパーティクルの基礎

パーティクルの基礎で、パーティクルで発生しやすい問題の対処方法について書いてみたいと思います。

パーティクルが震える

パーティクルが平面とコリジョン判定するようなシーンで発生しやすいのが、パーティクルが静止せずプルプル動き続ける現象です。

これはコリジョンアイテムのダイナミクス設定「パーティクル衝突粘性」のデフォルト値の 50 mm 原因です。「パーティクル衝突粘性」を 0 または 100 mm など大きな値にすることで解決することができます。


「パーティクル衝突粘性」はパーティクルがコリジョンアイテムの表面をどの程度の距離くっつくかという設定です。水がアイテム表面をつたうような表現のときに使用できます。

パーティクルが停止するかしないか微妙なときに、「パーティクル衝突粘性」の値が影響して震える現象が発生するような気がします。

 

パーティクルがコリジョンを突きぬける

パーティクルの速度が速い場合に、コリジョンを突きぬけてしまうことがあります。これは Particle Simulation の「ステップ」の値を大きくすることで解決することができます。
「ステップ」は「シミュレーションを演算」した場合のみ確認できます。シミュレーションの再生ボタンによるプレビューは「ステップ」1 固定なので注意が必要です。

 

パーティクルの軌道がカクつく

パーティクルエミッターの移動速度が速い場合に、パーティクルの軌道がカクカクしてしまうことがあります。これも Particle Simulation の「ステップ」の値を大きくすることで解決することができます。

modoに限らずCGのシミュレーションはデフォルトで1フレーム単位で計算するソフトが多いです。パーティクルの速度やエミッターの移動が速い場合は、1フレーム間隔だと計算精度が足りなくなりコリジョン抜けやカクつきが発生します。そんなときのために1フレーム間隔より細かく計算するための設定が「ステップ」です。計算量は指数関数的に増えますが、正確な計算結果を得ることができます。

modoではパーティクルとメッシュのコリジョンを設定するために「ダイナミックコライダー」を適用すると solver アイテムが追加されます。 solver アイテムにも「演算精度」という「ステップ」と同じような設定がありますが、「演算精度」を上げてもパーティクルの突きぬけには変化がないようです。リジッドボディーやソフトボディーと連携する場合には「演算精度」が影響してくるのかも知れません。

Tips

TurbulenceFDのキャッシュをVDBに変換する方法

LightWaveやCinema4D用のフルードダイナミクスプラグイン TurbulenceFD のキャッシュファイルをVDBに変換する方法について書いてみます。

今まで気がつかなかったのですがTurbulenceFD v1.0 Build 1422(2017-03-23)からbcf2vdbコマンドラインユーティリティが追加されました。bcf2vdbはTurbulenceFDのキャッシュファイル.bcfを.vdbに変換するツールです。このツールはプラグインの圧縮ファイルに含まれているので最新版をダウンロードしてみてください。

変換方法
  1. コマンド プロンプトを起動します。
  2. コマンド プロンプトウィンドウに bcf2vdb.exe をドラッグアンドドロップします。
    ドラッグアンドドロップすると、コマンドプロンプトにbcf2vdb.exe へのパスが表示されます。
  3. スペース キーを押します。
  4. キャッシュファイル.bcfを保存しているフォルダをドラッグアンドドロップして、エンターキーを押します。.bcfと同じフォルダに.vdbファイルが生成されます。

このツールはファイルの保存先やファイル名のパターン、レンダリングする必要がないチャネルを選択することができるようです。

このツールを使うとLightWaveやCinema 4Dで計算したシミュレーション結果を他のソフトで使用することができるようになります。これは便利ですね!

 

参考

https://forum.jawset.com/viewtopic.php?p=6278#p6278