nParticle オブジェクトは内部ランプを使用して作成され、同じ nParticle ノード上にあるパーティクル単位の適切なアトリビュートに自動的に接続されます。内部ランプを使用すると、パーティクル単位のアトリビュートを nParticle オブジェクトに適用して nParticleShape ノードのアトリビュート エディタ(Attribute Editor)に含める方法をコントロールできます。
nParticleShape ノードと内部ランプとの接続は、異なるノード間ではなく同じノード上に発生するという点で標準的ではありません。 たとえば、ランプ テクスチャ ノードへの外部接続は存在しません。この接続は、入力アトリビュートをスケール入力リストのランプから選択するときに作成されます。
たとえば、半径スケール(Radius Scale)ランプで、半径スケールの入力(Radius Scale Input)に正規化した存在時間(Normalized Age)などを選択すると、パーティクル単位のダイナミック アトリビュートが更新され、入力接続と出力接続が作成されます。nParticle の半径はランプの出力によって定義され、正規化した存在時間に従ってパーティクル単位でパーティクルに適用されます。
半径スケールの入力(Radius Scale Input)からオフ(Off)を選択すると、入力と出力間の接続が解除され、出力アトリビュートがダイナミック アトリビュートであれば削除されます。ダイナミック アトリビュートは、元々 ダイナミック アトリビュートの追加(Add Dynamic Attribute)などの別の方法で作成されていた場合でも、削除されていることが分かります。選択した nParticleShape ノードが現在使用しているパーティクル単位の内部ランプを確認するには、パーティクル単位(配列)アトリビュート(Per Particle (Array)Attributes)を確認します。
これらのパーティクル単位のアトリビュートをエクスプレッションを使用してコントロールする場合は、まず、それぞれのランプの入力スケール アトリビュートをオフ(Off)に設定して削除する必要があります。
このセクションでは、nParticle 内部ランプの一覧を挙げ、nParticle シミュレーションでの使用例を紹介します。
内部ランプ | パーティクル単位のアトリビュート | 使用例 |
---|---|---|
半径スケール(Radius Scale) | 半径 PP (Radius PP) | 入力を存在期間(Age)に設定し、存在期間の経過に従ってパーティクルが減少するようにします。半径スケール(Radius Scale)を参照してください。 |
衝突の強さのスケール(Collide Strength Scale) | 衝突の強さ PP (collideStrengthPP) | 入力を半径(Radius)に設定し、小さなパーティクルが他の nucleus オブジェクトと衝突しないようにします。衝突の強さのスケール(Collide Strength Scale)を参照してください。 |
バウンス スケール(Bounce Scale) | バウンス スケール PP (bounceScalePP) | 入力をスピード(Speed)に設定し、パーティクルが高速で移動するほど、衝突での偏向やリバウンドが大きくなるようにします。バウンス スケール(Bounce Scale)を参照してください。 |
摩擦スケール(Friction Scale) | 摩擦スケール PP (frictionScalePP) | 入力をスピード(Speed)に設定し、パーティクルが高速で移動するほど、衝突で相対モーションへの抵抗が小さくなるようにします。摩擦スケール(Friction Scale)を参照してください。 |
スティッキネス スケール(Stickiness Scale) | スティッキネス スケール PP (stickinessScalePP) | 入力を半径(Radius)に設定し、大きいパーティクルほど、他の nucleus オブジェクトにくっつきにくくなるようにします。スティッキネス スケール(Stickiness Scale)を参照してください。 |
質量スケール(Mass Scale) | 質量(Mass) | 入力を半径(Radius)に設定し、大きいパーティクルほど質量が大きくなるようにします。質量のスケール(Mass Scale)を参照してください。 |
ポイント フィールド スケール(Point Field Scale) | ポイント フィールド スケール PP (pointFieldScalePP) | 入力を半径(Radius)に設定し、大きなパーティクルが相互に引き付けたり反発したりするようにします。ポイント フィールド スケール(Point Field Scale)を参照してください。 |
不透明度のスケール(Opacity Scale) | 不透明度 PP (opacityPP) | 入力を正規化した存在時間(Normalized Age)に設定し、存在期間の長いパーティクルほど徐々にぼやけて消えていくようにします。不透明度のスケール(Opacity Scale)を参照してください。 |
カラー(Color) | なし | 入力をランダム化された ID (RandomizedID)に設定し、パーティクルの発生時にカラーがランダムに割り当てられるようにします。カラー(Color)を参照してください。 |
白熱光(Incandescence) | 白熱光 PP (incandescencePP) | 入力を正規化した存在時間(Normalized Age)に設定し、パーティクルの存在時間が長くなるにつれてライトの量とカラーが減少するようにします。白熱光(Incandescence)を参照してください。 |
粘度スケール(Viscosity Scale) | 粘度スケール PP (ViscosityScalePP) | 入力を正規化した存在時間(Normalized Age)に設定し、液体パーティクルの存在時間が長くなるにつれて粘度が大きくなり、液体の流れる速度が遅くなるようにします(例: 冷えていく溶岩流のエフェクト)。粘度スケール(Viscosity Scale)を参照してください。 |
表面張力スケール(Surface Tension Scale) | 表面張力スケール PP (surfaceTensionScalePP) | 入力をスピード(Speed)に設定し、高速で移動する液体パーティクルが相互に接近したまま、表面は液体状に維持されるようにします。表面張力スケール(Surface Tension Scale)を参照してください。 |
パーティクル単位の内部アトリビュート ランプは、他の Maya ランプ エディタと同様に機能し、補間(Interpolation)オプションや入力選択など類似するコントロールを持ちます。nParticle の内部ランプには、入力最大値とスケール乗数のランダム化を設定できる追加機能があります。
このランプで、選択した位置(Selected Position) (横方向の要素)は、ランプの入力値またはランプをマッピングしたプロパティにより定義されます。たとえば、ランプのスケール入力(Scale Input)を正規化した存在時間(Normalized Age)に設定している場合、ランプの左端の位置は nParticle のライフスパンの先頭を表し、位置(Position)の 1 は nParticle のライフスパンの最後を表します。
この値と、各ポイントの補間(Interpolation)タイプによって、ランプのカーブの形状が決まります。たとえば、半径スケール(Radius Scale)ランプの場合、0 から 1 の入力値であればどの値でも、そのポイントのカーブの値は半径(Radius)の値をかけた値になります。既定では、ランプのエントリは 1 つで、これは値が 1 の定数カーブを定義します。
パーティクル単位の内部ランプから出力された値は、ランプのスケール入力(Scale Input)と入力最大値(Input Max)の影響も受けます。スケール入力(Scale Input)は、ランプの入力値をマッピングするためのプロパティを定義し、入力最大値(Input Max)はランプにより使用される値の範囲を定義します。たとえば、半径スケールの入力(Radius Scale Input)が存在時間(Age)に、入力最大値(Input Max)が 50 に設定されている場合、このランプは存在時間が 0 から 50 秒のパーティクルに対する半径値をマッピングします。存在時間が 50 秒を超える nParticle の半径は、ランプの右端位置マーカーの選択した値(Selected Value)に定義される半径に設定されます。