Houdini 20.0 Maya

パーティクル

On this page

プラグインは、パーティクルの入力と出力の両方に対応しています。

入力

Mayaパーティクルは、Houdiniアセットにポイントとして入力されます。 MayaパーティクルノードとnParticleノードのどちらも入力として使用することができます。 Mayaパーティクルを入力すると、Mayaのパーティクル単位のカスタムアトリビュートもすべて入力されます。 Mayaは、Double(倍精度)型とベクトル型のパーティクル単位アトリビュートにのみ対応しているので、入力Pointアトリビュートになるのはfloatfloat3のPointアトリビュートのみです。

出力

Houdiniアセットからのポイントは、nParticleノードとして出力されます。 ポイントが出力されると、プラグインはすべてのHoudini PointアトリビュートをMayaのパーティクル単位アトリビュートとして出力します。 MayaはFloat(浮動小数点)型とベクトル型のパーティクル単位アトリビュートにのみ対応しているので、floatfloat3のPointアトリビュートがMayaパーティクルに出力されます。 Mayaパーティクルは、Integer(整数)型のパーティクル単位アトリビュートに対応していないため、int Pointアトリビュートは変換が実施されfloatアトリビュートとして出力されます。 String(文字列)型などの他の型のアトリビュートは無視されます。

マッピングされるアトリビュート

Mayaの標準のパーティクル単位アトリビュートの一部は、Houdiniでは別の名前になります。 以下のアトリビュートは、Houdiniのそれに呼応するPointアトリビュートに自動的にマッピングされます。

Maya

Houdini

position (vector)

P (float3)

velocity (vector)

v (float3)

acceleration (vector)

force (float3)

rgbPP (vector)

Cd (float3)

opacityPP (double)

Alpha (float)

radiusPP (double)

pscale (float)

finalLifespanPP (double)

life (float)

particleId (double)

id (float)

Note

Houdiniではage(経過秒数)アトリビュートが明示的に表現されますが、MayaではbirthTimeと現在のフレームから計算されます。 アセットがbirthTimeアトリビュートを明示的に定義していた場合、そのbirthTimeアトリビュートが出力に使用されます。 birthTimeを定義していない場合は、ageアトリビュートからbirthTimeが計算されます。

Nucleusソルバ

アセットがポイント/パーティクルを出力するためにnParticleノードを作成すると、そのnParticleノードはアクティブなNucleusソルバに割り当てられます。 つまり、出力パーティクルがその後に同じNucleusソルバに割り当てられているすべてのシミュレーションに参加することになります。 これによって、望み通りの結果になる場合もあれば、ならない場合もあります。

例えば、Houdiniアセットが入力ポイントをいくつか受け取り、一部のポイントを削除して、その結果のポイントを出力するとします。 シミュレーションされたnParticleを入力として使用した場合、出力されるnParticleがその入力のnParticleと同じNucleusソルバに割り当てられます。 その出力パーティクルはその入力パーティクルと全く同じ位置を持つため、この入力パーティクルは出力パーティクルと衝突することになり、入力パーティクルの動きに影響が及びます。 この場合、衝突を回避するには、nParticleノードの1つを別のNucleusソルバに割り当てる必要があります。

開始フレーム

出力nParticleノードを作成するには、HoudiniアセットをHoudiniパーティクルの開始フレーム(またはその後)で同期する必要があります。 開始フレーム前にアセットをロードした場合、開始フレームに時間を設定して再同期するまで、出力パーティクルは表示されません。

パーティクルを表示するには、出力nParticleの開始フレームをHoudiniパーティクルの開始フレーム(またはその前)に設定する必要があります。 開始フレームがデフォルトのNucleus開始フレームより前である場合、Nucleusノードの開始フレームを一致するように設定します。 この結果、同じNucleusソルバに割り当てられている他のオブジェクトと衝突する場合は、出力nParticleを別のNucleusソルバに割り当てる必要があります。

Maya

はじめよう

入力および出力のジオメトリ

Houdini Engine for Mayaを使用する

リファレンス