Difference between revisions of "LlParticleSystem/ja"

From Second Life Wiki
Jump to navigation Jump to search
Line 62: Line 62:
|constants={{{!}} {{prettytable}}
|constants={{{!}} {{prettytable}}
{{!}}{{Hl2}}{{!}}  
{{!}}{{Hl2}}{{!}}  
{{!}}{{Hl2}}{{!}} Rule / Value Constant
{{!}}{{Hl2}}{{!}} ルール / 定型値
{{!}}{{Hl2}}{{!}} Type
{{!}}{{Hl2}}{{!}}
{{!}}{{Hl2}}{{!}} Description
{{!}}{{Hl2}}{{!}} 説明
{{!}}{{Hl2}}{{!}} Value
{{!}}{{Hl2}}{{!}}
{{!}}- style="background-color:#ccffcc;"
{{!}}- style="background-color:#ccffcc;"
{{!}} colspan="5" align="left"{{!}}'''System Behavior'''
{{!}} colspan="5" align="left"{{!}}'''システムの動作'''
{{!}}-
{{!}}-
{{!}}colspan="2"{{!}}PSYS_PART_FLAGS{{!}}{{!}}{{LSLG{{!}}integer}}{{!}}{{!}}Various flags controlling the behavior of the particle system. The value may be specified as an integer in decimal or {{LSLG{{!}}hexadecimal{{!}}hex}} format, or by ORing together (using the <nowiki>|</nowiki> operator) one or more of the following flag constants:{{!}}{{!}}align="center"{{!}}0
{{!}}colspan="2"{{!}}PSYS_PART_FLAGS{{!}}{{!}}{{LSLG{{!}}integer}}{{!}}{{!}}様々なフラグがパーティクルシステムの動作を操作します。値は小数点の数値あるいは{{LSLG{{!}}hexadecimal{{!}}16進法}}、あるいは同時に一つ以上の、以下のフラグ定型(<nowiki>|</nowiki>演算子を用る)で指定されるかもしれません。{{!}}{{!}}align="center"{{!}}0
{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}}rowspan="14" style="background-color:#c0c0c0;" align="center" valign="center"{{!}}'''V<br />a<br />l<br />u<br />e<br />s'''{{!}}{{!}}colspan="2"{{!}}PSYS_PART_BOUNCE_MASK{{!}}{{!}}When set, specifies particles will bounce off a plane at the [[Viewer coordinate frames#Region|region]] Z height of the emitter. On "bounce", each particle reverses velocity and angle. This only works for particles above the plane falling down on it.{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x004|4}}
{{!}}rowspan="14" style="background-color:#c0c0c0;" align="center" valign="center"{{!}}''''''{{!}}{{!}}colspan="2"{{!}}PSYS_PART_BOUNCE_MASK{{!}}{{!}}設定時、指定のパーティクルがエミッターのZの高さでの[[Viewer coordinate frames#Region|リージョン]]面で跳ね返るでしょう。"跳ね返る"上で、各パーティクルは重心とアングルが逆向きになります。これは面より下に落下するパーティクルに限定の動きです。 {{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x004|4}}
{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}} colspan="2"{{!}}PSYS_PART_EMISSIVE_MASK{{!}}{{!}}When set, particles are full-bright and are unaffected by global lighting (sunlight). Otherwise, particles will be lit depending on the current global lighting conditions. Note that point lights '''do''' illuminate non-emissive particles.{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x100|256}}
{{!}} colspan="2"{{!}}PSYS_PART_EMISSIVE_MASK{{!}}{{!}}設定時、パーティクルは完全に明るい状態で、グローバルライティング(太陽光)に左右されません。 そのほかの場合では、パーティクルは標準のグローバルライティングを加えている状態で発光されるでしょう。部分的な光は、パーティクルを非放射状に照らします。{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x100|256}}
{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}} colspan="2"{{!}}PSYS_PART_FOLLOW_SRC_MASK{{!}}{{!}}When set, particles move relative to the position of the emitter. Otherwise, particle position and movement are unaffected by the position/movement of the emitter. This flag disables the PSYS_SRC_BURST_RADIUS rule.{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x010|16}}
{{!}} colspan="2"{{!}}PSYS_PART_FOLLOW_SRC_MASK{{!}}{{!}}設定時、パーティクルはエミッターの位置と相対的に動きます。そのほかの場合では、パーティクルの位置と動きはパーティクルの位置/動きには左右されません。このフラグはPSYS_SRC_BURST_RADIUS ルールでは無効です。{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x010|16}}
{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}} colspan="2"{{!}}PSYS_PART_FOLLOW_VELOCITY_MASK{{!}}{{!}}When set, particles rotate to orient their "top" towards the direction of movement or emission. Otherwise, particles are always emitted based on the current rotation of the emitter.{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x020|32}}
{{!}} colspan="2"{{!}}PSYS_PART_FOLLOW_VELOCITY_MASK{{!}}{{!}}設定時、パーティクルは動きあるいは拡散の方向に上向きで適応して回転します。そのほかの場合では、標準のエミッターの回転を基準として常に放散されます。{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x020|32}}
{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}} colspan="2"{{!}}PSYS_PART_INTERP_COLOR_MASK{{!}}{{!}}When set, particle color and alpha transition from their START settings to their END settings during the particle's lifetime. The transition is a smooth interpolation.{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x001|1}}
{{!}} colspan="2"{{!}}PSYS_PART_INTERP_COLOR_MASK{{!}}{{!}}設定時、パーティクルの色とアルファが、パーティクルの効果時間中、開始設定から終了設定へと変換します。変換はスムーズに補完されます。{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x001|1}}
{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}} colspan="2"{{!}}PSYS_PART_INTERP_SCALE_MASK{{!}}{{!}}When set, particle size/scale transitions from its START setting to its END setting during the particle's lifetime.{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x002|2}}
{{!}} colspan="2"{{!}}PSYS_PART_INTERP_SCALE_MASK{{!}}{{!}}設定時、パーティクルの大きさと形状が、パーティクルの効果時間中、開始設定から終了設定へと変換します。{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x002|2}}
{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}} colspan="2"{{!}}PSYS_PART_TARGET_LINEAR_MASK{{!}}{{!}}(''not officially documented'') When set, emitted particles move in a straight line towards the target specified by the PSYS_SRC_TARGET_KEY rule. In this mode, PSYS_SRC_ACCEL, PSYS_SRC_BURST_RADIUS, and possibly other rules are ignored.{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x080|128}}
{{!}} colspan="2"{{!}}PSYS_PART_TARGET_LINEAR_MASK{{!}}{{!}}(''非公式な追記'') 設定時、放散したパーティクルがPSYS_SRC_TARGET_KEYで指定された対象に向かって一直線に移動します。このモードで、PSYS_SRC_ACCEL、PSYS_SRC_BURST_RADIUS、そして場合によってはほかのルールが排除されます。{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x080|128}}
{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}} colspan="2"{{!}}PSYS_PART_TARGET_POS_MASK{{!}}{{!}}When set, emitted particles change course during their lifetime, attempting to move towards the target specified by the PSYS_SRC_TARGET_KEY rule by the time they expire. Note that if no target is specified, the target moves out of range, or an invalid target is specified, the particles target the prim itself.{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x040|64}}
{{!}} colspan="2"{{!}}PSYS_PART_TARGET_POS_MASK{{!}}{{!}}設定時、放散したパーティクルが有効時間中にPSYS_SRC_TARGET_KEYルールで指定された対象に向かって、移動を調整してコースが変わります。対象が指定されていない場合、範囲外に移動した場合、あるいは有効ではない対象が指定された場合、パーティクルは発散しているプリム自身を対象にします。{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x040|64}}
{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}} colspan="2"{{!}}PSYS_PART_WIND_MASK{{!}}{{!}}When set, particle movement is affected by the {{LSLG{{!}}llWind{{!}}wind}}. It is applied as a secondary force on the particles.{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x008|8}}
{{!}} colspan="2"{{!}}PSYS_PART_WIND_MASK{{!}}{{!}}設定時、パーティクルの動きは{{LSLG{{!}}llWind/ja{{!}}}}に影響されます。 パーティクル上で、補助的な効力として作用されます。{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x008|8}}


