Difference between revisions of "LlParticleSystem/ja"

From Second Life Wiki
Jump to navigation Jump to search
(New page: {{multi-lang}}{{LSL Function/color/ja}}{{LSL Function/alpha/ja}}{{LSL_Function/ja |func_id=229|func_sleep=0.0|func_energy=10.0 |func=llParticleSystem |p1_type=list |p1_name=rules |p1_desc=...)
 
 
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{multi-lang}}{{LSL Function/color/ja}}{{LSL Function/alpha/ja}}{{LSL_Function/ja
{{LSL_Function/ja|func_id=229|func_sleep=0.0|func_energy=10.0
|func_id=229|func_sleep=0.0|func_energy=10.0
|func=llParticleSystem|sort=ParticleSystem
|func=llParticleSystem
|inject-1={{LSL_Function/ParticleSystem/ja|llParticleSystem([])}}
|p1_type=list
|p1_type=list|p1_name=rules
|p1_name=rules
|func_desc='''{{LSL Param|rules}}''' のリストに沿って定義されたパーティクルが、 スクリプトの入っているプリムに設定されます。
|p1_desc=パーティクルシステムルール一覧のフォーマット<br>[ rule1, data1, rule2, data2 . . . ルール、データ ]
|func_desc='''ルール'''の一覧が組まれているプリムを含んでいるパーティクルシステムを定義します。
|return_text
|return_text
|spec=
|examples=
{{LSLG|primitive/ja|プリム}}内にある{{LSLG|script/ja|スクリプト}}に含まれている{{LSLG|particle emitter|パーティクルエミッター}}の状態を設定するパーティクルシステムを定義します。この関数を同じプリムにあるいずれか他のスクリプトが呼んでいる場合、同一のパーティクルエミッターの状態として修正するでしょう。
*[[Example Particle Script]]
各プリムは{{LSLG|geometric center|幾何学中心}}を中心とした、ひとつのパーティクルエミッターのみ所有でき、 プリムの有効なZ方向に指向する、[[Viewer coordinate frames#Local|ローカル]]Z軸に沿って並びます。
*[[Neurocam Particle Engine]]


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


パーティクルは基本的に2Dの''スプライト''で、常にビューアのカメラ表面に描写されます。
この例では、だんだん大きくなる赤い球が放出されます。
<source lang="lsl2">llParticleSystem( [
        PSYS_PART_FLAGS,      PSYS_PART_WIND_MASK | PSYS_PART_EMISSIVE_MASK,
        PSYS_SRC_PATTERN,      PSYS_SRC_PATTERN_EXPLODE,
        PSYS_PART_START_COLOR, <1.0, 0.0, 0.0>
    ] );</source>


ルール/データは以下に定義されます。
|caveats=
# パーティクルシステム実行によるバグ({{Jira|VWR-2146}}参照)のようで、、PSYS_PART_END_ALPHAとPSYS_PART_INTERP_COLOR_MASKフラグは、'''常に'''補正された結果としてPSYS_PART_END_ALPHAの値を加えるでしょう。そして1から初めて0.5進めるなら、パーティクルの効果時間の半分のとき0.75のアルファを期待します。1.25になろうとするとバグが発生します。結果的に、いつも加えられた後にこれの必要とする数値より高めに設定にするなどすれば、パーティクルが消滅しなくなります。
#* これは [[WindLight/ja|WindLight]] First Look test Viewerにて修正されています。
# 0ではないエミッター効果時間(PSYS_SRC_MAX_AGE) の設定にてパーティクルシステムを使っているとき、パーティクルシステムで組まれたトリガがオフになることなく再起動するかもしれない、と伝えるほうがいいかもしれません。これはエミッターが幾つかのプリムの設定が更新もしくは他のビューアに送信するときに''リセット''するのが原因でバグが発生しているようです。結果的に、{{LSLG|timer/ja|timer}}を使うか、著しい{{LSLG|llSleep/ja|遅延}}と一度発生時間を消滅させてパーティクルシステムを消すべきかもしれません。
# PSYS_SRC_OMEGAで定義される回転は、[[Viewer coordinate frames#Region|リージョン]]座標システムに相対的で、プリムの[[Viewer coordinate frames#Local|ローカル]]座標システムとは相対的ではありません。
# パーティクルは、PSYS_SRC_TARGET_KEYルールとPSYS_PART_TARGET_POS_MASKフラグで設定されている、指定された人型アバタに向かって動いていて、終点はアバターの矩形の幾何学中心、あいにくにも、アバタの股間部に直撃しているように表示されるでしょう。対象のアバタのほかの箇所を終点にしたい場合は、代わりに終点にしたい場所にした対象プリムを設置すべきで、PSYS_SRC_TARGET_KEYルールの値にそのプリムのキーを使用します。
# Second Life viewerは余りにも小さくみえる距離にあるオブジェクトは淘汰するように最適化されています。もしエミッターがとても小さいなら、距離のことがもとで最適化され、パーティクルシステムとそのエミッター間で表示されないでしょう。
|examples=[[Example Particle Script/ja]]
この例は光っている赤い球の効果を作成します。
<lsl>
        llParticleSystem(
          [PSYS_PART_FLAGS,      PSYS_PART_WIND_MASK | PSYS_PART_EMISSIVE_MASK,
          PSYS_SRC_PATTERN,      PSYS_SRC_PATTERN_EXPLODE,
          PSYS_PART_START_COLOR, <1.0, 0.0, 0.0>
          ] );
</lsl>
|helpers=
'''integerに(から)色とアルファの値を蓄積(回収)のための使い勝手のいい関数です。'''<br />
<lsl>
integer ColorAlphatoRGBA(vector color, float alpha) {
return (((integer)(alpha * 255.0) & 0xFF) << 24) |
(((integer)(color.x * 255.0) & 0xFF) << 16) |
(((integer)(color.y * 255.0) & 0xFF) << 8) |
((integer)(color.z * 255.0) & 0xFF);
}
vector RGBAtoColor(integer rgba) {
return < ((rgba >> 16) & 0xFF) / 255.0, ((rgba >> 8) & 0xFF) / 255.0, (rgba & 0xFF) / 255.0 >;
}
float RGBAtoAlpha(integer rgba) {
return ((rgba >> 24) & 0xFF) / 255.0;
}
</lsl>
|also_articles
|also_articles
|also_events
|also_events
|also_functions
|also_functions=
|sort=ParticleSystem
{{LSL DefineRow||{{LSLG/ja|llLinkParticleSystem}}|}}
|notes=
|cat1
* The default particle count for the client is normally set at 4096. That is the max particle count the client will render for ALL active particle systems within view range. Good particle system design is key to avoid "spamming" everyone with your particles, and starving out other people's particle systems. As such, if you are experiencing trouble getting your particle emitter to emit as many particles as you like, it may be the victim of particle starvation. Client/viewer lag (low frame rates) can also cause this issue, as particles are a rather low priority for rendering. The best solution for this is to move to a less laggy environment relatively free of other particle systems when designing and testing your own.
|cat2
* Once particles are emitted, their direction of motion can only be affected by PSYS_SRC_ACCEL, the PSYS_PART_TARGET_POS_MASK flag, or the PSYS_PART_FOLLOW_SRC_MASK flag. As such, there is no good way to create the "swirling vortex" effect (like the one used in the viewer to indicate an object talking, begin derezzed, or when an avatar leaves the sim/grid).
|cat3
|constants={{{!}} {{prettytable}}
|cat4
{{!}}{{Hl2}}{{!}}
|cat5
{{!}}{{Hl2}}{{!}} Rule / Value Constant
|cat6
{{!}}{{Hl2}}{{!}} Type
|location
{{!}}{{Hl2}}{{!}} Description
{{!}}{{Hl2}}{{!}} Value
{{!}}- style="background-color:#ccffcc;"
{{!}} colspan="5" align="left"{{!}}'''System Behavior'''
{{!}}-
{{!}}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
{{!}}- 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}}
{{!}}- 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}}
{{!}}- 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}}
{{!}}- 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}}
{{!}}- 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}}
{{!}}- 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}}
{{!}}- 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}}
{{!}}- 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}}
{{!}}- 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}}
 
