放出のランダム度を取り扱う

2 つのエミッタを同一のアトリビュートを使用して作成した場合、放出されるパーティクルは既定では同じ位置から同時に放出されてしまいます。そこで各エミッタに異なる値のシード(Seed)アトリビュートを与えれば、パーティクルはランダムな別の位置から放出させることができます。

異なるシード値を持つ複数のパーティクル オブジェクトによって 1 つのエミッタからパーティクルを放出させると、放出される位置は変化しますが、同じシード値を設定した場合は常に同じ位置から同じ方向に放出されます。

既定でのシード値は 1 なので、同じアトリビュートがあるエミッタで異なる位置からパーティクルを放出させたい場合は、異なるシード値を設定しなければなりません。新しく設定したシード(Seed)値は巻き戻してから再生させれば有効になります。ひとつのオブジェクトからパーティクルを放出させた場合のシード(Seed)値をいくら変化させてもシーン上の放出される位置は変化しません。

シード(Seed)値の大きさは意味を持ちません。たとえば、シード(Seed)値が 2 の場合、ランダム度がシード値が 1 の場合の 2 倍になるわけではありません。数値が 1 でも、17 や 1000 であっても、異なるランダム値のシーケンスが設定されるだけです。

シード(Seed)値を設定するには、放出されるパーティクル オブジェクトを選択し、アトリビュート エディタ(Attribute Editor)放出のランダム度シード(Emission Random Stream Seeds)セクションを開きます。関連付けられたエミッタの名前(たとえば、emitter1)の数値入力フィールドとスライダが表示されます。複数のエミッタを使用して 1 つのパーティクル オブジェクトを放出する場合は、エミッタごとに数値入力フィールドとスライダがあります (アトリビュート名はシードですが、この名前はアトリビュート エディタ(Attribute Editor)に表示されません)。

ヒント: エミッタを複製せずに 1 つのエミッタを使用してふたつの同一の流れをくむパーティクルを放出させることができます。まず、同一のアトリビュートがある 2 つのパーティクル オブジェクトを 1 つのエミッタに接続します。次に、各シード(Seed)値を必ず同じ値にし、両方の放出されるパーティクル オブジェクトのワールドでの放出(Emission In World) (アトリビュート エディタ(Attribute Editor)放出アトリビュート(Emission Attributes)セクション)をオフにします。最後に、一方のパーティクル オブジェクトをもう片方から遠ざけます。

複数のパーティクル オブジェクトを複数のエミッタに接続した場合に、どのシード(Seed)がパーティクル オブジェクトに対応するかを調べるには、ハイパーグラフ(Hypergraph)でディペンデンシー グラフを確認します。