{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}} colspan="2"{{!}}<s>PSYS_PART_BEAM_MASK</s>{{!}}{{!}}(''unimplemented'') mask but in the enum {{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x200|}}
{{!}} colspan="2"{{!}}<s>PSYS_PART_BEAM_MASK</s>{{!}}{{!}}(''未実装'') 隠されていますが、リストにあります。{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x200|}}


{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}} colspan="2"{{!}}<s>PSYS_PART_DEAD_MASK</s>{{!}}{{!}}Removes particles, not compatible with any other PSYS_PART_*_MASK{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x80000000|}}
{{!}} colspan="2"{{!}}<s>PSYS_PART_DEAD_MASK</s>{{!}}{{!}}パーティクルを除去し、多くのほかのPSYS_PART_*_MASKとは両立しません。{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x80000000|}}


{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}} colspan="2"{{!}}<s>PSYS_PART_RANDOM_ACCEL_MASK</s>{{!}}{{!}}(''unimplemented'') Presumed to be used to apply random acceleration to the particles.{{!}}{{!}}align="center"{{!}} -
{{!}} colspan="2"{{!}}<s>PSYS_PART_RANDOM_ACCEL_MASK</s>{{!}}{{!}}(''未実装'') パーティクルにランダムな加速率を適用するために用いられると推測されます。{{!}}{{!}}align="center"{{!}} -
{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}} colspan="2"{{!}}<s>PSYS_PART_RANDOM_VEL_MASK</s>{{!}}{{!}}(''unimplemented'') Presumed to be used to specify random velocity for the particles upon emission.{{!}}{{!}}align="center"{{!}} -
{{!}} colspan="2"{{!}}<s>PSYS_PART_RANDOM_VEL_MASK</s>{{!}}{{!}}(''未実装') パーティクルの分散上でランダムな重点を指定することに用いられると推測されます。{{!}}{{!}}align="center"{{!}} -
{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}} colspan="2"{{!}}<s>PSYS_PART_TRAIL_MASK</s>{{!}}{{!}}(''unimplemented'') Presumed to be used for implementing "trails" via emitting more particles at shorter bursts.{{!}}{{!}}align="center"{{!}} -
{{!}} colspan="2"{{!}}<s>PSYS_PART_TRAIL_MASK</s>{{!}}{{!}}(''未実装'') 一気に多くのパーティクルを分散させる源に''痕跡''を付与するために用いられると推測されます。{{!}}{{!}}align="center"{{!}} -
{{!}}- style="background-color:#ccffcc;"
{{!}}- style="background-color:#ccffcc;"
{{!}} colspan="5" align="left"{{!}}'''System Presentation'''
{{!}} colspan="5" align="left"{{!}}'''システムの表現'''
{{!}}-
{{!}}-
{{!}} colspan="2"{{!}}PSYS_SRC_PATTERN{{!}}{{!}}{{LSLG{{!}}integer}}{{!}}{{!}}Specifies the general emission pattern.{{!}}{{!}}align="center"{{!}}9
{{!}} colspan="2"{{!}}PSYS_SRC_PATTERN{{!}}{{!}}{{LSLG{{!}}integer}}{{!}}{{!}}基本的な分散パターンを指定します。{{!}}{{!}}align="center"{{!}}9
{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}}rowspan="5" style="background-color:#c0c0c0;" align="center" valign="center"{{!}}'''V<br />a<br />l<br />u<br />e<br />s'''{{!}}{{!}} colspan="2"{{!}}PSYS_SRC_PATTERN_ANGLE{{!}}{{!}}Present particles in a 2-dimensional circular section as defined by PSYS_SRC_ANGLE_BEGIN and PSYS_SRC_ANGLE_END. The orientation of the particle plane is at X=0 relative to the emitter's [[Viewer coordinate frames#Region|region]] rotation.{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x04|4}}
{{!}}rowspan="5" style="background-color:#c0c0c0;" align="center" valign="center"{{!}}''''''{{!}}{{!}} colspan="2"{{!}}PSYS_SRC_PATTERN_ANGLE{{!}}{{!}}SYS_SRC_ANGLE_BEGINとPSYS_SRC_ANGLE_ENDによって定義される2次元循環部に存在するパーティクルです。 パーティクル面の方向は、エミッターの[[Viewer coordinate frames#Region|リージョン]]の回転と相対的にX=0です。{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x04|4}}
{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}}colspan="2"{{!}}PSYS_SRC_PATTERN_ANGLE_CONE{{!}}{{!}}Present particles in a 3-dimensional spherical section, as defined by PSYS_SRC_ANGLE_BEGIN and PSYS_SRC_ANGLE_END.{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x08|8}}
{{!}}colspan="2"{{!}}PSYS_SRC_PATTERN_ANGLE_CONE{{!}}{{!}}PSYS_SRC_ANGLE_BEGINとPSYS_SRC_ANGLE_ENDによって定義される3次元球状部に存在するパーティクルです。{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x08|8}}
{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}}colspan="2"{{!}}PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY{{!}}{{!}}(''not officially documented; appears to be non-functional'') Present particles in a 3-dimensional spherical section, as defined by PSYS_SRC_ANGLE_BEGIN and PSYS_SRC_ANGLE_END, but inversely compared to the ANGLE_CONE pattern (i.e., where there were voids in ANGLE_CONE, there are particles in ANGLE_CONE_EMPTY, and vice-versa.{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x10|16}}
{{!}}colspan="2"{{!}}PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY{{!}}{{!}}(''非公式な追記:非関数として振舞います''PSYS_SRC_ANGLE_BEGIN PSYS_SRC_ANGLE_ENDによって定義される3次元球状部に存在するパーティクルですが、ANGLE_CON パターンと対義です。(すなわち、ANGLE_CONEが無効な場所だとANGLE_CONE_EMPTYのパーティクルがあり、逆の場合もしかり){{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x10|16}}
{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}}colspan="2"{{!}}PSYS_SRC_PATTERN_DROP{{!}}{{!}}Present particles by dropping them at the emitter position with no force. Ignores the PSYS_SRC_BURST_RADIUS, PSYS_SRC_BURST_SPEED_MIN, and PSYS_SRC_BURST_SPEED_MAX rules.{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x01|1}}
{{!}}colspan="2"{{!}}PSYS_SRC_PATTERN_DROP{{!}}{{!}}存在するパーティクルがエミッターのポジションに無重力で落下していきます。PSYS_SRC_BURST_RADIUS、PSYS_SRC_BURST_SPEED_MINとPSYS_SRC_BURST_SPEED_MAXルールは無効です。{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x01|1}}
{{!}}- style="background-color:#e0e0e0;"
{{!}}- style="background-color:#e0e0e0;"
{{!}}colspan="2"{{!}}PSYS_SRC_PATTERN_EXPLODE{{!}}{{!}}Present particles by shooting them out in all directions according to the burst motion rules.{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x02|2}}
{{!}}colspan="2"{{!}}PSYS_SRC_PATTERN_EXPLODE{{!}}{{!}}放出動作規則に一致している全方向に放散して存在するパーティクルです。{{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x02|2}}
{{!}}-
{{!}}-
{{!}}colspan="2"{{!}}PSYS_SRC_BURST_RADIUS{{!}}{{!}}{{LSLG{{!}}float}}{{!}}{{!}}Specifies the distance from the emitter where particles will be created. This rule is ignored when the PSYS_PART_FOLLOW_SRC_MASK flag is set. A test in http://forums.secondlife.com/showthread.php?t=226722 indicates that the maximum value is 50.00{{!}}{{!}}align="center"{{!}}16
{{!}}colspan="2"{{!}}PSYS_SRC_BURST_RADIUS{{!}}{{!}}{{LSLG{{!}}float}}{{!}}{{!}}パーティクルが作られるであろうエミッターからの距離を指定します。このルールはPSYS_PART_FOLLOW_SRC_MASKフラグの設定時は無効です。 http://forums.secondlife.com/showthread.php?t=226722 のテストでは、最大値は50.00を指し示します。{{!}}{{!}}align="center"{{!}}16
{{!}}-
{{!}}-
{{!}}colspan="2"{{!}}PSYS_SRC_ANGLE_BEGIN{{!}}{{!}}{{LSLG{{!}}float}}{{!}}{{!}}Specifies a half angle, in radians, of a circular or spherical "dimple" or conic section (starting from the emitter facing) within which particles will NOT be emitted. Valid values are the same as for PSYS_SRC_ANGLE_END, though the effects are reversed accordingly. If the pattern is PSYS_SRC_PATTERN_ANGLE, the presentation is a 2D flat circular section. If PSYS_SRC_PATTERN_ANGLE_CONE or PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY is used, the presentation is a 3D spherical section. Note that the value of this parameter and PSYS_SRC_ANGLE_END are internally re-ordered such that this parameter gets the smaller of the two values.{{!}}{{!}}align="center"{{!}}22
{{!}}colspan="2"{{!}}PSYS_SRC_ANGLE_BEGIN{{!}}{{!}}{{LSLG{{!}}float}}{{!}}{{!}}分散されないだろうパーティクルの、円状もしくは球状もしくは円錐状の(エミッター面から始まる)部分のラジアンの半分のアングルを指定します。エフェクトは一致しているのを反転されるのにも関わらず、有効な値はPSYS_SRC_ANGLE_ENDと同じものです。パターンがPSYS_SRC_PATTERN_ANGLEの場合、パーティクルの表現は2次元の平らな環状部上です。PSYS_SRC_PATTERN_ANGLE_CONEかPSYS_SRC_PATTERN_ANGLE_CONE_EMPTYが使われている場合、パーティクルの表現は3次元の球状部上です。このパラメータとPSYS_SRC_ANGLE_ENDの値は パラメータが2つの値の小さいほうを取得するように内部で再実行されることに注意しましょう。{{!}}{{!}}align="center"{{!}}22
{{!}}-
{{!}}-
{{!}}colspan="2"{{!}}PSYS_SRC_ANGLE_END{{!}}{{!}}{{LSLG{{!}}float}}{{!}}{{!}}Specifies a half angle, in radians, of a circular or spherical "dimple" or conic section (starting from the emitter facing) within which particles will NOT be emitted. Valid values are 0.0, which will result in particles being emitted in a straight line in the direction of the emitter facing, to PI, which will result in particles being emitted in a full circular or spherical arc around the emitter, not including the "dimple" or conic section defined by PSYS_SRC_ANGLE_BEGIN. If the pattern is PSYS_SRC_PATTERN_ANGLE, the presentation is a 2D flat circular section. If PSYS_SRC_PATTERN_ANGLE_CONE or PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY is used, the presentation is a 3D spherical section. Note that the value of this parameter and PSYS_SRC_ANGLE_BEGIN are internally re-ordered such that this parameter gets the larger of the two values.{{!}}{{!}}align="center"{{!}}23
{{!}}colspan="2"{{!}}PSYS_SRC_ANGLE_END{{!}}{{!}}{{LSLG{{!}}float}}{{!}}{{!}}Specifies a half angle, in radians, of a circular or spherical "dimple" or conic section (starting from the emitter facing) within which particles will NOT be emitted. Valid values are 0.0, which will result in particles being emitted in a straight line in the direction of the emitter facing, to PI, which will result in particles being emitted in a full circular or spherical arc around the emitter, not including the "dimple" or conic section defined by PSYS_SRC_ANGLE_BEGIN. If the pattern is PSYS_SRC_PATTERN_ANGLE, the presentation is a 2D flat circular section. If PSYS_SRC_PATTERN_ANGLE_CONE or PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY is used, the presentation is a 3D spherical section. Note that the value of this parameter and PSYS_SRC_ANGLE_BEGIN are internally re-ordered such that this parameter gets the larger of the two values.{{!}}{{!}}align="center"{{!}}23

