パーティクル〜基礎〜
まず、一番基本的なパーティクルスクリプトのソースコード全体を見てみよう。


ここで中心となる関数は「llParticleSystem( )」であり、パーティクル全体について司るパーティクルシステムを定義する。このスクリプトをオブジェクトに入れて実行させると、右図のようにオブジェクトから緑色のパーティクルが放射される。
それでは、いつものように、LSP Portalで「llParticleSystem( )」の定義を参照してみよう。下図のようになっている。

「llParticleSystem( )」のデータ型は「list」(リスト)形式で、「[rule1, data1,rule2, data2... rulen, datan]」のように、「ルール」と「データ」が対応する。これらは、スクリプト中で改行することにより、次のように記述できる。
[
rule1, data1,
rule2, data2,
…
rulen, datan
]
LSL Portalでの「llParticleSystem( )」の説明はすべて英語だが、日本語版LSL Wikiでは日本語訳も用意されている。しかし、この日本語訳は最新ではないため、必ず、LSL Portalで確認してほしい。
LSL Portalでの説明を見ると、パーティクルシステムは以下の5つの機能に分けられている。
機能 | 指定する内容 |
---|---|
1. System Behavior | 振る舞い(基本設定部分) |
2. System Presentation | 放射パターン(全方向、特定方向など) |
3. Particle Appearance | 見た目(色、透明度、大きさなど) |
4. Particle Flow | フロー(寿命など) |
5. Particle Motion | 動き(向き、スピードなど) |
それぞれにおいて、多くの組み込み定数がパーティクルシステム内で用意されている。そのすべてを紹介するのは難しいので、代表的なものから順次紹介していこう。
まずは、先ほどの一番基本的なスクリプトから見てみよう。このスクリプトでは、最初に「default { }」が実行され、次に「state_entry( )」にある「llParticleSystem( )」が実行される。この時、リスト型式のデータである「[ ]」内にある組み込み定数がそれぞれ実行される。

「llParticleSystem( )」部分だけを見ると、次のようになる。
