Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Particle Size Limits

Atom Burma
Registered User
Join date: 30 May 2006
Posts: 685
11-30-2007 04:04
I have been experimenting building with a northern lights generator for a few days now. I have tried huge prims, moving prims, moving textures, and particle gens. particles are the best so far, but they are so small. They seem to max out at the standard 10m prim size. The gens are creating only 6 particles per cycle on a very slow and gradual loop so I won't be creating a lot of lag, but they are too small to be a convincing northern light effect. Does anyone know of a script or a way to increase the particle size beyond the standard 10m size? I am just using the available Linden particle scripts that are boxed around the grid. After about 10 rebuilds of this project I am getting closer to a very realistic effect but am stuck on the particles.

Also I was curious if there was a script available commercially with resell rights to change the particles after the burst. This would cut down on the actual gens needed and be able to cycle the some 20+ TGA files I have made for this northern light f/X. Thanks
Kahiro Watanabe
Registered User
Join date: 28 Sep 2007
Posts: 572
11-30-2007 04:30
You can replace default particle shape for a texture.
The best place to get particles is in the particle lab, go to the sandbox area, you have free particles systems there.
Qie Niangao
Coin-operated
Join date: 24 May 2006
Posts: 7,138
11-30-2007 04:37
Yeah, unfortunately, particles don't get that large. I think "4" in the scale parameter is as big as actually makes any difference, which, as you say, kinda feels 10 meter-ish at point of emission. This seemed like a big problem for my particle "moons" but luckily the range of viewing locations was reasonably close-in, so they ended up looking vaguely celestial anyway. For Auroras, though, hmmm... you could have the emitter kind of "paint" a variety of long-lived particles across the sky. Unlike prim textures, you can't really align them for different viewing angles, but that doesn't matter too much for an Aurora, at least horizontally. Vertically, the individual streaks are just gonna be limited in size, as far as I can figure. They can be "painted" to overlap and fill more vertical sky, but I don't see a way to align the streaks to look continuous for all viewers.

Note, though, that there's also a distance limitation. The particles have to be within the client's drawing distance to be seen--and the particle emitter has to be rendered, too (so it can't be too small or it won't work, even within the drawing distance). So, a particle effect can be pretty compelling for an individual build, but probably not for a sim.
CCTV Giant
Registered User
Join date: 2 Nov 2006
Posts: 469
11-30-2007 06:55
From what I have seen from messing around with particle scripts.......


The max size of textures is 10 meters and the radius is 30 meters.

Smart guys -- correct me if I am wrong.

CC
Atom Burma
Registered User
Join date: 30 May 2006
Posts: 685
11-30-2007 07:57
Thanks for the info. I actually designed 'self standing' textures of multiple streaks together but having a longer die time and changing the textures to actually form the image may be a good think to try out. I tried huge prims but I am not happy with the edges of the prims and how the textures get cut off during an animation loop. Looked very inorganic. Having multiple 'bursts' with a longer wait time may also give me a way to make it seem a bit more organic feel. Was there a way to have the particle gen switch textures? Even switch colours would be sufficient. I could just make the TGA white and colour it with properties. I experimented with putting the gens on a slowly rotating wheel, all invis of course, which gives a wonderful randomization to the placement. Thanks for your help.
Debbie Trilling
Our Lady of Peenemünde
Join date: 17 Oct 2006
Posts: 434
11-30-2007 08:05
From: CCTV Giant
The max size of textures is 10 meters and the radius is 30 meters


I don't know if I understand what you mean by "max size of textures is 10 meters" ~ it is a little ambiguous.

Do you mean the particle size? (PSYS_PART_START/END_SCALE) or the size of the texture itself (PSYS_SRC_TEXTURE )? Actually, neither makes much sense...

see http://rpgstats.com/wiki/index.php?title=LlParticleSystem

From: someone

PSYS_PART_START_SCALE : Maximum 4x4

PSYS_PART_END_SCALE: Maximum 4x4


I believe that 30m is the maximum for PSYS_SRC_BURST_RADIUS and I have often used that successfully. I can't seem to find a reference at the moment tho'. I think I read it in some documentation that came with a Particle Generator as it doesn't appear to be on the wiki
Debbie Trilling
Our Lady of Peenemünde
Join date: 17 Oct 2006
Posts: 434
11-30-2007 08:26
From: Atom Burma
Was there a way to have the particle gen switch textures?


Not really. Once PSYS_SRC_TEXTURE is set and the particle emitted, you can't change the particle texture mid-life.

