Ulrika Zugzwang
Magnanimous in Victory
Join date: 10 Jun 2004
Posts: 6,382
|
08-05-2004 16:24
Is there a resource with various settings for particle scripts to make such common environmental effects such as snow, clouds, or rain?
I did some forum searching and I couldn't find any code snippets. I do have a particle script that I use and I am familiar with it. I was just hoping someone had the code lying about so that I didn't have to spend the time trying to reproduce each effect. The most important one for me is snow.
~Ulrika~
_____________________
Chik-chik-chika-ahh
|
Paradigm Brodsky
Hmmm, How do I set this?
Join date: 28 Apr 2004
Posts: 206
|
08-05-2004 16:54
Yes I have one for snow which actually allows you to use as many different flake textures as you put in the object. It randomly picks the next texture, so your flakes can be different.
Contact me in world.
|
Apotheus Silverman
I write code.
Join date: 17 Nov 2003
Posts: 416
|
08-06-2004 08:17
I also have a nifty cloud vehicle for sale with different modes for cloud-only, snow, rain, and storm with thunder and lightning. You can see them scattered here and there being used for weather clouds if you wander the world. Probably not what you're looking for, but just in case.
It is available at the southeast corner of Abbotts above Hangar 3 (ground level) as well as the Abbotts Aerodrome exhibit at Busy Ben's or any Apotheus Silverman Aircraft display throughout the world in case you're interested.
|
Francis Chung
This sentence no verb.
Join date: 22 Sep 2003
Posts: 918
|
08-06-2004 09:10
Neil Protagonist has a bunch of particle effects including some of the ones you're describing in his FX store in Uzume (33,216)
_____________________
-- ~If you lived here, you would be home by now~
|
Ulrika Zugzwang
Magnanimous in Victory
Join date: 10 Jun 2004
Posts: 6,382
|
08-06-2004 17:58
This is what I was looking for! It works like a charm. // Particle Script 0.3 // Created by Ama Omega // 10-10-2003 -boeh!
// Mask Flags - set to TRUE to enable integer glow = TRUE; // Make the particles glow integer bounce = FALSE; // Make particles bounce on Z plan of object integer interpColor = TRUE; // Go from start to end color integer interpSize = TRUE; // Go from start to end size integer wind = FALSE; // Particles effected by wind integer followSource = FALSE; // Particles follow the source integer followVel = FALSE; // Particles turn to velocity direction
// Choose a pattern from the following: // PSYS_SRC_PATTERN_EXPLODE // PSYS_SRC_PATTERN_DROP // PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY // PSYS_SRC_PATTERN_ANGLE_CONE // PSYS_SRC_PATTERN_ANGLE integer pattern = PSYS_SRC_PATTERN_EXPLODE;
// Select a target for particles to go towards // "" for no target, "owner" will follow object owner // and "self" will target this object // or put the key of an object for particles to go to key target = "";
// Particle paramaters float age = 100; // Life of each particle float maxSpeed = 0.4; // Max speed each particle is spit out at float minSpeed = 0.4; // Min speed each particle is spit out at string texture; // Texture used for particles, default used if blank float startAlpha = 1; // Start alpha (transparency) value float endAlpha = 1; // End alpha (transparency) value vector startColor = <1,1,1>; // Start color of particles <R,G,B> vector endColor = <1,1,1>; // End color of particles <R,G,B> (if interpColor == TRUE) vector startSize = <.1,.1,.1>; // Start size of particles vector endSize = <.1,.1,.1>; // End size of particles (if interpSize == TRUE) vector push = <0,0,-0.03>; // Force pushed on particles
// System paramaters float rate = .01; // How fast (rate) to emit particles float radius = .1; // Radius to emit particles for BURST pattern integer count = 10; // How many particles to emit per BURST float outerAngle = 1.54; // Outer angle for all ANGLE patterns float innerAngle = 1.55; // Inner angle for all ANGLE patterns vector omega = <0,0,10>; // Rotation of ANGLE patterns around the source float life = 0; // Life in seconds for the system to make particles
// Script variables integer flags;
updateParticles() { flags = 0; if (target == "owner") target = llGetOwner(); if (target == "self") target = llGetKey(); if (glow) flags = flags | PSYS_PART_EMISSIVE_MASK; if (bounce) flags = flags | PSYS_PART_BOUNCE_MASK; if (interpColor) flags = flags | PSYS_PART_INTERP_COLOR_MASK; if (interpSize) flags = flags | PSYS_PART_INTERP_SCALE_MASK; if (wind) flags = flags | PSYS_PART_WIND_MASK; if (followSource) flags = flags | PSYS_PART_FOLLOW_SRC_MASK; if (followVel) flags = flags | PSYS_PART_FOLLOW_VELOCITY_MASK; if (target != "") flags = flags | PSYS_PART_TARGET_POS_MASK;
llParticleSystem([ PSYS_PART_MAX_AGE,age, PSYS_PART_FLAGS,flags, PSYS_PART_START_COLOR, startColor, PSYS_PART_END_COLOR, endColor, PSYS_PART_START_SCALE,startSize, PSYS_PART_END_SCALE,endSize, PSYS_SRC_PATTERN, pattern, PSYS_SRC_BURST_RATE,rate, PSYS_SRC_ACCEL, push, PSYS_SRC_BURST_PART_COUNT,count, PSYS_SRC_BURST_RADIUS,radius, PSYS_SRC_BURST_SPEED_MIN,minSpeed, PSYS_SRC_BURST_SPEED_MAX,maxSpeed, PSYS_SRC_TARGET_KEY,target, PSYS_SRC_INNERANGLE,innerAngle, PSYS_SRC_OUTERANGLE,outerAngle, PSYS_SRC_OMEGA, omega, PSYS_SRC_MAX_AGE, life, PSYS_SRC_TEXTURE, texture, PSYS_PART_START_ALPHA, startAlpha, PSYS_PART_END_ALPHA, endAlpha ]); }
default { state_entry() { updateParticles(); } }
~Ulrika~
_____________________
Chik-chik-chika-ahh
|
Cutter Rubio
Hopeless Romantic
Join date: 7 Feb 2004
Posts: 264
|
08-06-2004 18:54
Ulrika,
Go up to Jopsy's Ethereal Lands and take the rocket up to the Particle Lab. She has a free Emitter that uses an updated version of Ama's script that is just excellent. Plus she has lots of tutorials there...
Cutter
_____________________
The early bird may get the worm, but the second mouse gets the cheese.
|
Rysidian Rubio
Ruby Red Head
Join date: 14 Jan 2004
Posts: 263
|
08-08-2004 20:46
I'm not having a go at anyone specific here and definately not at Ulrika for starting this thread, but I have seen alot of people using snow particle scripts (almost exactly the same as Ulrika's example) all over the snow sims. While this looks nice is does cause a problem.
My problem is specifically that this script uses (or tries to) 100,000 particles, which basically means that any other particles effects in your draw distance either don't work, or hardly at all. And some people have many of these snow objects on their land.
Since the default number of particles your Sl Client can draw is 2048 you can see how trying to create 100,000 particles creates problems.
Using the script below, if you change the following lines will make it create only 1000 particles and you will hardly notice the difference, and other particle effects will still work!
float age = 10; // Life of each particle float rate = .1; // How fast (rate) to emit particles integer count = 10; // How many particles to emit per BURST
To work out how many particles your script creates (the total number there are visible at any one time) here's a simple formula: (count / rate) * age. (count divided by the rate) multiplied by the age.
I think Paradygm's script with actual snowflake textures sounds alot better tho!
|