Revision as of 06:20, 14 January 2008

要約

関数: llParticleSystem( list <span title="パーティクルシステムルール一覧のフォーマット
[ rule1, data1, rule2, data2 . . . ルール、データ ]" style="border-bottom:1px dotted; cursor:help;">rules
);

ルールの一覧が組まれているプリムを含んでいるパーティクルシステムを定義します。

• list rules パーティクルシステムルール一覧のフォーマット
[ rule1, data1, rule2, data2 . . . ルール、データ ]

仕様

プリム内にあるスクリプトに含まれているパーティクルエミッターの状態を設定するパーティクルシステムを定義します。この関数を同じプリムにあるいずれか他のスクリプトが呼んでいる場合、同一のパーティクルエミッターの状態として修正するでしょう。 各プリムは幾何学中心を中心とした、ひとつのパーティクルエミッターのみ所有でき、 プリムの有効なZ方向に指向する、ローカルZ軸に沿って並びます。

この関数は、プリムのパーティクルエミッターの状態を更新するだけのものです。エミッターを異なる状態に変更したいなら(たとえば、異なるパーティクルシステム全体を分散させる、あるいはエミッターを完全にオフにする)、 代わりに描写したい新しいパーティクルシステムのパラメータでこの関数を呼ぶだけです。空のリストを指定するとエミッターはオフに切り替わります。

