Xah Lee, 2009
Thank you for purchasing Xah Particle Maker. It is the finest particle maker in Second Life.
Xah Particle Maker. ❐
For a particle gallery, see: Xah Particle Maker Galleries.
Presets buttons. Click on them to generate the particle. Click on Random to generate random particles.
The Pattern Picker.
Click on the pattern picker changes the general shape of the particle pattern. The ball creates exploding pattern, the cone creates a volcano pattern, the fan creates a fan-shaped pattern, the tube creates a vertical pattern.
The pattern that is currently in effect is colored red.
| Pattern | Prim Shape | Tip |
|---|---|---|
| Explode | Ball | When using Explode, try to type “BurstSpeedRange ‹min› ‹max›” and “BeginRadius ‹r›”. BurstSpeedRange makes the particles bust out from a random speed from min to max. |
| Drop | Cylinder | This pattern does not move particles by default. Try typing “ForceVector 0 0 -1” for a gravity effect and “ForceVector 0 0 1” for a rising smoke effect. |
| Angle Cone | Cone | When using this pattern, try “AngleRange 0 10” for a shooting gun effect, or “AngleRange 90 90” for disk effect. |
| Angle | Fan Shape | When using this pattern, try the “AngleRange” command like Cone, but also try “SpinVector 0 0 40” to have it behave like a rotating water spinkler or spiral. |
The Color Picker, transparency slider, and the Sprite Size touchpad.
The Color Picker lets you select a color for your particle. The Transparency touchpad lets you set transparency. The Sprite Size touchpad changes the particle image size.
Clicking on the bottom color picker (not shown above) will set ending color, so that the particles will shift its color from starting color to to ending color. Similar for the bottom set of transparency slider and Sprite Size touchpad.
Slider touchpads.
The slider touchpads lets you change various parameters of the particle. To use them, left click any position in panel, then you can move your mouse and see the input change in real time. The particle is updated as you drag your mouse ponter over the panel.
The On/Off Panel. When a switch is on, it lights up red.
These are on/off switches that control the particle's behavior. Just try them. Their effects are apparent most of the time. The following is a detailed explanation.
| Panel Name | Meaning | Tips |
|---|---|---|
| Glow | Make the particle color glow. | This is like “Full Bright” for a prim. When a particle is set to glow, local light won't change its shade nor sunrise or sunset. |
| Color Changing | Make the color of the particles shift from one color to another. | |
| Follow Wind | Make the particles move by Second Life's region wind. | Wind in Second Life has random direction, but the wind is always slow. To emulate leafs falling, use the Gravity touchpad and set it to about “- 0.5”. To emulate rising smoke, set Gravity to about “0.5”. |
| Bounce | Make the particle bounce on the emitter prim's plane. | For example, if you want sparks bouncing off the floor, turn this on. If your particle setting do not have any particles going below the emitter's xy-plane, this switch will have no visible effect. To force this option to have a visible effect, type “ForceVector 0 0 -5”. |
| Size Changing | Make the sprite change its width and height during its life. | When you turn this on, usually you also want to set “StartScale ‹width› ‹height›” and “EndScale ‹width› ‹height›”. |
| Shooting | Make the sprite change its orientation during its life time. When on, the sprites will be oriented in the same direction they are moving. | This behavior is good usually when you want to emulate something shooting out, like a gun or gushing blood. When you set this on, usually you want have Size Changing on too. |
| Target You | Make the particles flow towards you. |
Create Script button.
Clicking on this button generates a script for the current particle effect. The code is shown in your chat.
To create your full perm particle effect, do:
The Xah Particle Texture Tool.
To apply a texture, rez the object named “Xah Particle Texture Tool”. Then, drag a texture to the tool's top face.
You can touch the object anytime to set the particle texture to use the prim's top face texture.
You can also set a texture by typing the command: “texture ‹uuid›”. If you want to set the texture to default, just type “texture ” or “texture default”.
You can rez multiple copies of this tool. This is convenient when you have several textures and what to compare them.
Be sure to check out the Linden bundled textures in your inventory. Open your inventory, and look in the folder named “Library‣Textures‣Waterfalls‣Particle System”.
For advanced users, you can set particle parameters by typing it in chat.
Particle Parameter Info. These are the parameters for the current particle.
When a parameter doesn't make sense, it is displayed as a diamond ♢. For example, StartAngle and EndAngle have no effect when the particle pattern is not “angle” or “angle cone”, so, they are displayed as ♢.
Type the commands in open chat to set them.
For example, type “SecPerBurst 2” to set burst rate to 2. Letter case does not matter. You can type “secperburst 2”. The capitalized letters indicate shortcut. For example, for SecPerBurst, you can just type “spb”.
You can type “help” to see the full command list. The following table explains what they mean.
| Command Example | Meaning | Tips |
|---|---|---|
| EmitterAge 0 | Sets how long the particle effect lasts, in seconds. “0” is special, it means non-stop. | Leave this to 0. Otherwise, you won't see any particles after that. If you want the emiter to stop after some time in your build, you can change the value of PSYS_PART_MAX_AGE after you generate the particle source code. |
| SecPerBurst .3 | Sets the period for each particle creation, in seconds. | For example, a value of 2 means a burst every 2 second. A value of “.5” means a burst every half second. |
| NumPerBurst 50 | The number of particle images (called sprites) per burst. | In general, when your burst rate is fast, your burst count should be small. You can try NumPerBurst 0 to turn the machine off. |
| age 5 | The duration each sprite exists. | |
| BurstSpeedRange 1 3 | A range for speed of burst, in meters per second. First number is the range minimum, the second number is max. | The particles will burst out at a random speed from your min max range. If the min and max are the same, that means the sprites flow out at the same speed. |
| ForceVector 0 0 -1 | A force applied to the sprites. | For example, a value of “0 0 -0.5” emulates leafs falling down by gravity. If you want it to fall fast, try “0 0 -2” or larger negative z value. A value of “0 0 1” will make the sprites go up, such as smoke. A value of “2 0 0” will make the sprites flow towards east. If your pattern is Drop (the cylinder shaped prim), you almost always want some “ForceVector” value, since that pattern does not move sprites at all. |
| BeginRadius 10 | The distance sprites start to appear from the emitter. | Set it to 0 if you want particles to flow out right from the emitter. If a value is 1 for example, then there will be no particles within 1 radius of the emitter. This parameter has no effect when the particle pattern is set to Drop, since Drop does not burst. |
| AngleRange 10 80 | A range, in degrees, where particle will bust out. Applies to Angle Cone and Angle (fan shaped) patterns. | This is a very useful parameter. Common values are around “0 10”, for emulating a narrow nozzle, or around “90 90”, emulating a ring or circle. |
| SpinVector 0 0 30 | Rotates the emitter, in degrees, on x, y, z axes, per per second. | Useful for only Angle Cone and Angle (fan shaped) patterns. For example, if you have a Angle pattern, then 0 0 30 will make the pattern rotate 30° per second around the emitter's z axis. |
| texture ‹uuid of a texture› | Sets a image as the sprites. | This command is handy if you know a texture's uuid but don't have the image in your inventory. Normally, just drop textures to the the Xah Particle Maker Texture Tool to set texture. |
| TargetKey ‹uuid of a prim or agent› | Set the target for the particles to flow to. | Also, try the Target You panel to set UUID to yourself. Particle target can be a agent (avatar) or object. When the agent or obj is more than about 90 meters away, the particles will target itself instead. |
| StartColor 1 0 0 | Applies a color to the sprite image. The values are R G B, from 0 to 1. | The input can be a hex number or 0 to 255 based value. For example, to set it to red, the following are equivalent: “startcolor ff0000”, “startcolor 1 0 0”, “startcolor 255 0 0”. |
| EndColor 0 1 0 | Applies a color to the sprites, so that the images will change its color from start to end. | |
| StartAlpha 1 | Sets the transparency of the sprite image. Valid values are 0 to 1. When “0”, it is completely transparent. | |
| EndAlpha .5 | Sets the ending transparency. | |
| StartScale 4 1 | Sets the starting scale of the sprite. First number is width, second is height. | Remember, particles are just floating images. |
| EndScale 1 4 | Sets the ending scale of the sprite. | This value is particularly useful when you have “Shooting” on. |
For advanced scripters, the following table lists all parameters in llParticleSystem, and the corresponding commands to set them.
| Parameter Name | Type in chat |
|---|---|
| PSYS_SRC_MAX_AGE | EmitterAge ‹num› |
| PSYS_SRC_PATTERN | (touch burst pattern prim) |
| PSYS_SRC_BURST_RATE | SecPerBurst ‹num› |
| PSYS_SRC_BURST_PART_COUNT | NumPerBurst ‹num› |
| PSYS_SRC_BURST_RADIUS | BeginRadius ‹num› |
| PSYS_SRC_BURST_SPEED_MAX | BurstSpeedRange ‹min› ‹max› |
| PSYS_SRC_BURST_SPEED_MIN | BurstSpeedRange ‹min› ‹max› |
| PSYS_SRC_ANGLE_BEGIN | AngleRange ‹min› ‹max› |
| PSYS_SRC_ANGLE_END | AngleRange ‹min› ‹max› |
| PSYS_SRC_OMEGA | SpinVector ‹x› ‹y› ‹z› |
| PSYS_SRC_ACCEL | ForceVector ‹x› ‹y› ‹z› |
| PSYS_SRC_TARGET_KEY | TargetKey ‹uuid› |
| PSYS_SRC_TEXTURE | texture ‹uuid› |
| Parameter Name | Type in chat |
|---|---|
| PSYS_PART_MAX_AGE | age ‹num› |
| PSYS_PART_START_COLOR | StartColor ‹x› ‹y› ‹z› |
| PSYS_PART_END_COLOR | EndColor ‹x› ‹y› ‹z› |
| PSYS_PART_START_ALPHA | StartAlpha ‹num› |
| PSYS_PART_END_ALPHA | EndAlpha ‹num› |
| PSYS_PART_START_SCALE | StartScale ‹x› ‹y› |
| PSYS_PART_END_SCALE | EndScale ‹x› ‹y› |
| Parameter Name | On/Off Panel |
|---|---|
| PSYS_PART_BOUNCE_MASK | Touch the Bounce panel |
| PSYS_PART_EMISSIVE_MASK | Touch the Glow panel |
| PSYS_PART_FOLLOW_SRC_MASK | (feature removed from current release, because it is confusing to beginners and does not have any effect on emitters that is not moving. If you need it, just add it in your source code.) |
| PSYS_PART_FOLLOW_VELOCITY_MASK | Touch the Shooting panel |
| PSYS_PART_INTERP_COLOR_MASK | Touch the “Color Changing” panel |
| PSYS_PART_INTERP_SCALE_MASK | Touch the Size Changing panel |
| PSYS_PART_TARGET_LINEAR_MASK | (feature removed from current release, because it is not that commonly needed. If you need it, just add it in your source code.) |
| PSYS_PART_TARGET_POS_MASK | Touch the Target You panel |
| PSYS_PART_WIND_MASK | Touch the Follow Wind panel |
Creating particles in Second Life is pretty much a experimental process. You can learn what different parameters do by changing them.
To create your own particle, choose a preset that most closely match what you have in mind. Then, look at the parameter value displayed. Click on any of the control panels, hold down the left button and move your mouse slowly, to see how each parameter changes the particle.
Thank you for purchasing Xah Particle Maker.