You can, however, create a reasonable illusion that that is what is occuring. Takes a bit of trial and error and patience, but can be done.

You have seperate llParticleSystem calls for the two different textures. This can be in the same prim, with the two calls being controlled by a switch within a timer or alternatively two seperate prims.

By setting the _RADIUS_ so that one of the particle effects ends and fades out while the other at approx the same point starts and fades in. Some overlap of the two particle emissions is probably required, depending ofc on the textures being used and the effect you are trying to create.

"Switching colours" (other than using PSYS_PART_START/END_COLOR) could be achieved in a similar way.

The point is, you are not changing anything mid-life but creating a new second emmision, starting at the point that the first one ends.

Hope that helps....
Bobbyb30 Zohari
SL Mentor Coach
Join date: 11 Nov 2006
Posts: 466
11-30-2007 10:20
From: CCTV Giant
From what I have seen from messing around with particle scripts.......


The max size of textures is 10 meters and the radius is 30 meters.

Smart guys -- correct me if I am wrong.

CC


I believe its 4x4 or 5x5 not sure. But 10 is way way off. As for radius, you can fill the entire sim.
_____________________
Debbie Trilling
Our Lady of Peenemünde
Join date: 17 Oct 2006
Posts: 434
12-01-2007 02:58
A number of unsubstantiated claims have been made in this thread regarding particle size limits.

Some of these claims directly contradict the information given on the http://wiki.secondlife.com/wiki/LlParticleSystem and http://rpgstats.com/wiki/index.php?title=LlParticleSystem wiki's.

As far as I can see, no maximum dimension is given on the wiki's for PSYS_SRC_BURST_RADIUS. The only reference I can remember seeing was of 30m in documentation for a Particle Generator. But perhaps that was a limitation of the product itself, rather than the particle system.

The following script tests the maximum values that can be passed to PSYS_PART_START/END_SCALE and PSYS_SRC_BURST_RADIUS and still make a difference to the particle emission. To be clear, a script may indeed compile and run if an out-of-bounds value is passed, but does it actually affect the particle emission?

This script gradiently increases the values passed to these parameters, and the tester can then observe that actual affect on the particle emission. The results of my observations are given after the code.

CODE


// ~ PARTICLE SIZE LIMITS TESTER ~

// *** This script gradiently increases the values being passed to
// PSYS_PART_START_SCALE, PSYS_PART_END_SCALE and PSYS_SRC_BURST_RADIUS
// so that the tester can observe at what point increasing the values stops making a
// difference to the emitted particle effect ***

// see http://forums.secondlife.com/showthread.php?t=226722.
// Various unsubstanstiated claims are made for the maximum values that can be passed
// to PSYS_PART_START_SCALE,PSYS_PART_END_SCALE and
// PSYS_SRC_BURST_RADIUS and still continue to affect the particle emmision.
// Some of these claims directly contradict the information given in the llParticleSystem
// pages on both the http://wiki.secondlife.com/wiki/LlParticleSystem and
// http://rpgstats.com/wiki/index.php?title=LlParticleSystem wiki's


//TOUCH to switch ON and OFF

integer Power = FALSE;
float Size = 1.00;
float Height = 5.00;
key ObjectOwner = "";
string TestType = "Testing _START/END_SCALE";


ParticleRadius()
{
llInstantMessage(ObjectOwner, TestType + ":_RADIUS_BURST is set to " + (string)llFloor(Height) + "m.");

llParticleSystem( [
PSYS_PART_START_SCALE,<3.0, 3.0, 0.0>,
PSYS_PART_END_SCALE,<3.0, 3.0, 0.0>,
PSYS_PART_START_COLOR,<1.0,0.0,0.0>,
PSYS_PART_END_COLOR,<1.0,0.0,0.0>,
PSYS_PART_START_ALPHA,1.0,
PSYS_PART_END_ALPHA,1.0,
PSYS_SRC_BURST_PART_COUNT,30,
PSYS_SRC_BURST_RATE,0.09,
PSYS_PART_MAX_AGE,5.0,
PSYS_SRC_MAX_AGE,0.0,
PSYS_SRC_PATTERN,4,
PSYS_SRC_BURST_RADIUS, Height,
PSYS_SRC_ANGLE_BEGIN,0.0,
PSYS_SRC_ANGLE_END,3.14,
PSYS_SRC_OMEGA,<0.0, 0.0, 0.0>,
PSYS_SRC_ACCEL,<0.0, 0.0, 0.0>,
PSYS_SRC_BURST_SPEED_MIN,0.01,
PSYS_SRC_BURST_SPEED_MAX,0.02,
PSYS_SRC_TARGET_KEY,llGetKey(),
PSYS_PART_FLAGS, ( 295 ) ]);
}