パーティクルは基本的に2Dのスプライトで、常にビューアのカメラ表面に描写されます。

ルール/データは以下に定義されます。

ルール / 定型値 説明
システムの動作
PSYS_PART_FLAGS integer}} hexadecimal|16進法}}、あるいは同時に一つ以上の、以下のフラグ定型(|演算子を用る)で指定されるかもしれません。 0
PSYS_PART_BOUNCE_MASK 設定時、指定のパーティクルがエミッターのZの高さでのリージョン面で跳ね返るでしょう。"跳ね返る"上で、各パーティクルは重心とアングルが逆向きになります。これは面より下に落下するパーティクルに限定の動きです。 0x004
PSYS_PART_EMISSIVE_MASK 設定時、パーティクルは完全に明るい状態で、グローバルライティング(太陽光)に左右されません。 そのほかの場合では、パーティクルは標準のグローバルライティングを加えている状態で発光されるでしょう。部分的な光は、パーティクルを非放射状に照らします。 0x100
PSYS_PART_FOLLOW_SRC_MASK 設定時、パーティクルはエミッターの位置と相対的に動きます。そのほかの場合では、パーティクルの位置と動きはパーティクルの位置/動きには左右されません。このフラグはPSYS_SRC_BURST_RADIUS ルールでは無効です。 0x010
PSYS_PART_FOLLOW_VELOCITY_MASK 設定時、パーティクルは動きあるいは拡散の方向に上向きで適応して回転します。そのほかの場合では、標準のエミッターの回転を基準として常に放散されます。 0x020
PSYS_PART_INTERP_COLOR_MASK 設定時、パーティクルの色とアルファが、パーティクルの効果時間中、開始設定から終了設定へと変換します。変換はスムーズに補完されます。 0x001
PSYS_PART_INTERP_SCALE_MASK 設定時、パーティクルの大きさと形状が、パーティクルの効果時間中、開始設定から終了設定へと変換します。 0x002
PSYS_PART_TARGET_LINEAR_MASK (非公式な追記) 設定時、放散したパーティクルがPSYS_SRC_TARGET_KEYで指定された対象に向かって一直線に移動します。このモードで、PSYS_SRC_ACCEL、PSYS_SRC_BURST_RADIUS、そして場合によってはほかのルールが排除されます。 0x080
PSYS_PART_TARGET_POS_MASK 設定時、放散したパーティクルが有効時間中にPSYS_SRC_TARGET_KEYルールで指定された対象に向かって、移動を調整してコースが変わります。対象が指定されていない場合、範囲外に移動した場合、あるいは有効ではない対象が指定された場合、パーティクルは発散しているプリム自身を対象にします。 0x040
PSYS_PART_WIND_MASK llWind/ja|風}}に影響されます。 パーティクル上で、補助的な効力として作用されます。 0x008
PSYS_PART_BEAM_MASK (未実装) 隠されていますが、リストにあります。 0x200
PSYS_PART_DEAD_MASK パーティクルを除去し、多くのほかのPSYS_PART_*_MASKとは両立しません。 0x80000000
PSYS_PART_RANDOM_ACCEL_MASK (未実装) パーティクルにランダムな加速率を適用するために用いられると推測されます。 -
PSYS_PART_RANDOM_VEL_MASK (未実装') パーティクルの分散上でランダムな重点を指定することに用いられると推測されます。 -
PSYS_PART_TRAIL_MASK (未実装) 一気に多くのパーティクルを分散させる源に痕跡を付与するために用いられると推測されます。 -
システムの表現
PSYS_SRC_PATTERN integer}} 基本的な分散パターンを指定します。 9
PSYS_SRC_PATTERN_ANGLE SYS_SRC_ANGLE_BEGINとPSYS_SRC_ANGLE_ENDによって定義される2次元循環部に存在するパーティクルです。 パーティクル面の方向は、エミッターのリージョンの回転と相対的にX=0です。 0x04
PSYS_SRC_PATTERN_ANGLE_CONE PSYS_SRC_ANGLE_BEGINとPSYS_SRC_ANGLE_ENDによって定義される3次元球状部に存在するパーティクルです。 0x08
PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY (非公式な追記:非関数として振舞います) PSYS_SRC_ANGLE_BEGIN PSYS_SRC_ANGLE_ENDによって定義される3次元球状部に存在するパーティクルですが、ANGLE_CON パターンと対義です。(すなわち、ANGLE_CONEが無効な場所だとANGLE_CONE_EMPTYのパーティクルがあり、逆の場合もしかり) 0x10
PSYS_SRC_PATTERN_DROP 存在するパーティクルがエミッターのポジションに無重力で落下していきます。PSYS_SRC_BURST_RADIUS、PSYS_SRC_BURST_SPEED_MINとPSYS_SRC_BURST_SPEED_MAXルールは無効です。 0x01
PSYS_SRC_PATTERN_EXPLODE 放出動作規則に一致している全方向に放散して存在するパーティクルです。 0x02
PSYS_SRC_BURST_RADIUS float}} パーティクルが作られるであろうエミッターからの距離を指定します。このルールはPSYS_PART_FOLLOW_SRC_MASKフラグの設定時は無効です。 http://forums.secondlife.com/showthread.php?t=226722 のテストでは、最大値は50.00を指し示します。 16
PSYS_SRC_ANGLE_BEGIN float}} 分散されないだろうパーティクルの、円状もしくは球状もしくは円錐状の(エミッター面から始まる)部分のラジアンの半分のアングルを指定します。エフェクトは一致しているのを反転されるのにも関わらず、有効な値はPSYS_SRC_ANGLE_ENDと同じものです。パターンがPSYS_SRC_PATTERN_ANGLEの場合、パーティクルの表現は2次元の平らな環状部上です。PSYS_SRC_PATTERN_ANGLE_CONEかPSYS_SRC_PATTERN_ANGLE_CONE_EMPTYが使われている場合、パーティクルの表現は3次元の球状部上です。このパラメータとPSYS_SRC_ANGLE_ENDの値は パラメータが2つの値の小さいほうを取得するように内部で再実行されることに注意しましょう。 22
PSYS_SRC_ANGLE_END float}} Specifies a half angle, in radians, of a circular or spherical "dimple" or conic section (starting from the emitter facing) within which particles will NOT be emitted. Valid values are 0.0, which will result in particles being emitted in a straight line in the direction of the emitter facing, to PI, which will result in particles being emitted in a full circular or spherical arc around the emitter, not including the "dimple" or conic section defined by PSYS_SRC_ANGLE_BEGIN. If the pattern is PSYS_SRC_PATTERN_ANGLE, the presentation is a 2D flat circular section. If PSYS_SRC_PATTERN_ANGLE_CONE or PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY is used, the presentation is a 3D spherical section. Note that the value of this parameter and PSYS_SRC_ANGLE_BEGIN are internally re-ordered such that this parameter gets the larger of the two values. 23
PSYS_SRC_INNERANGLE float}} DEPRECATED: Use PSYS_SRC_ANGLE_BEGIN instead. Works similar to its replacement rule, except the edge of the section is aligned with the emitter facing, rather than its center. 10
PSYS_SRC_OUTERANGLE float}} DEPRECATED: Use PSYS_SRC_ANGLE_END instead. Works similar to its replacement rule, except the edge of the section is aligned with the emitter facing, rather than the section's center. 11
PSYS_SRC_TARGET_KEY key}} Specifies the key of a target object, prim, or agent towards which the particles will change course and move. They will attempt to end up at the geometric center of the target at the end of their lifetime. Requires the PSYS_PART_TARGET_POS_MASK flag be set. caveat 4 20
Particle Appearance
PSYS_PART_START_COLOR vector}} unit vector}} specifying the {{LSLG|color}} of the particles upon emission. 1
PSYS_PART_END_COLOR vector}} unit vector}} specifying the {{LSLG|color}} the particles transition to during their lifetime. Only used if the PSYS_PART_INTERP_COLOR_MASK flag is set. 3
PSYS_PART_START_ALPHA float}} alpha}} of the particles upon emission. Valid values are in the range 0.0 to 1.0. Higher values are more opaque; lower ones are more transparent. 2
PSYS_PART_END_ALPHA float}} alpha}} the particles transition to during their lifetime. Only used if the PSYS_PART_INTERP_COLOR_MASK flag is set. Valid values are the same as PSYS_PART_START_ALPHA. (caveat 1) 4
PSYS_PART_START_SCALE vector}} scale}} or size of the particles upon emission. Valid values for each direction are 0.04 (0.03125) to 4.0, in meters. Since particles are essentially 2D sprites, the Z component of the vector is ignored and can be set to 0.0. 5
PSYS_PART_END_SCALE vector}} scale}} or size the particles transition to during their lifetime. Only used if the PSYS_PART_INTERP_SCALE_MASK flag is set. Valid values are the same as PSYS_PART_START_SCALE. 6
PSYS_SRC_TEXTURE string}} Specifies the name of a texture in the prim's inventory to use for each particle. Alternatively, you may specify an asset key UUID for a texture. 12
Particle Flow
PSYS_SRC_MAX_AGE float}} Specifies the length of time, in seconds, that the emitter will operate upon coming into view range (if the particle system is already set) or upon execution of this function (if already in view range). Upon expiration, no more particles will be emitted, except as specified above. Zero will give the particle system an infinite duration. (caveat 2) 19
PSYS_PART_MAX_AGE float}} Specifies the lifetime of each particle emitted, in seconds. Maximum is 30.0 seconds. During this time, the particle will appear, change appearance and move according to the parameters specified in the other sections, and then disappear. 7
PSYS_SRC_BURST_RATE float}} Specifies the time interval, in seconds, between "bursts" of particles being emitted. Specifying a value of 0.0 will cause the emission of particles as fast as the viewer can do so. 13
PSYS_SRC_BURST_PART_COUNT integer}} Specifies the number of particles emitted in each "burst". 15
Particle Motion
PSYS_SRC_ACCEL vector}} Specifies a directional acceleration vector applied to each particle as it is emitted, in meters per second. Valid values are 0.0 to 100.0 for each direction, as region coordinates. 8
PSYS_SRC_OMEGA vector}} llTargetOmega}}) has no effect on emitter spin. (caveat 3) 21
PSYS_SRC_BURST_SPEED_MIN float}} Specifies the minimum value of a random range of values which is selected for each particle in a burst as its initial speed upon emission, in meters per second. Note that the value of this parameter and PSYS_SRC_BURST_SPEED_MAX are internally re-ordered such that this parameter gets the smaller of the two values. 17
PSYS_SRC_BURST_SPEED_MAX float}} Specifies the maximum value of a random range of values which is selected for each particle in a burst as its initial speed upon emission, in meters per second. Note that the value of this parameter and PSYS_SRC_BURST_SPEED_MIN are internally re-ordered such that this parameter gets the larger of the two values. 18

