個々のパーティクルを消滅させるにはどうすればいいですか?

特定のパーティクル ID を消滅させるには、ライフスパンに 0 を指定する以外に方法はありません。例:

//RUN TIME EXPRESSION FOR REMOVING PARTICLES AFTER THEY REACH
//10 ON Y AXIS
//GET THE POSITION OF PARTICLES
vector $pos= particleShape1.position;
//CHECK TO SEE IF THEY HAVE PASSED A CERTAIN Y VALUE (10 in this example)
if ($pos.y>=10)
{
int $pi=particleId;
//PRINT IDs OF PARTICLES TO BE REMOVED
print ($pi+"\n");
particle -e -at lifespanPP -id $pi -fv 0 particle1;
}

このスクリプトをエミッタにアタッチするには:

  1. particleShape を表示して、アトリビュート エディタ(Attribute Editor)を開きます。
  2. ライフスパンを不滅(Live forever)からライフスパン PP のみ(lifeSpanPP Only)に変更します。
  3. パーティクル単位(配列)アトリビュート(Per Particle (Array) Attributes)セクションの位置(position)アトリビュート上で右クリックし、ランタイム エクスプレッション(Runtime Expression)を選択します(ダイナミクス計算の前後)。
  4. スクリプトをエクスプレッション エディタ(Expression Editor)にペーストして、作成(Create)をクリックします。