{{!}}- style="background-color:#e0e0e0;"
{{!}} colspan="2"{{!}}<s>PSYS_PART_BEAM_MASK</s>{{!}}{{!}}(''unimplemented'') mask but in the enum {{!}}{{!}}align="center"{{!}}{{LSL_Hex|0x200|}}
 
{{!}}- 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|}}
 
{{!}}- 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"{{!}} -
{{!}}- 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"{{!}} -
{{!}}- 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"{{!}} -
{{!}}- style="background-color:#ccffcc;"
{{!}} colspan="5" align="left"{{!}}'''System Presentation'''
{{!}}-
{{!}} colspan="2"{{!}}PSYS_SRC_PATTERN{{!}}{{!}}{{LSLG{{!}}integer}}{{!}}{{!}}Specifies the general emission pattern.{{!}}{{!}}align="center"{{!}}9
{{!}}- 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}}
{{!}}- 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}}
{{!}}- 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}}
{{!}}- 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}}
{{!}}- 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_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_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_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"{{!}}<del>PSYS_SRC_INNERANGLE</del>{{!}}{{!}}{{LSLG{{!}}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.{{!}}{{!}}align="center"{{!}}10
{{!}}-
{{!}}colspan="2"{{!}}<del>PSYS_SRC_OUTERANGLE</del>{{!}}{{!}}{{LSLG{{!}}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.{{!}}{{!}}align="center"{{!}}11
{{!}}-
{{!}}colspan="2"{{!}}PSYS_SRC_TARGET_KEY{{!}}{{!}}{{LSLG{{!}}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. [[#Caveats{{!}}caveat 4]]{{!}}{{!}}align="center"{{!}}20
{{!}}- style="background-color:#ccffcc;"
{{!}}colspan="5" align="left"{{!}}'''Particle Appearance'''
{{!}}-
{{!}}colspan="2"{{!}}PSYS_PART_START_COLOR{{!}}{{!}}{{LSLG{{!}}vector}}{{!}}{{!}}A {{LSLG{{!}}unit vector}} specifying the {{LSLG{{!}}color}} of the particles upon emission.{{!}}{{!}}align="center"{{!}}1
{{!}}-
{{!}}colspan="2"{{!}}PSYS_PART_END_COLOR{{!}}{{!}}{{LSLG{{!}}vector}}{{!}}{{!}}A {{LSLG{{!}}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.{{!}}{{!}}align="center"{{!}}3
{{!}}-
{{!}}colspan="2"{{!}}PSYS_PART_START_ALPHA{{!}}{{!}}{{LSLG{{!}}float}}{{!}}{{!}}Specifies the {{LSLG{{!}}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.{{!}}{{!}}align="center"{{!}}2
{{!}}-
{{!}}colspan="2"{{!}}PSYS_PART_END_ALPHA{{!}}{{!}}{{LSLG{{!}}float}}{{!}}{{!}}Specifies the {{LSLG{{!}}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. ([[#Caveats{{!}}caveat 1]]){{!}}{{!}}align="center"{{!}}4
{{!}}-
{{!}}colspan="2"{{!}}PSYS_PART_START_SCALE{{!}}{{!}}{{LSLG{{!}}vector}}{{!}}{{!}}Specifies the {{LSLG{{!}}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.{{!}}{{!}}align="center"{{!}}5
{{!}}-
{{!}}colspan="2"{{!}}PSYS_PART_END_SCALE{{!}}{{!}}{{LSLG{{!}}vector}}{{!}}{{!}}Specifies the {{LSLG{{!}}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.{{!}}{{!}}align="center"{{!}}6
{{!}}-
{{!}}colspan="2"{{!}}PSYS_SRC_TEXTURE{{!}}{{!}}{{LSLG{{!}}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.{{!}}{{!}}align="center"{{!}}12
{{!}}- style="background-color:#ccffcc;"
{{!}}colspan="5" align="left"{{!}}'''Particle Flow'''
{{!}}-
{{!}}colspan="2"{{!}}PSYS_SRC_MAX_AGE{{!}}{{!}}{{LSLG{{!}}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. ([[#Caveats{{!}}caveat 2]]){{!}}{{!}}align="center"{{!}}19
{{!}}-
{{!}}colspan="2"{{!}}PSYS_PART_MAX_AGE{{!}}{{!}}{{LSLG{{!}}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.{{!}}{{!}}align="center"{{!}}7
{{!}}-
{{!}}colspan="2"{{!}}PSYS_SRC_BURST_RATE{{!}}{{!}}{{LSLG{{!}}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.{{!}}{{!}}align="center"{{!}}13
{{!}}-
{{!}}colspan="2"{{!}}PSYS_SRC_BURST_PART_COUNT{{!}}{{!}}{{LSLG{{!}}integer}}{{!}}{{!}}Specifies the number of particles emitted in each "burst".{{!}}{{!}}align="center"{{!}}15
{{!}}- style="background-color:#ccffcc;"
{{!}}colspan="5" align="left"{{!}}'''Particle Motion'''
{{!}}-
{{!}}colspan="2"{{!}}PSYS_SRC_ACCEL{{!}}{{!}}{{LSLG{{!}}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 [[Viewer coordinate frames#Region|region]] coordinates.{{!}}{{!}}align="center"{{!}}8
{{!}}-
{{!}}colspan="2"{{!}}PSYS_SRC_OMEGA{{!}}{{!}}{{LSLG{{!}}vector}}{{!}}{{!}}Specifies the rotational spin of the emitter in radians per second along each axis. This "unsticks" the emitter facing from the prim's positive Z axis and is noticeable in directional presentations. Prim spin (via {{LSLG{{!}}llTargetOmega}}) has no effect on emitter spin. ([[#Caveats{{!}}caveat 3]]){{!}}{{!}}align="center"{{!}}21
{{!}}-
{{!}}colspan="2"{{!}}PSYS_SRC_BURST_SPEED_MIN{{!}}{{!}}{{LSLG{{!}}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.{{!}}{{!}}align="center"{{!}}17
{{!}}-
{{!}}colspan="2"{{!}}PSYS_SRC_BURST_SPEED_MAX{{!}}{{!}}{{LSLG{{!}}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.{{!}}{{!}}align="center"{{!}}18
{{!}}}
|cat1=Effects/ja
|cat2=Light/ja
|cat3=Particles/ja
|cat4=Prim/ja
}}
}}

Latest revision as of 04:31, 25 February 2016

要約

関数: llParticleSystem( list rules );

rules のリストに沿って定義されたパーティクルが、 スクリプトの入っているプリムに設定されます。

• list rules [ rule1, data1, rule2, data2 . . . rulen, datan ] 形式で指定された、パーティクルのルールリスト

仕様

パーティクル[1]を定義して、 スクリプト の入っている プリム の中にある パーティクルエミッター の状態を設定します。同じプリムに入っている他のスクリプトがこの関数を呼び出すと、同じパーティクルエミッターの状態を変更することになります。この関数で定義されたパーティクル自体は、プリムのサイズ、形、色などと同様に、 プリムのプロパティ となります。それぞれのプリムには 1 個の パーティクルエミッターだけしか存在できず、それは 幾何学的中心 に存在し、プリムの ローカル Z 軸に沿って、正の Z 方向を指します。

この関数だけがプリムのパーティクルエミッターの状態を変更することができます。つまり、エミッターを異なる状態にしたい場合 (例えば、まったく異なるパーティクルを放出したり、エミッターを停止したりしたい場合) 、この同じ関数を代わりに描画しようとしている新しいパーティクルのパラメタで呼び出せばいいです。空のリスト (例えば llParticleSystem([]); ) を指定すると、エミッターが停止します。

パーティクルは本質的には 2D の "Wikipedia logo"スプライト であり、常にビューアのカメラに正対して描画されます。

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

ルール/設定値の定数 ルールパラメタ 説明
パーティクルのふるまい
PSYS_PART_FLAGS integer flags パーティクルの振る舞いを制御する様々なフラグ。設定値は 10 進数形式か 16 進数 形式の整数で指定するか、以下の 1 個以上のフラグ定数の ビット単位 OR を ("|" 演算子を用いて) 指定します: 0
V
a
l
u
e
s
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_RIBBON_MASK パーティクルの流れを連続した帯状に結合します。 パーティクルテクスチャは引き伸ばされ(または絞られ)、右端が前のパーティクルの左端に結合されます。 リボンの「幅」は、開始スケールと終了スケールの「x」値で制御されます。 (「y」値は無視されます。 パーティクル間の距離は、各リボンセグメントの「長さ」を制御します。) 他のパーティクルエフェクトとは異なり、リボンセグメントは視聴者のカメラに向けてレンダリングされません。 新しいパーティクルのZ軸は、エミッタープリムのZ軸を模倣しています。 リボンセグメントは、「長さ」がない場合はレンダリングされません。これは、パーティクルがエミッタープリムのローカルZ軸を「上」または「下」にのみ移動する場合に起こります。 PSYS_PART_FOLLOW_VELOCITY_MASKはリボンには効果がありません。 シンプルなリボン効果を得るには、DROPパターン、TEXTURE_BLANK、ACCEL、WINDを使ってみてください。 0x400
PSYS_PART_TARGET_LINEAR_MASK 設定すると、放出されたパーティクルは PSYS_SRC_TARGET_KEY ルールで指定された目標へ等間隔の直線で移動します。このモードでは PSYS_SRC_ACCEL、PSYS_SRC_BURST_RADIUS、および場合によっては他のルールが無視されます。ターゲットがエミッターの「下」にあるときにPSYS_PART_BOUNCE_MASKを使用すると、リニアパーティクルストリームが上方に偏向し、ターゲットの上で終了します。 0x080
PSYS_PART_TARGET_POS_MASK 設定すると、放出されたパーティクルは消滅するまでの間、PSYS_SRC_TARGET_KEY ルールで指定された目標へ向かって移動するように、表示中に進行方向を変えます。目標が指定されなかった場合、あるいは目標が範囲から外れた場合、あるいは不正な目標が指定された場合、パーティクルは自身のプリムを目標とします。 0x040
PSYS_PART_WIND_MASK 指定された場合、パーティクルの移動はによって影響を受けます。風はパーティクルに作用する二番目の力として適用されます。 0x008
PSYS_PART_BEAM_MASK (未実装) enum 値として存在しているだけです。 0x200
LL_PART_HUD HUD および rez されたオブジェクトのパーティクル発生源を区別するためビューアによって使われます。 0x40000000
LL_PART_DEAD_MASK パーティクルを削除します。どの PSYS_PART_*_MASK とも互換性がありません。 0x80000000
パーティクルのみばえ
PSYS_SRC_PATTERN integer pattern 一般的な放出パターンを指定します。 9
V
a
l
u
e
s
PSYS_SRC_PATTERN_EXPLODE パーティクルを球状にスプレーするように表示します。パーティクルの初速は PSYS_SRC_BURST_SPEED_MIN と PSYS_SRC_BURST_SPEED_MAX で決まります。 EXPRODE パターンは ANGLE パラメタを無視します。 0x02
PSYS_SRC_PATTERN_ANGLE_CONE パーティクルを球状、半球状、円錐状、またはリング状にスプレーするように表示します。形状は PSYS_SRC_ANGLE_BEGIN と PSYS_SRC_ANGLE_END の ANGLE パラメタによって決まります。 ANGLE_CONE パターンは、 PSYS_SRC_ANGLE_BEGIN に 0.00000 、 PSYS_SRC_ANGLE_END に 3.14159 (または PI) (など) を指定すると、 EXPLODE パターンと同じように使用することができます。 0x08
PSYS_SRC_PATTERN_ANGLE パーティクルを円状、半円状、弧または放射状にスプレーするように表示します。形状は PSYS_SRC_ANGLE_BEGIN と PSYS_SRC_ANGLE_END によって決まります。円状パターンはプリムの X 軸について放射状に開きます。 0x04
PSYS_SRC_PATTERN_DROP 初速なしでパーティクルを作成します。 DROP パターンは PSYS_SRC_BURST_RADIUS 、PSYS_SRC_BURST_SPEED_MIN 、PSYS_SRC_BURST_SPEED_MAX の値を上書きして 0.00000 に設定します。 (DROP パターンのように動作する全てのパターンで、 RADIUS 、SPEED_MIN 、SPEED_MAX が設定されていたら 0.0000 に上書きされるようになっています) 0x01
PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY (未実装) PSYS_SRC_PATTERN_DROP パターンと同じように、このパターンは元々、 ANGLE パラメタの逆で、パーティクルがスプレーされない範囲を描くためにありました。 0x10
PSYS_SRC_BURST_RADIUS float radius パーティクルの発生範囲をエミッターからの距離で指定します。このルールは PSYS_PART_FOLLOW_SRC_MASK フラグが指定されると無視されます。http://forums-archive.secondlife.com/327/f5/226722/1.html でのテストによると最大値は 50.00 です。 16
PSYS_SRC_ANGLE_BEGIN float angle_begin パーティクルが発生しない円や球の「くぼみ」または円錐の断面の半角を、(エミッターが向いている方向を起点とした) ラジアンで指定します。指定可能な値は PSYS_SRC_ANGLE_END のそれと同じですが、効果は逆になります。パターンが PSYS_SRC_PATTERN_ANGLE の場合、 2D の円の範囲となります。 PSYS_SRC_PATTERN_ANGLE_CONE または PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY が使用されている場合、 3D の球の範囲となります。このパラメタおよび PSYS_SRC_ANGLE_END の値は内部的に並び替えられ、このパラメタには小さいほうが割り当てられます。 22
PSYS_SRC_ANGLE_END float angle_end パーティクルが発生しない円や球の「くぼみ」または円錐の断面の半角を、(エミッターが向いている方向を起点とした) ラジアンで指定します。指定可能な値は 0.0 から PI までで、 0.0 の場合、パーティクルがエミッターの向く方向に一直線に放出されることになり、 PI の場合、エミッターを中心として、PSYS_SRC_ANGLE_BEGIN で指定した「くぼみ」または円錐の断面を除いた、円または球状に放出されることになります。パターンが PSYS_SRC_PATTERN_ANGLE の場合、 2D の円の範囲となります。 PSYS_SRC_PATTERN_ANGLE_CONE または PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY が使用されている場合、 3D の球の範囲となります。このパラメタおよび PSYS_SRC_ANGLE_BEGIN の値は内部的に並び替えられ、このパラメタには大きいほうが割り当てられます。 23
PSYS_SRC_INNERANGLE float angle_inner 非推奨: 代わりに PSYS_SRC_ANGLE_BEGIN を使ってください 後継のルールと同様に動作しますが、エミッターの中心でなく表面が範囲の基準になる点が異なります。 10
PSYS_SRC_OUTERANGLE float angle_outer 非推奨: 代わりに PSYS_SRC_ANGLE_END を使ってください 後継のルールと同様に動作しますが、エミッターの中心でなく表面が範囲の基準になる点が異なります。 11
PSYS_SRC_TARGET_KEY key target 移動目標となるオブジェクト、プリム、アバターの UUID を指定します。それに向かってパーティクルは進路を変え、移動してゆきます。表示持続時間が尽きる時にちょうど目標の幾何学中心に到達するよう調整されます。 PSYS_PART_TARGET_POS_MASK フラグが設定されていなければなりません。 警告 4 20
パーティクルの外観
PSYS_PART_START_COLOR vector color_start パーティクル出現時のを表現した vector 値。 1
PSYS_PART_END_COLOR vector color_end パーティクルが表示持続時間を経過して消滅する時のを表現した vector 値。PSYS_PART_INTERP_COLOR_MASK フラグが設定された時だけ使われます。 3
PSYS_PART_START_ALPHA float alpha_start パーティクル出現時の透明度を指定します。有効な値の範囲は 0.0 ~ 1.0 です。値が小さいほど透明に、大きいほど不透明になります。 2
PSYS_PART_END_ALPHA float alpha_end パーティクルが表示持続時間を経過して消滅する時の透明度を指定します。PSYS_PART_INTERP_COLOR_MASK フラグが設定された時だけ使われます。有効な値は PSYS_PART_START_ALPHA と同じです。 4
PSYS_PART_START_SCALE vector scale_start パーティクルが出現する時のサイズを指定します。(単位: メートル。) 有効な値は各軸とも 0.04 (0.03125) ~ 4.0 です。パーティクルは本質的に平面のスプライトなので、vector 値の Z 軸要素は無視され 0.0 になります。 5
PSYS_PART_END_SCALE vector scale_end パーティクルが表示持続時間を経過して消滅する時のサイズを指定します。PSYS_PART_INTERP_SCALE_MASK フラグが設定された時だけ使われます。有効な値は PSYS_PART_START_SCALE と同じです。 6
PSYS_SRC_TEXTURE string texture 各パーティクルで使用するテクスチャのインベントリの中での名前を指定します。代わりに、テクスチャのアセットキー UUID を指定することもできます。 llLinkParticleSystem を使用し、テクスチャが UUID でない場合、テクスチャはエミッタープリムの中になければなりません (スクリプトと一緒でなくてもかまいません) 。 12
PSYS_PART_START_GLOW float glow_start 発光時のパーティクルの光り方を指定します。有効な値は0.0(光らない)から1.0(光りまくる)の範囲です。 26
PSYS_PART_END_GLOW float glow_end パーティクルがライフタイム中に遷移するグローを指定します。有効な値はPSYS_PART_START_GLOWと同じです。 27
Particle Blending
Note: 注:パーティクルシステムのブレンドパラメータは、OpenGLのglBlendFuncに直接ラップしています。glBlendFuncの公式を含む詳細なドキュメントは、公式のglBlendFuncドキュメントに記載されています。
PSYS_PART_BLEND_FUNC_SOURCE integer bf_source ブレンド関数が、入力されたパーティクルの色とアルファ情報を使用してレンダリング結果を生成する方法を指定します。デフォルトはPSYS_PART_BF_SOURCE_ALPHAです。 24
PSYS_PART_BLEND_FUNC_DEST integer bf_dest ブレンド関数がレンダリング結果を生成するために現在のフレームバッファの色とアルファの情報をどのように使用するかを指定します。デフォルトはPSYS_PART_BF_ONE_MINUS_SOURCE_ALPHAです。パーティクルを背景と調和させて不透明感をなくし、発光させるには、destにPSYS_PART_BF_ONE、sourceにデフォルトを使用します。その他のブレンドの組み合わせでは、パーティクルテクスチャの不可視/アルファ部分がレンダリングされてしまいますが、テクスチャの不可視領域が黒一色の場合は別です(場合によっては白一色の場合もあります)。 25
V
a
l
u
e
s
PSYS_PART_BF_ONE ソースやデスティネーションのRGBA値をスケーリングしない。 0x0
PSYS_PART_BF_ZERO ソースまたはデスティネーションのRGBA値をゼロにします。 0x1
PSYS_PART_BF_DEST_COLOR RGBAの値をデスティネーションのRGBAの値でスケーリングします。 0x2
PSYS_PART_BF_SOURCE_COLOR RGBA値をパーティクルソースのRGBA値でスケーリングします。 0x3
PSYS_PART_BF_ONE_MINUS_DEST_COLOR RGBA値をデスティネーションの反転したRGBA値でスケーリングします。 0x4
PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR RGBA値をパーティクルソースの反転したRGBA値でスケールします。 0x5
PSYS_PART_BF_SOURCE_ALPHA RGBA値をパーティクルソースのアルファ値でスケールします。 0x7
PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA RGBA値をパーティクルソースの反転したアルファ値でスケールします。 0x9
Particle Flow
PSYS_SRC_MAX_AGE float duration_system エミッターの放出持続時間を秒単位で指定します。 (既にパーティクル構成が設定済みならば) 視界に入った時点からの、あるいは (既に視界に入っているならば) この関数が実行された時点からの時間となります。指定時間が過ぎると、上記の条件に合致しない限り、パーティクルは放出されなくなります。ゼロを指定するとパーティクルは無期限に放出されます。 (警告 1) 19
PSYS_PART_MAX_AGE float duration_particle 各パーティクルの表示持続時間を秒単位で指定します。 最大値は 30.0 です。この時間の間に、パーティクルが出現し、他のルールで指定されたパラメタに応じて外観を変えつつ移動し、消滅します。 7
PSYS_SRC_BURST_RATE float burst_sleep 放出されるパーティクルの "炸裂" (burst) 間隔を秒単位で指定します。 0.0 を指定すると、ビューアが可能な限り高速にパーティクルを放出します。 13
PSYS_SRC_BURST_PART_COUNT integer burst_particle_count 一度の "炸裂" で放出されるパーティクルの数を指定します。 15
パーティクルの動作
PSYS_SRC_ACCEL vector acceleration 各パーティクルが放出される際、それに適用される方向加速度ベクトルをメートル/秒で指定します。 リージョン 座標の各軸について 0.0 ~ 100.0 を有効な値として指定できます。 8
PSYS_SRC_OMEGA vector omega エミッターの各軸に関する回転速度をラジアン/秒で指定します。この値を設定するとプリムの Z 軸の正方向に向いていたエミッターは "解放" され、めざましい回転を表現します。(llTargetOmega 関数による) プリムの回転は、エミッターの回転に影響しません。 (警告 2警告 3) 21
PSYS_SRC_BURST_SPEED_MIN float speed_min 各パーティクルの初速の最小値をメートル/秒で設定します。パーティクルが出現する際の初速は、これで指定される範囲からランダムに選ばれます。このパラメタおよび PSYS_SRC_BURST_SPEED_MAX の値は内部的に並び替えられ、このパラメタには小さいほうが割り当てられます。 17
PSYS_SRC_BURST_SPEED_MAX float speed_max 各パーティクルの初速の最大値をメートル/秒で設定します。パーティクルが出現する際の初速は、これで指定される範囲からランダムに選ばれます。このパラメタおよび PSYS_SRC_BURST_SPEED_MIN の値は内部的に並び替えられ、このパラメタには大きいほうが割り当てられます。 18
LL_PART_* 定数は viewer - indra/llmessage/llpartdata.h にだけ現れ、それらのうちで示したフラグはコメントアウトされています。

警告

  1. 放出期間 (PSYS_SRC_MAX_AGE) をゼロ以外に指定してパーティクルを使用すると、スクリプトが何も呼び出していないのに、パーティクルが再開してしまうことがあるでしょう。これは、プリムのプロパティが更新されたりビューワに送信されたりすると、エミッターが「リセット」されてしまうバグによるものです。結果として、 timer か強制 スリープ を使って、放出期間が切れたパーティクルを消去しなければならなくなります。 Debbie Trilling はこの回避策を投稿しました: http://forums-archive.secondlife.com/54/fa/260031/1.html#post1996465
  2. PSYS_SRC_OMEGA で設定する回転は リージョン 座標に対するもので、プリムの ローカル 座標に対するものではありません。
  3. 新規で作成すると、プリムエミッターはプリムの ZERO_ROTATION に設定されます。パーティクルの表示を設計している時に PSYS_SRC_OMEGA を使用すると、エミッターは回転することになります。その後 PSYS_SRC_OMEGA のベクトルを変更すると、エミッターは ZERO_ROTATION にはリセットされず、停止または変更されたときの回転軸に沿って回転し続けることになります。この結果、破損したプリムの中でパーティクルは(新しいエミッターの)新しいプリムの中に同じスクリプトを入れたときとは違うように見えることになります。
  4. アバターに向けて移動するパーティクルは、 PSYS_SRC_TARGET_KEY ルールが指定され PSYS_PART_TARGET_POS_MASK フラグが設定されると、アバターの Bounding Box の幾何学的中心に向かうことになります。残念なことに、これは股間を直撃するように見えてしまいます。アバターの別の部位を目標にしたい場合は、目標となるプリムを設置して、パーティクルを向かわせたい位置にそれを移動し、プリムのキーを PSYS_SRC_TARGET_KEY ルールの値に設定します。
  5. Second Life ビューワは、小さすぎて殆ど見えない遠くのオブジェクトを間引いて描画するという最適化をしています。エミッターが非常に小さく、距離が遠いために間引かれてしまっている場合、それに関連づいたパーティクルも描画されなくなります。

サンプル


この例では、だんだん大きくなる赤い球が放出されます。

llParticleSystem( [
        PSYS_PART_FLAGS,       PSYS_PART_WIND_MASK | PSYS_PART_EMISSIVE_MASK,
        PSYS_SRC_PATTERN,      PSYS_SRC_PATTERN_EXPLODE, 
        PSYS_PART_START_COLOR, <1.0, 0.0, 0.0>
    ] );

便利なスニペット

色と透過度を intteger で格納したり、 integer から復元したりするのに便利な関数:

integer ColorAlphatoRGBA(vector color, float alpha) {
    return (((integer)(alpha   * 255.0) & 0xFF) << 24) |
           (((integer)(color.x * 255.0) & 0xFF) << 16) |
           (((integer)(color.y * 255.0) & 0xFF) <<  8) |
            ((integer)(color.z * 255.0) & 0xFF);
}

vector RGBAtoColor(integer rgba) {
    return < ((rgba >> 16) & 0xFF) / 255.0, ((rgba >> 8) & 0xFF) / 255.0, (rgba & 0xFF) / 255.0 >;
}

float RGBAtoAlpha(integer rgba) {
    return ((rgba >> 24) & 0xFF) / 255.0;
}

注意点

  • ビューワが表示するパーティクル個数の標準は、通常 4096 に設定されています。これはクライアントが視野に入る全てのアクティブなパーティクルを描画する最大のパーティクル数です。良いパーティクルの設計の秘訣は、自分のパーティクルを「スパム」せず、他の人のパーティクルを締め出さないことです。例えば、もし自分のパーティクルエミッターが期待した数のパーティクルを放出していないという問題がある場合、このリソース枯渇の犠牲になっているかもしれません。パーティクルはどちらかというと描画の優先度が低いので、クライアント/ビューアのラグ (低フレームレート) も同様の問題を起こします。最善の解決策は、設計やテストのときに、他のパーティクルがあまりないラグの少ない環境に移動することです。
  • パーティクルが一旦発生すると、移動方向は PSYS_SRC_ACCEL 、PSYS_PART_TARGET_POS_MASK フラグ、 PSYS_PART_FOLLOW_SRC_MASK によってのみ制御されます。例えば "渦を巻く竜巻" の効果 (オブジェクトが喋る時、撤去される時、アバターが SIM/グリッドを立ち去る時にビューワで使われるような効果) を作成する良い方法というものはありません。その効果は、パーティクルの発生源を動かすことで実現可能です。(例えば旋回スクリプトで。)

関連項目

関数

•  llLinkParticleSystem

記事

•  LSL での色
•  透明度

特記事項

欠番 14

14 という値を持つはずだった欠番の定数があり、基本的な列挙型 LLPSScriptFlags がそれを LLPS_SRC_BURST_DURATION という識別子で持っていますが、クライアントのソースで全く使われていません。炸裂持続時間が PSYS_SRC_BURST_PART_COUNT と PSYS_SRC_BURST_RATE で決まることを考えれば、これは当然です。

Search JIRA for related Issues

脚注

  1. ^ 訳注:本来 "Particle System" とは "Particle" (粒子) の集合を指し、厳密には「パーティクルシステム」と訳すべきところですが、日本の SL ユーザの大半がこのパーティクルシステム自体を「パーティクル」と称し、逆に「システム」はコンピュータシステムのようなものを連想させてしまう可能性があることから、「パーティクル」と訳します。

Signature

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