警告

  1. パーティクルシステム実行によるバグ(VWR-2146参照)のようで、、PSYS_PART_END_ALPHAとPSYS_PART_INTERP_COLOR_MASKフラグは、常に補正された結果としてPSYS_PART_END_ALPHAの値を加えるでしょう。そして1から初めて0.5進めるなら、パーティクルの効果時間の半分のとき0.75のアルファを期待します。1.25になろうとするとバグが発生します。結果的に、いつも加えられた後にこれの必要とする数値より高めに設定にするなどすれば、パーティクルが消滅しなくなります。
    • これは WindLight First Look test Viewerにて修正されています。
  2. 0ではないエミッター効果時間(PSYS_SRC_MAX_AGE) の設定にてパーティクルシステムを使っているとき、パーティクルシステムで組まれたトリガがオフになることなく再起動するかもしれない、と伝えるほうがいいかもしれません。これはエミッターが幾つかのプリムの設定が更新もしくは他のビューアに送信するときにリセットするのが原因でバグが発生しているようです。結果的に、timerを使うか、著しい遅延と一度発生時間を消滅させてパーティクルシステムを消すべきかもしれません。
  3. PSYS_SRC_OMEGAで定義される回転は、リージョン座標システムに相対的で、プリムのローカル座標システムとは相対的ではありません。
  4. パーティクルは、PSYS_SRC_TARGET_KEYルールとPSYS_PART_TARGET_POS_MASKフラグで設定されている、指定された人型アバタに向かって動いていて、終点はアバターの矩形の幾何学中心、あいにくにも、アバタの股間部に直撃しているように表示されるでしょう。対象のアバタのほかの箇所を終点にしたい場合は、代わりに終点にしたい場所にした対象プリムを設置すべきで、PSYS_SRC_TARGET_KEYルールの値にそのプリムのキーを使用します。
  5. Second Life viewerは余りにも小さくみえる距離にあるオブジェクトは淘汰するように最適化されています。もしエミッターがとても小さいなら、距離のことがもとで最適化され、パーティクルシステムとそのエミッター間で表示されないでしょう。
