XSIのシミュレーション
パーティクル > 作成と削除 > キャッシュと再生モード > 放射の設定 > パーティクルタイプの設定
 パラメータのアニメート > 初期状況の作成 > パーティクルイベント > 衝突と回避 > フォースの適用
  ゴールの設定 > デフォーム > スプライトの使用 > オブジェクトのアタッチ > パーティクルのスケッチ
   Fluid(流体) > Explosion(爆発) > パーティクルのレンダリング > パーティクルシェーダ
プロパティ ParticlesOp > FluidOp > ExplosionOp > emissionプロパティ > PType

パーティクルイベントについて
パーティクルイベントは、2つのエレメント(トリガーアクション)を組み合わせたもの。トリガーは何がイベントを引き起こすかを決定し、アクションはトリガーが実行された際に何が起きるかを決定する。これら2つのエレメントを使用し、設定した特定の条件に従ってトリガーが引かれ、さまざまなアクションが発生するようにできる。

最も一般的なタイプのパーティクルイベントは衝突。パーティクルが障害物と衝突したときに、元のパーティクルを跳ね返らせたり、パーティクルが消滅する際に別のパーティクルを放射させたり、単純に元のパーティクルを衝突時に消滅させたりすることができる。

パーティクルイベントはパーティクルタイプごとに設定されるので、エフェクトに対して個別に制御することができる。


パーティクルイベントの作成と削除
●パーティクルイベントを作成するには●
1. エクスプローラでパーティクルタイプを選択し、SimulateツールバーからModify > Particles > Add Particle Eventsを選択する。
または、
PTypeプロパティエディタのEvents(イベント)タブで、New Event(新規イベント)ボタンをクリックする。
2. PEventプロパティエディタを開くため、次のどちらかの操作をする。
SimulateツールバーからInspect > Eventsボタンを押し、イベント名を選択する。
または、
PTypeプロパティエディタのEvents(イベント)タブで、イベントテーブル左のイベント名を右クリックし、Inspect Item(項目のインスペクト)を選択する。
3. 開いたPEventプロパティエディタで、Triggerを選択し、イベントのValueを設定する。詳細はこちら
4. トリガーのValueが達成された場合にパーティクルに実行させたい付随Actionを選択する。詳細はこちら
☆パーティクルに障害物との衝突を設定すると、自動的にパーティクルイベントが作成される。デフォルトのトリガーはCollision、アクションはBounceになるが、変更することも可能。

パーティクルイベントを削除するには●
PTypeプロパティのEvents(イベント)タブで、削除するイベントを右クリックしてSelect Item(項目の選択)を選択し、Deleteキーを押す。
または、
エクスプローラでPTypeEventsフォルダからEventを選択してDeleteキーを押す。


PEventプロパティ
PEventプロパティには以下のタブがある。
Event(イベント)タブ トリガーやアクションを設定する。
Script(スクリプト)タブ スクリプトを設定する。
Advanced(アドバンスド)タブ Varパラメータと併用する全てのイベントパラメータに対する配分パラメータとシードパラメータを設定する。


トリガーの選択
イベントが何かを実行するのは、トリガーとして使用しているパラメータの値が、イベントのTriggger Valueに達した場合のみ。トリガー値は、シミュレーションのアニメート可能な任意のパラメータとして通常のアニメート可能な変動およびシードを使用してランダムに生成できる。単一の分散を使用している場合は、SeedはパーティクルのVarianceに加えられ、パーティクルごとのトリガー値が得られる。

●パーティクルのAgeまたはAge%の使用●
Particle Age
(パーティクル時系列)
イベントはValueテキストボックスで指定したフレームで発生する。
Value50なら、パーティクルが50フレーム存在した時点でイベントが発生する。
Particle Age%
(パーティクル時系列%)
イベントはパーティクルが存在する秒数である、パーティクルタイプのMax Life(最長寿命)値のパーセンテージに達した時点で発生する。
Value50なら、パーティクルがMax Life(最長寿命)の50%に達した時点でイベントが発生する。

●パーティクルN個ごと、Nフレームごと●
Everu N Particle
(パーティクルN個ごと)
イベントが特定のパーティクル数で発生する。
Value10なら、パーティクルが10個発生するごとにイベントが発生する。
Every N Frame
(Nフレームごと)
イベントが特定のフレーム数で発生する。
Value10なら、10フレームごとにイベントが発生する。

