現実の世界では、すべてのオブジェクトにそれ自体を定義するマテリアル プロパティがあります。Lagoa では、すべてのポイント クラウドまたはポリゴンメッシュにそれ自体を定義するマテリアル プロパティが必要です。これによって、シミュレータがそれらの計算方法を認識できます。これらのマテリアルは、Lagoa マテリアル ノードで適切に設定されます。
マテリアル ノードは、基本的に[Set Data]ノードの大きなグループであると言えます。シミュレータによって計算されるポイントのマテリアル データを設定することによって、シミュレーション内のすべてのマテリアルをまとめて解析します。
たとえば、ある金属が一種の可塑性デフォーメーションを受けた場合、その金属は変形後に基本シェイプに戻らないとします。これは、可塑性と弾性の両方のプロパティを使用することによってシミュレートできます。
[Lagoa Material Cloth(Lagoa マテリアル クロス)]ノードは、ポイント クラウドのマテリアル プロパティを設定するための標準的なマテリアル コンパウンドです。これは、[Lagoa Simulate Multiphysics(Lagoa 複数の物理特性のシミュレート)]ノード(シミュレータ)で有効にして計算できるすべてのサポート対象属性を外部公開します。
マテリアルを設定する場合、これらのプロパティがシミュレーションで解析されるように、[Simulate Multiphysics]ノードで対応するオプションを有効にする必要があるということを忘れないようにしてください。たとえば、マテリアル ノードで[Viscosity]パラメータを設定する場合は、必ず[Simulate Multiphysics]ノードで[Enable Viscosity]オプションを選択してください。
[Lagoa Main Material(Lagoa メイン マテリアル)]グループのその他の Lagoa マテリアル コンパウンドは、[Lagoa Main Material]コンパウンドの「サブセット」に過ぎません。これらのコンパウンドでは、泡、ゼリー、粘度の高い流体など、作成しているマテリアルのタイプで必要とされないさまざまなプロパティが非表示になっています。たとえば、クロス マテリアルには[Surface Tension]プロパティが必要ないため、これらのプロパティは[Material Cloth]ノードでは外部公開されません。
ポイント クラウドの ICE ツリーで、複数のマテリアルを定義することができます。たとえば、水とオイルのマテリアルがある場合、それぞれのマテリアルを使用できるフェーズを定義できます。
詳細については、「Lagoa エフェクトのフェーズを作成する」を参照してください。
弾性とは、デフォーメーションが適用された後に元のシェイプに戻る、マテリアルの能力です。Lagoa では、弾性は構造を作成するポイント間のばねのような接続によってコントロールされます。
弾性構造は、水平、垂直、対角の黄色いリンクで結合されているポイントとして表示されます。
マテリアルの弾性を設定するには、マテリアル コンパウンドで[Elasticity Settings]パラメータを設定します(「Lagoa Material Cloth(Lagoa マテリアル クロス)」を参照)。
続けて[Lagoa Simulate Multiphysics(Lagoa 複数の物理特性のシミュレート)]ノードで[Enable Elastics]オプションを選択し、シミュレーション全体を計算する際に弾性の設定を使用できるようにします。
[Lagoa Simulate Multiphysics]ノードで[弾性サブステップ](Elastic Substeps)オプションを使用して、[Elasticity Settings(弾性の設定)]パラメータのみに個別のサブステップ値を設定することができます。詳細については、「精度を高めるためのシミュレーションのサブステップの設定」を参照してください。
通常は弾性構造をひとまとめにしておきますが、フォースによる抵抗があまりにも大きすぎる場合など、構造を切り離すことがあります。
マテリアル コンパウンドの[弾性の分割ポイント](Elasticity Breaking Point)および他の[弾性](Elasticity)に関するオプションによって、リンクを弾性構造に分割するために必要なデフォーメーションの量が決定されます(「Lagoa Material Cloth(Lagoa マテリアル クロス)」を参照)。
続けて[Lagoa Simulate Multiphysics(Lagoa 複数の物理特性のシミュレート)]ノードで[Allow Tearing(分割を許可)](Allow Structure Tearing)オプションを選択し、ポイントの弾性構造が分離するようにします。
衝突オブジェクトにくっつくポイントがある場合は、マテリアル コンパウンドで[境界での弾性](Elasticity at Boundaries)オプションを選択し、これを許可します。続けて、衝突オブジェクトごとに、[Lagoa Set Collision Data(Lagoa 衝突データの設定)]コンパウンドで[弾性ブレーク ポイント](Elastic Breaking Point)の値を設定します。
左側:[Elasticity]と[Elastic Breaking Point(弾性ブレーク ポイント)]の値が非常に高いため、オブジェクトが衝突オブジェクトから跳ね返ります。
右側:[Elasticity]の値は同じですが、[Elastic Breaking Point(弾性ブレーク ポイント)]の値が低いため、衝突オブジェクトのサーフェイス摩擦および重力フォースが強すぎると、構造が分離します。
弾性構造では、各フレームのポイント放出が他のクラスタとマージしない個別のオブジェクトのように動作するため、これを個別のクラスタと考えることができます。たとえば、数フレームごとに「クロス(布)のシート」を放出する一方で、それらがすべて 1 つの弾性構造にまとまらないようにするとします。
もちろん、クラスタをまとめてマージするように選択することもできます。各クラスタには ID があり、同じ ID を持つクラスタのみをマージすることができます。
「クロス(布)」のポイント クラウドがクラスタとして放出されているため、マージされることはありません。
マージ対象のポイントの放出ノードで、一致する[クラスタ ID](Cluster ID)を指定します。同じ ID を持つクラスタのみをマージすることができます。
[ジオメトリによるクラスタ](Cluster by Geometry)および[Cluster at Emission(放出時にクラスタ)]オプションの選択を解除します。
[Lagoa Simulate Multiphysics(Lagoa 複数の物理特性のシミュレート)]ノードで[可塑性を解析](Solve Plasticity)オプションを選択します。
非弾性とは、ポイントが持つ剛性の量です。ポイントは、互いに作用するときや衝突オブジェクトと関わるときに、剛性と非弾性を帯びます。摩擦は、ボディ同士の間で作用し、モーションに逆らい減衰させる傾向のある抵抗力です。
マテリアルの非弾性を設定するには、マテリアル コンパウンドで[非弾性の設定](Inelastic Settings)パラメータを設定します(「Lagoa Material Cloth(Lagoa マテリアル クロス)」を参照)。
続けて[Lagoa Simulate Multiphysics(Lagoa 複数の物理特性のシミュレート)]ノードで[非弾性を有効](Enable Inelastics)オプションを選択し、シミュレーション全体を計算する際に非弾性の設定を使用できるようにします。
[Lagoa Simulate Multiphysics]ノードで[非弾性サブステップ](Inelastic Substeps)オプションを使用して、[Inelastic Settings(非弾性の設定)]パラメータのみに個別のサブステップ値を設定することができます。詳細については、「精度を高めるためのシミュレーションのサブステップの設定」を参照してください。
粘性は、液体が流れる抵抗のレベルを設定します。低い値では水のようなさらっとした液体の流れがシミュレートされ、高い値ではシロップのような粘度の高い流体が作成されます。
重い液体はその動作の定義を重力にも依存します。重力を少なくすると液体のダイナミックが減速し(粘性を増加させることと同じ)、液体のダイナミックを減速すると重力が減ります。
パーティクルの質量も、流体の粘度に影響します。このため、質量を適切なレベルに設定して、適切なエフェクトを得られるようにしてください。質量の値を大きくすると、結果の粘度が高くなります。
マテリアルの粘性を設定するには、マテリアル コンパウンドで[Viscosity Settings(粘性の設定)]パラメータを設定します(「Lagoa Material Cloth(Lagoa マテリアル クロス)」を参照)。
続けて[Lagoa Simulate Multiphysics(Lagoa 複数の物理特性のシミュレート)]ノードで[粘性を有効](Enable Viscosity)オプションを選択し、シミュレーション全体を計算する際に粘性の設定を使用できるようにします。
粘性が 80 に設定されたパーティクル。[Surface Tension(サーフェイス張力)]の値も、粘度の高い流体の作成に大きく影響します。
サーフェイス張力とは、水の分子どうしがくっついて 1 つの結合体となるように、個々のパーティクル間に存在する張力の度合いです。通常、流体が自力で「元に戻って」できるだけ緊密にグループ化しようとする場合に、サーフェイス張力は流体によって占められる合計領域を減らそうとします。
サーフェイス張力により、液体をシミュレートするパーティクルは、落下する際の水の粒のように、球状になる傾向があります。
マテリアルのサーフェイス張力を設定するには、マテリアル コンパウンドで[サーフェイス張力](Surface Tension)パラメータを設定します(「Lagoa Material Cloth(Lagoa マテリアル クロス)」を参照)。
たとえば、はちみつのような粘度の高い液体を容器から取り出すときに、液体がスプーンにくっついたままにするとします。または、液体がテーブルの上を流れているときに、その液体がテーブルから流れ落ちるようにもするとします。どちらの場合も、サーフェイス張力を高くすることによって、これらの流れが可能になります。値を低くすると、パーティクルどうしがあまりくっつかなくなるので(水など)、液体の流れはより自由になります。
[Lagoa Simulate Multiphysics(Lagoa 複数の物理特性のシミュレート)]ノードで[圧力を有効](Enable Pressure)オプションを選択し、シミュレーション全体を計算する際にすべての圧力の設定を使用できるようにします。
[Surface Tension(サーフェイス張力)]の値を 2 に設定すると、パーティクルは互いに近づいたときに引っ張り合うようになります。
[Internal Pressure(内部圧力)]パラメータも、パーティクル間の引き付け合うフォースとして機能します。[External Pressure(外部圧力)]パラメータは、パーティクル「エレメント」を結合シェイプにまとめて保持するようにします。
圧力は、流体の非圧縮性を制御する分野であり、流体がレスト状態になるように導きます。低圧力ゾーンは流体を高圧力ゾーンに導き、高圧力ゾーンは流体を低圧力ゾーンに導きます。圧力は、流体内であるポイントから別のポイントに移動します。この動きは流体がレスト状態に達するまで続きます。レスト状態とは、流体が安定したとみなされるポイントです。
高い圧力にさらされた流体は常により安定した位置に「抜け出そう」と、低圧力ゾーンに移動します。低圧力ゾーンの流体は、レスト密度に一致するまで、サーフェイス張力を使用してボリュームとして再グループ化しようとします。Lagoa では、このレスト状態は[サーフェイス張力](Surface Tension)パラメータに基づいています。
マテリアル コンパウンドの[圧力の設定](Pressure Settings)パラメータ(「Lagoa Material Cloth(Lagoa マテリアル クロス)」を参照)は、幅広い圧力の反応を定義し、液体と弾性オブジェクトの両方で、拡張、圧縮、張力エフェクトなどをモデル化できるようにします。
非弾性設定は圧力と併用もできます。その場合、圧力はポイント間の「液体の橋」となり、摩擦率の高い濡れた粒状マテリアルが作成されます。
Lagoa 圧力モデルでは、2 つの圧力係数を使用します。1 つ目はポイント間の引き付け合う力([内部圧力](Internal Pressure))で、2 つ目はポイント間の反発力([外部圧力](External Pressure))です。2 つの力の間のバランスをとったものが、レスト密度です。
コインの裏と表のように、一方の圧力パラメータを低くすると、実質的にもう一方の値が高くなります。必要に応じて、一方のパラメータ タイプだけを使用するように選択することもできます。シミュレータは、両方の圧力パラメータを同時に使用した場合も、一方だけを使用した場合も、機能します。
ポイントどうしがある一定の距離にある場合、[Internal Pressure(内部圧力)]は、しずくや軌跡のように、ポイントでクラスタを形成します。外見的には、これは流体のサーフェイス張力および粘着エフェクトに関連しています。
[Internal Pressure(内部圧力)]が 0.2 に設定されています。
[Surface Tension(サーフェイス張力)]が 2、[External Pressure(外部圧力)]は 1 に設定されています。