All Issues ~ Search JIRA for related Bugs

サンプル

Example Particle Script/ja


この例は光っている赤い球の効果を作成します。 <lsl>

       llParticleSystem( 
[PSYS_PART_FLAGS, PSYS_PART_WIND_MASK

便利なスニペット

integerに(から)色とアルファの値を蓄積(回収)のための使い勝手のいい関数です。
<lsl> integer ColorAlphatoRGBA(vector color, float alpha) { return (((integer)(alpha * 255.0) & 0xFF) << 24)

注意点

  • クライアントの標準のパーティクル総数は、4096が基本設定です。クライアントが視界範囲で全ての有効なパーティクルシステムを表現するであろう最大パーティクル総数です。優れたパーティクルシステムのデザインは、そのパーティクルが周囲の人に邪魔になることと他の人達のパーティクルシステムを枯らしていくこと、を避けるのがキーポイントです。そのようなものとして、そんな多くのパーティクルの分散で、あなたのパーティクルエミッターがトラブルに遭う経験をしているならば、パーティクルの枯れをさけることはできないかもしれません。クライアント/ビューアのラグ(小さいフレームレート)はこれらが原因でもまた発生する可能性があるので、パーティクルは表現するために少ない最適地を選びます。これの最善な解決策は、あなた自身がデザインとテストを行なうとき、他のパーティクルシステムが相対的に制限しない、少ないラグの環境で動かすことです。
  • 一度パーティクルが分散されると、直接的な動きはPSYS_PART_TARGET_POS_MASKフラグかthe PSYS_PART_FOLLOW_SRC_MASKフラグの、PSYS_SRC_ACCELによってのみ影響され得ます。そのようになるので、旋回渦エフェクト(オブジェクトが発している方向にビューアを一度向けた、消滅しはじめ、またはアバターがsim/gridから去ったときのようなもの)を作る良い方法はありません。

関連項目

記事

•  LSL での色
•  透明度

特記事項

Search JIRA for related Issues

Signature

function void llParticleSystem( list rules );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。