Xah Particle Maker Doc
This is a documantion of a older version of Xah Particle Maker. For latest version, please visit http://xahlee.org/sl/xah_particle_maker.html.
Xah Particle Maker
Thank you for purchasing Xah Particle Maker. It is the finest particle maker in Second Life. If you haven't purchased it yet, you can buy it at: xstreetsl.com. A free demo version is available at: xstreetsl.com.
- No Scripting Skill Required. Just touch buttons. Respond to typed command too.
- 17 presets by touch: rain, snow, flame, volcano, fireworks, smoke, water jet, laser blast, supernova, solar wave, double spiral, flowing hearts, and more ...
- Easy to use. Simple 3D touch panels. Not a flat HUD or complex control center.
- Generates LSL source code. One touch generates particle script to put in your prim. (full perm)
- Smart random particle generator. Smart algorithm finds good particle patterns by a single touch. Discover effects you've never thought of!
- Supports Textures. Drag the texture to a prim and see its effects in particle.
- Supports Targeting. Touch a prim makes particles follow you.
- Designed For Scripters Too. Responds to the complex inter-dependencies of the particle parameters. Automatically fixes invalid input and activate other parameters. Inactive parameters are shown as ◇.
Patterns and Color
Click on the different shaped button on top row 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 current pattern will be red.
Clicking on the top row of color cubes will set a starting color. The current color is indicated by the bar on the upper left.
Clicking on the second row of color cubes will set a ending color, so that the particles will shift its color from start to end.
Click on the Glow button will set particles to glow. The button will light up to indicate its current status.
The “Color Changing” button sets whether particles will shift from starting color to ending color. When Color Changing is on, the button lights up. When color changing is off, the second row for setting ending color also disappears from view.
These are on/off switches that control the particle's behavior. Just try to play with it. Most of it is apparent once you see its effects. The following is a detailed explanation.
|Bounce||Make the particle bounce on the emitter prim's plane.||For example, if you want sparks bouncing off the floor, turn this on.|
|Wind||Make the particles blown by wind.||Wind in Second Life has random direction, but the wind is always slow. This switch is usually used together with a gravity emulating acceleration applied to the sprites. (for example, type “accel 0 0 -0.5”. For smoke, use “accel 0 0 0.5”.)|
|Scale 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 Scale Changing on too.|
|Stick to Emitter||Make the sprite follow to the emitter tightly as being part of it.||This makes no difference if your particle prim is not moving. If your particle is to be used on something that's moving, such as on a jet plane, a watch worn by a avatar, then you might consider to turn this on. For example, the flames from a Rocket engine should have this on, because the flames should stick to the nozzle, however, if you want the particle to look like a long trailing smoke of a missile, then it should be off, since the smoke is far removed from the nozzle.|
|Target Linear||Make the particles flow in a straight line towards target.||Touch “Target Me” button on the floor first.|
|Target Pos||Make the particles move towards target.||Touch “Target Me” button on the floor first.|
Generate LSL Code
Clicking on this button generates the LSL code that creates the current particle effect. The code is shown in your chat. (press Ctrl+h to see it if it scrolled off.)
Particle Parameter Display and Commands
For advanced users, you can set particle parameters by typing it in chat.
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 “BurstRate 2” to set burst rate to 2. Letter case does not matter. You can type “burstrate 2”. The capitalized letters indicate shortcut. For example, for BurstRate, you can just type “br”.
You can type “help” to see the full command list.
The following is a full detail what these commands do and mean.
|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.|
|BurstRate .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.|
|BurstCount 50||The number of particle images (called sprites) per burst.||In general, when your burst rate is fast, your burst count should be small.|
|age 5||The duration each sprite last.|
|BurstSpeed 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.|
|accel 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 “accel” value, since that pattern doesn't burst/move sprites at all.|
|BurstRadiuS 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 does not apply if the particle pattern is set to Drop, since Drop does not burst.|
|angle 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.|
|rotate 0 0 30||Make the emitter rotate, 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.||Finding uuid of a texture is hard. Use the Xah Particle Maker Texture Tool instead.|
|TargetKey ‹uuid of a prim or avatar›||Set the target for the particles to go to.||Use the touch pad on the floor to set particles to follow you.|
|StartColor 1 0 0||Applies a color to the sprite image. The values are R G B, from 0 to 1.||Click on the Random Color touch-pad until it shows a color you want. This method is much easier.|
|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. 0 means totally 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.|
Applying Particle Textures and Target
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 ” (need a space after the word).
Setting Particle Follow Target
The Target Linear and Target Pos touch panel, and the Target UUID touchpad (dark cyan pad on the ground).
Touch the dark cyan pad on the ground to make the particles flow towards you.
You can also set a arbitrary target by typing the command “TargetKey ‹uuid›”, where the uuid is the key for a agent or object.
To turn off following target, touch the Target Pos panel.
To have the particles go to target in a straight line, touch Target Linear.
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_PATTERN||(touch burst pattern prim)|
|PSYS_SRC_BURST_SPEED_MAX||BurstSpeed ‹min› ‹max›|
|PSYS_SRC_BURST_SPEED_MIN||BurstSpeed ‹min› ‹max›|
|PSYS_SRC_ANGLE_BEGIN||angle ‹min› ‹max›|
|PSYS_SRC_ANGLE_END||angle ‹min› ‹max›|
|PSYS_SRC_OMEGA||rotate ‹x› ‹y› ‹z›|
|PSYS_SRC_ACCEL||accel ‹x› ‹y› ‹z›|
|PSYS_PART_START_COLOR||StartColor ‹x› ‹y› ‹z›|
|PSYS_PART_END_COLOR||EndColor ‹x› ‹y› ‹z›|
|PSYS_PART_START_SCALE||StartScale ‹x› ‹y›|
|PSYS_PART_END_SCALE||EndScale ‹x› ‹y›|
|PSYS_PART_BOUNCE_MASK||(touch the Bounce panel)|
|PSYS_PART_EMISSIVE_MASK||(touch the Glow panel)|
|PSYS_PART_FOLLOW_SRC_MASK||(touch the “Stick to Emitter” panel)|
|PSYS_PART_FOLLOW_VELOCITY_MASK||(touch the Shooting panel)|
|PSYS_PART_INTERP_COLOR_MASK||(touch the “Color Changing” button panel)|
|PSYS_PART_INTERP_SCALE_MASK||(touch the Scale Changing panel)|
|PSYS_PART_TARGET_LINEAR_MASK||(touch the Target Linear panel)|
|PSYS_PART_TARGET_POS_MASK||(touch the Target Pos panel)|
|PSYS_PART_WIND_MASK||(touch the Wind panel)|
Thank you for purchasing Xah Particle Maker. If you have any problems, please contact me. My Second Life name is Xah Toll.