ParticleSize()
{
llInstantMessage(ObjectOwner, TestType + ": _START_SCALE_ & _END_SCALE_ are set to " + (string)llFloor(Size) + "m.");

llParticleSystem([
PSYS_PART_FLAGS, 0,
PSYS_SRC_PATTERN, 4,
PSYS_PART_START_ALPHA, 0.50,
PSYS_PART_END_ALPHA, 0.50,
PSYS_PART_START_COLOR, <1.0,1.0,1.0>,
PSYS_PART_END_COLOR, <1.0,1.0,1.0>,
PSYS_PART_START_SCALE, <Size,Size,0.00>,
PSYS_PART_END_SCALE, <Size,Size,0.00>,
PSYS_PART_MAX_AGE, 1.20,
PSYS_SRC_MAX_AGE, 0.00,
PSYS_SRC_ACCEL, <0.0,0.0,0.0>,
PSYS_SRC_ANGLE_BEGIN, 0.00,
PSYS_SRC_ANGLE_END, 0.00,
PSYS_SRC_BURST_PART_COUNT, 8,
PSYS_SRC_BURST_RADIUS, 5.0,
PSYS_SRC_BURST_RATE, 0.10,
PSYS_SRC_BURST_SPEED_MIN, 0.00,
PSYS_SRC_BURST_SPEED_MAX, 0.00,
PSYS_SRC_OMEGA, <0.00,0.00,0.00>,
PSYS_SRC_TEXTURE, (key)"d02531dd-491c-45b5-2cab-2e47ec81ec0d"]);
}

ShutDown()
{
Power = FALSE;
llParticleSystem([]);
llSetTimerEvent(0.00);
Size = 1.00;
Height = 5.00;
}

default
{

on_rez(integer start_param)
{
// reset script on rez
llResetScript();
}


state_entry()
{
//initialise system
ShutDown();
ObjectOwner = llGetOwner();
llInstantMessage(ObjectOwner, "TOUCH to switch ON and OFF.");
}


touch_start(integer total_number)
{
if (Power)
{
// touch to OFF
ShutDown();
llInstantMessage(ObjectOwner, "Switched OFF");
}
else
{
// touch to ON
Power = TRUE;
llInstantMessage(ObjectOwner, "Switched ON");
ParticleSize();
llSetTimerEvent(15.0);
}
}


timer()
{
// every 15 seconds:

if (TestType == "Testing _START/END_SCALE")
{
// increase the value passed to _START_SCALE & _END_SCALE by 1.00m
Size = Size + 1.00;
ParticleSize();
if (Size > 9.0)
{
TestType = "Testing _BURST_RADIUS";
}
}
else
{
// increase the value passed to _BURST_RADIUS by 5.0m
Height = Height + 5.00;
ParticleRadius();
}
}

//default end
}



OBSERVATIONS:

The maximum vector passed to PSYS_PART_START_SCALE and PSYS_PART_END_SCALE that actually affected a change on the particle emission was <4.0, 4.0, 0.0 > (as stated in both wiki's)

The maximum float passed to PSYS_SRC_BURST_RADIUS that actually affected a change on the particle emission was 50.00.

Would be happy if others could verify or refute these findings :)
Qie Niangao
Coin-operated
Join date: 24 May 2006
Posts: 7,138
12-01-2007 08:59
I verified both maximums with your script, Debbie, and had independently verified the 4.0 max effective value for the _SCALE parameters before I posted it, back @#3 in this thread. This time, though, I can also verify that it really is 4.0 *meters*; it had always somehow seemed much larger than that, so I'd thought it a kind of "dimensionless unit" (hence the "10x10" confusion). But it really is just the size of a 4x4 prim.
ArchTx Edo
Mystic/Artist/Architect
Join date: 13 Feb 2005
Posts: 1,993
12-01-2007 09:52
Someone once showed me a photograph of Northern Lights, saying it was alpha textures being applied on a "huge" prim. I think they said it was in the NOAA sim, but I did not see anything like this when I visited there. An animated alpha texture sounds like a good way to go to me.
_____________________

VRchitecture Model Homes at http://slurl.com/secondlife/Shona/60/220/30
http://www.slexchange.com/modules.php?name=Marketplace&MerchantID=2240
http://shop.onrez.com/Archtx_Edo