On this page |
プラグインは、パーティクルの入力と出力の両方に対応しています。
入力 ¶
Mayaパーティクルは、Houdiniアセットにポイントとして入力されます。
MayaパーティクルノードとnParticle
ノードのどちらも入力として使用することができます。
Mayaパーティクルを入力すると、Mayaのパーティクル単位のカスタムアトリビュートもすべて入力されます。
Mayaは、Double(倍精度)型とベクトル型のパーティクル単位アトリビュートにのみ対応しているので、入力Pointアトリビュートになるのはfloat
とfloat3
のPointアトリビュートのみです。
出力 ¶
Houdiniアセットからのポイントは、nParticle
ノードとして出力されます。
ポイントが出力されると、プラグインはすべてのHoudini PointアトリビュートをMayaのパーティクル単位アトリビュートとして出力します。
MayaはFloat(浮動小数点)型とベクトル型のパーティクル単位アトリビュートにのみ対応しているので、float
とfloat3
の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ソルバに割り当てる必要があります。