●パーティクルの位置または速度の使用●
X/Y/Z Position
(X/Y/Z位置)
イベントはパーティクルX/Y/Zの位置がValueテキストボックスで指定した値に達したときに発生する。
X/Y/Z Speed
(X/Y/Z速度)
イベントはパーティクルX/Y/Z方向の速度がValueテキストボックスで指定した値に達したときに発生する。
Speed
(速度)
イベントはパーティクルの速度がValueテキストボックスで指定した値に達したときに発生する。

●パーティクル同士の衝突または障害物との衝突●
Collision
(衝突)
イベントはパーティクルが障害物として設定しているオブジェクトに衝突した場合に発生する。障害物を設定していない場合は何も実行されない。通常の方法でパーティクルに障害物との衝突を設定した場合には、このオプションが選択される。
衝突の詳細は衝突と回避ページへ
Inter Particle Collision
(パーティクル衝突間)
/Inter Particle Avoidance
(パーティクル回避間)
イベントはパーティクル同士が衝突または回避した場合に発生する。トリガーは、パーティクルタイプに対してInterpart.(パーティクル間)タブで設定した内容に依存する。
衝突と回避の詳細は衝突と回避ページへ


アクションの選択
イベントトリガーを選択したら、イベントで発生するアクションのタイプを選択する必要がある。PEventプロパティエディタのActionリストから、パーティクルタイプの動作を選択する。

●跳ね返り・張り付き・消滅●
Bounce
(バウンス)
パーティクルが指定した障害物から跳ね返る。トリガーにCollisionを選択している場合にのみ可能。
Stick
(スティック)
パーティクルが指定した障害物に張り付き、寿命が終わるまでそのままの位置に存在する。トリガーにCollisionを選択している場合にのみ可能。
Disappear
(消滅)
イベントの発生時にパーティクルが消滅する。

●新しいパーティクルを放射する●
以下の3つを選択した場合は、イベント時に放射されるパーティクルタイプ(ソース)を選択する必要がある。詳細はこちら
Emit
(放出)
寿命の続く限り元のパーティクルを維持しながら、イベント実行時に新しいパーティクルを放射させる。
Emit & Disappear
(放出&消滅)
イベント時に新しいパーティクルが放射される一方、元のパーティクルタイプは消滅する。
Bouce & Emit
(バウンス&放出)
パーティクルが障害物に跳ね返った場合に新しいパーティクルが放射される。元のパーティクルは消滅しない。トリガーにCollisionを選択する必要がある。

●スクリプティング●
Script
(スクリプト)
作成したスクリプトを選択および実行する。


PEventプロパティで障害物を選択するには
PEventプロパティエディタで、Obstacle(障害物)グループのPickボタンを押し、ビューポートで障害物オブジェクトを選択する。


放射されるソースパーティクルタイプを作成するには
1. PEventプロパティエディタで、SourceグループのCreateボタンを押す。エミッタで使用されるプロパティに似た放射プロパティ(Event Emissionsプロパティ)が作成される。
2. Edit(編集)ボタンを押してEvent Emissionプロパティを開き、放射されるパーティクルとして使用するパーティクルタイプを選択し、プロパティを設定する。
3. 放射プロパティを設定する。一般的な放射プロパティについてはEmissionプロパティを参照。以下のパラメータはイベント放射専用。
Rate(レート) イベント時に放出されるパーティクルの数。1秒間に放出されるパーティクルの数ではない。
Azimuth(方位) 放射されるパーティクルタイプが生成される方位ベクトル。パーティクルエミッタの視点からの角度。
Declination(偏差) 放射されるパーティクルが進むベクトルの偏角。
Birth Offset/Radius
発生時オフセット/半径)
元のパーティクルタイプから指定した半径(Softimage単位)の球の中にある放射されるパーティクルをそれぞれオフセットする。


パーティクルイベントのスクリプティング
Action(アクション)としてScript(スクリプト)を選択すると、作成したスクリプトを選択および実行して、パーティクルの動作や外観を変更できる。(たとえば、障害物に衝突した際にパーティクルのカラーを変化させるスクリプトを記述できる)

Script(スクリプト)を選択した場合、PEventプロパティエディタのScriptタブのパラメータがアクティブになる。すでに作成してあるスクリプトファイルを選択するか、編集ボックスに直接スクリプトを記述することができる。

スクリプトの詳細についてはマニュアルを参照のこと。