>   >  「Solaris」を代表とする作業効率を上げるバージョンアップ、~Houdini 18 レビュー
「Solaris」を代表とする作業効率を上げるバージョンアップ、~Houdini 18 レビュー

「Solaris」を代表とする作業効率を上げるバージョンアップ、~Houdini 18 レビュー

<3>Pyro SparseとCombustion

Sparse Modeの実装とCombustionのSOP制御

バージョンアップごとに改良が加えられている印象のあるPyroですが、Houdini 18でも魅力的な改良がなされています。まず「Sparce Mode」なるものが実装されました。これを用いることで、流体の計算を領域内の必要な箇所のみ行うことができます。そのため、従来よりも計算コストが下がり、より早く効率的に煙や炎のシミュレーションを行えるようになりました。シミュレーション領域を自動で最適化してくれるため、従来のシミュレーションで用いていたGas Resize Fluid Dynamicノードも必要としません。これまでは、SmokeTrail 系のシミュレーションでは、Instancingの機能を利用して計算領域の最適化を行うなど、工夫が必要な場面が多々ありましたが、このSparse Modeが実装されたことにより、ユーザーは難しいネットワークを組む必要がなくなり、より画づくりに時間を割くことができるようになります。Sparse Modeが組み込まれた専用のノードであるSmoke Solver (Sparse)ノード、Pyro Solver(Sparse)ノード、および対となるSmoke Object(Sparse)ノードを用いることで、これらが利用可能です。

もうひとつ、Combustion(燃焼)に関する変更も行われました。従来のバージョンでは、CombustionはPyro Solverのパラメータのひとつとして、シミュレーション内で管理されてきましたが、今バージョンでは、それがSOPでの制御に変更となりました。炎が燃え広がるようなシミュレーションの場合、従来の方法では、炎が燃え広がる速さやその度合いはシミュレーションしてみるまでわからず、それを調整する度に再度シミュレーションし直す必要がありました。燃焼に関するコントロールがSOPレベルで行えるようになったことで、それらを直観的に制御することが可能になっています。

SOP制御によるCombustion(燃焼)

Pyro Solver(Sparse)を用いた煙のシミュレーションでVelocityを表示したもの。シミュレーション領域内のうち、煙の到達していない部分にはVelocityデータがないことがわかります

SOP制御でのCombustion(燃焼)の様子。上図がSOPによるCombustionの燃え広がり方、下図がそれによる炎のシミュレーション。SOPで制御した燃焼度合いとシミュレーションでの炎の燃え広がり方が大体同じになっているのがわかります

Combustion制御のネットワーク図とパラメータ。Combustionノードが新たにSOPに追加され、それを用いることで燃焼に必要なアトリビュートを付与できるようになっています

Combustionノードには、Visualize機能も付いており、温度や燃料、燃焼度合いなどを視覚的にも確認できます

<4>剛体シミュレーション

RBD Bullet Solver(SOP)のGuide Simulation機能が強力

剛体シミュレーションに関しても、大幅に改良が加えられました。今回のアップデートで、SOP階層でRBDシミュレーション用のネットワークを構築することができるようになりました。Vellumのネットワーク構築と似た印象になっています。それにあたっていくつか新しいノードが追加されました。主なものとしては、RBD Configure(SOP)、RBD Bullet Solver(SOP)の2つです。これまでWrangleノードを用いて行なっていた下準備の多くが、RBD Configure(SOP)で行えるようなっており、それをRBD Bullet Solver(SOP)に繋ぐだけで、RBDのシミュレーションができるようになっています。またRBD Bullet Solver(SOP)は、DOPネットワークを内包しており、ユーザーが任意のフォースなどを追加することも可能です。

RBD Bullet Solver(SOP)には、他にも様々な機能が内包されていますが、筆者が最もインパクトを受けたのがGuide Simulation機能です。ガイドアニメーション用のジオメトリを用意することで、RBD Bullet Solver(SOP)がそのガイドの動きに沿ったシミュレーション結果を作成してくれます。どのくらいガイドに沿ったシミュレーションにするかはパラメータで調整可能ですし、ガイドの動きに沿いつつも強い力のかかった個所はコンストレイントを外すなどもできるので、動きを演出しつつも自然なシミュレーションが行えます。難しいことを考えずシミュレーション結果を直観的にコントロールできる感覚は新鮮でした。

RBDシミュレーションとガイド

シミュレーションに必要な情報を付与するRBD Configure(SOP)【1】。そして実際にシミュレーションを行うRBD Bullet Solver(SOP)【2】。これらノードに以前のアップデートで実装されていた、RBD Material Fracture(SOP)やRBD Constraint Properties(SOP)をコネクトするだけで、SOPレベルでのRBDシミュレーションが可能となっています

ガイドジオメトリ。BoxをBend(SOP)で左右に曲げたもの

ガイドを元に行われたシミュレーション。ガイドの動きに近いものになっているのがわかります。どれだけガイドに沿ったシミュレーションにするかも調整できるので、直観的にシミュレーションの動きをコントロールできるようになりました

ガイドシミュレーションの作例
Images courtesy of Artem Smirnov

RBD Bullet Solver(SOP)には、Constraint情報をヒストグラムとしてビュー上に表示する機能もあります。これにより、様々なConstraint情報を俯瞰して見ることが可能となりました

Chipping 機能の強化

RBD material Fracture SOPのChippingの機能が、以前のバージョンと比べてより洗練され、より自然に細かな破片が生成されるようになりました
Images courtesy of Jonathan Gaspari

次ページ:
<5>そのほかの注目すべき機能

特集