Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Swirling Vortexes of Particles!

Feynt Mistral
Registered User
Join date: 24 Sep 2005
Posts: 551
02-17-2006 22:04
I was just thinking how cool it'd be to have particles follow rotation to have a swirling vortex of particles. The particles follow position changes, why not rotation? I tested it with llTargetOmega on both a physics and non-physics enabled cube, but sadly they didn't follow the rotation course.
_____________________
I dream of a better tomorrow in SL!
You should too. Visit, vote, voice opinions.
Support CSG! Tell LL how much it would mean to subtract one prim from another!
Prim Animation! Stop by and say something about it, show your support!
Kermitt Quirk
Registered User
Join date: 4 Sep 2004
Posts: 267
02-17-2006 22:18
Although this is possible by having linked objects. Put one in the center then as many as u want in a radius around it. Put your particle scripts in the outer objects and have them just drop particles. The center one should be the link root, then just stick a script in there to spin the whole link set.

I already have an example of this in world so IM me if you'd like to have a look.
Torley Linden
Enlightenment!
Join date: 15 Sep 2004
Posts: 16,530
02-17-2006 22:26
There may be ways to get the effect you seek to achieve--for example, as you know position changes are followed, have two linked prims. The parent contains the rotation script, the child contains the particle emitter. With a very short radius of sorts, it'd swirl.

LOLEX, like Kermitt said. Ooops, just refreshed!

Also, have you already been to the Particle Laboratory in Teal and asked Jopsy Pendragon? :)
_____________________
Feynt Mistral
Registered User
Join date: 24 Sep 2005
Posts: 551
02-18-2006 01:33
The child prim rotating deal (I believe the attatchment is called the pyreflies? They're sold in Dwellget, Taco anyways) isn't what I had in mind. That's just one particle stream rotating around a central point. I wanted like, 40 or so particles randomly swirling around (short particle life, rapid refresh, so it's kind of a swirly sparkle effect). That just seems inefficient to me to have 40 prims + a shield prim just for a special effect. There are also a number of spell effects that a friend wanted to make from EQ2 that involve mass fields of particles rotating about a central axis.
_____________________
I dream of a better tomorrow in SL!
You should too. Visit, vote, voice opinions.
Support CSG! Tell LL how much it would mean to subtract one prim from another!
Prim Animation! Stop by and say something about it, show your support!
Torley Linden
Enlightenment!
Join date: 15 Sep 2004
Posts: 16,530
02-18-2006 01:37
Hmmm... where's a good video that'll show this off? :)
_____________________
Feynt Mistral
Registered User
Join date: 24 Sep 2005
Posts: 551
02-18-2006 02:14
Well off hand I'd say the end of the movie "Twister" where they show all these particles spinning about on a laptop screen while these sensors are in a supposed tornado. I'll append an example movie in a bit.

Addendum:
I just thought of something totally obvious, objects that speak in SL have twirly particles around them!

Addendum 2:
For the life of me I can't find any videos showing off what my friend is talking about in EQ. However the effect can be demonstrated in game quite simply using the object grouping specified above (in posts 2 and 3) and then implementing llTargetOmega on the root prim at the center. The idea is that the "particle" prims that are spinning are doing so because they're picking up rotational torque from the "emitter" root prim that's being spun. Ideally this kind of effect would only occur when the particles should follow their source (as in, match the emitter's velocity). And this is really what confuses me, because the particles will follow the emitter's velocity, but not rotation. >/

Addendum 3:
I've talked to one Pyrii Akula who says she did spinning particle effects in various Unreal Tournament 2004 maps for more realistic fires on torches. She said she'd see what she can do about FRAPSing some videos.
_____________________
I dream of a better tomorrow in SL!
You should too. Visit, vote, voice opinions.
Support CSG! Tell LL how much it would mean to subtract one prim from another!
Prim Animation! Stop by and say something about it, show your support!
Pyrii Akula
NO PANTS!
Join date: 25 Nov 2005
Posts: 187
02-18-2006 04:58
I've just fraps a few videos, need to demux the audio and re-encode them to be what, 1000 times smaller. So for now, a few screenshots.

My Map (plug!) (Check here to see images taken during it's making)

Fire rotation settings in UnrealEd
This is to demonstrate particles individually spinning (on random too) to give better effect to emitters. (Notice a second emitter in the actor, this is a little "flare" emitter, which spaws out little sparks from the flame, thought it added niceness)
in-game shot showing stats

Spinny twinkly thing Setup
This is particles spinning around an axis.
in-game shot showing stat (wireframe)
in-game shot showing stats

There's far more options needed for get this effect, but I showed some of the options because I think every particle emitter should be setup like this! *hint* XD
Laukosargas Svarog
Angel ?
Join date: 18 Aug 2004
Posts: 1,304
02-18-2006 05:53
By playing around with the movement and rotational velocity vectors in llParticleSystem you can achieve some impressive vortex effects, the ones shown here are horizontal but I've also made double helix and vertical moving vortex like effects in the past ...





maybe not what you mean though ?

If you want to see this in action come to my Ambipod at Lauks Nest before I delete it next week ! ...
Pyrii Akula
NO PANTS!
Join date: 25 Nov 2005
Posts: 187
02-18-2006 07:23
As requested, some videos encoded of swirlies in other games, starting with UT2004, firstly, effects from my level, with screenshots upstairs of the debug and config.

Lookaround DM-1on1-Cyfar, looking at particle effects (6.59Mb)

Fire uses per-particle rotation on it's own axis.
Swirlies in the shrines are modified emitters fromt he onslaught power nodes, so next up:

Quick play of ONS-Torlan (9.62Mb)

I like the effect that happens when activated.

Of course they left a little testing level behind, so a quick and badly shot copy of a look around this hidden level:

Lookaround at particleexamples.ut2 (2.06Mb)

----
Guild Wars

Some nice swirling stuff here, girld wars is a beautiful game and uses particles to thier advantage for spells and effects.

Guild Wars Swirlies (17.4Mb)

The new tombs of primeval kings vortex is at the start, skip near to the end to see the portals between each facet of glint's lair.

Showing off a few spells (6.85Mb)

Stuff circling the avatar when spells are in effect.

-----
Just for a bonus I thought I'd have a bounce around my own level, show ooff the nice build, and and a few of the nice little touches too if you can spot them. =P

DM-1on1-Cyfar Playaround (14.5Mb)



Encoding done in VirtualDubMod with XviD, demuxed audio then encoded to Mp3 with WinLAME, then remuxed back into VdubMod. Easy as pie. Framerates suck because Fraps sucks. Kills framerates as it samples output.
Feynt Mistral
Registered User
Join date: 24 Sep 2005
Posts: 551
Exactly what I wanted to show off
02-18-2006 14:59
The second clip with the capture points in the onslaught map (the amberish particles swarming all over the place), as well as the swirling vortex around your elementalist when she cast Windborne Speed is exactly the kind of things I wanted to show off. It would be nice if you could confine particles in SL to a particular shape instead of a perfect sphere or a cone (so you could have, say, a spinning cylinder of particles just like those capture points, or an oblong shaped sphere like a shield), however I'd just be happy with just a spinning sphere or plane of particles (angle, instead of angle_cone).
_____________________
I dream of a better tomorrow in SL!
You should too. Visit, vote, voice opinions.
Support CSG! Tell LL how much it would mean to subtract one prim from another!
Prim Animation! Stop by and say something about it, show your support!
Pyrii Akula
NO PANTS!
Join date: 25 Nov 2005
Posts: 187
02-19-2006 11:00
An editing interface much like unreal's with either a preview window or live editing could be most helpful, we have one for prims, why not for particle effects. another thing is that for some reason particles have a massive impact on game performance particles are great for adding effects to a barrenly polyganal world. Maybe this is an untapped source of added bauty to secondlife and could be better improved, at the moment, the best particles do is annoy people by flying out in spammable ways when people TP into a room. And also "Bling" is an abuse of particles as the particles are too big screaming "lookitme, I'm cool" which ends up doing the opposite.

I've already seen some nice uses for them, including adding extra shine to avatars. Making teleporters seem interesting, hell, basic snow. As for my level, there are 3 different kinds of particle effects there that I used (4 if you count the added emitter used in the torches for sparks). They don't look out of place. Seems too much of the particle system is based on angles using the already feared (So much for making SL simple) rotation system. Too much on where they go, need more on what they do, how they move.

Will LL pass it off as another feature than MAY come with havok 2 IF it's integrated. Who knows, but I hope my 2 cents made people think, if if I doubt another linden will read it.
Eep Quirk
Absolutely Relative
Join date: 15 Dec 2004
Posts: 1,211
02-20-2006 01:23
From: Feynt Mistral
It would be nice if you could confine particles in SL to a particular shape instead of a perfect sphere or a cone (so you could have, say, a spinning cylinder of particles just like those capture points, or an oblong shaped sphere like a shield), however I'd just be happy with just a spinning sphere or plane of particles (angle, instead of angle_cone).

You can already do a plane, as you allude to, by using the angle pattern. The cone angle pattern is used for hemispheres and/or full spheres (and explode pattern). I suggest you read up on particles extensively to get a clue about what particles are capable of in SL, then experiment with example scripts.
Jopsy Pendragon
Perpetual Outsider
Join date: 15 Jan 2004
Posts: 1,906
The never ending spiraling vortex of doooooooom...
02-20-2006 17:59
By jove that's it!... don't bother with llParticleSystem() for tornados... the way to do it is to have a bunch of prims near each other all using llSay() !

Seriously though...

I haven't attempted a 'tornado/cyclone/hurricaine/swirly-vortex' effect for a while... and was disappointed as well to find that there was no FOLLOW_ROT equivalent of FOLLOW_SRC.

I suspect (and will try it out tonight) that using the LINEAR TARGET mask and a linked set of emitter/receptors spun with llTargetOmega() that this effect is actually quite possible.
(Think of lathe-ing 3d objects using string art...) Naturally 'follow velocity' will look a little wonky but that might be an interesting side effect.

If you're not familiar with how different using the linear target mask is from using the target position mask come to the lab, walk "in through the out door" by stepping straight through "The Particle Laboratory" sign and turn right... the linear mask demonstrator is the nearest gizmo. Click the stationary part of the exhibit to activate it.

(Thanks to Eep Quirk and the others that update the particle section of the scripting wiki! I had utterly forgotten about the 'undocumented' linear target mask until recently when I was browsing through checking something else! :)

So... how do the 'talking' particles rotate around an avatar anyway?
And why can't we tap into that behavior? ;)
_____________________
* The Particle Laboratory * - One of SecondLife's Oldest Learning Resources.
Free particle, control and targetting scripts. Numerous in-depth visual demonstrations, and multiple sandbox areas.
-
Stop by and try out Jopsy's new "Porgan 1800" an advanced steampunk styled 'particle organ' and the new particle texture store!
Torley Linden
Enlightenment!
Join date: 15 Sep 2004
Posts: 16,530
02-20-2006 18:07
Wowza this is comprehensive!

Also related: Don Linden's reply to Neil Protagonist. :)
_____________________
Eep Quirk
Absolutely Relative
Join date: 15 Dec 2004
Posts: 1,211
02-20-2006 18:46
From: Torley Linden
Wowza this is comprehensive!

Also related: Don Linden's reply to Neil Protagonist. :)


Why is that post already in the archive? It's not even 6 months old! Archived posts can't be replied to. :/
Pyrii Akula
NO PANTS!
Join date: 25 Nov 2005
Posts: 187
02-21-2006 11:40
But does that involve particles rotating on thier own axis, on a set pivot (the prim's center most likely), or both? And to compensate for particles that have a set face, will be be able to set the direction they face? Say X/Y/Z/Face Emitter/Face Camera (Currently what's used).
Jopsy Pendragon
Perpetual Outsider
Join date: 15 Jan 2004
Posts: 1,906
02-21-2006 16:13
Well... I had some success in creating a 'swirling vortex' effect.

The result looks rather like carnival lights on some rapidly spinning ride however,
even with the drift that the target linear mask provides, it looks mechanical instead
of natural. I'll install an example that demonstrates this effect in the lab tonight,
hopefully someone can improve on it. :)

Now... with regards to NEW particle features... here's some I've been longing for.
(I would hope the first one nearly trivial to deploy)

PSYS_PART_FLIP_MASK. When particles are moving to the left in the camera view (from 181 to 359 degrees), you would see the particle backwards (reflected, mirrored, flipped, whatever). Say you have a profile shot of superman flying to the right. On the particles moving left, he looks like he's flying feetfirst/cape-up (yuck). If you use follow velocity, he's flying fists foward... but he's flying with his cape below him not above him. With FLIP, whether he flies left or right, his fists are first and his cape above him. (silly contrived example but it conveys the image best I think). FLIP would be a huge improvement and allow for very creative use of asymmetrical particle textures.

PSYS_PART_3D_MASK. Particle textures are seen in 3d, not 2d, flat-face towards the angle of velocity, top edge up. Particles moving perpendicular to the viewer would be seen edge-on. Particles moving towards the viewer seen normally, particles moving away from the viewer would be seen reversed. (the FLIP flag would override this behavior) This effect could be used to create some very interesting flowers. The pattern explosion with a blank texture could look spherical. Fountains and water would look more 'thick' in the middle more 'thin' on the edges.

PSYS_PART_RADIAL_MASK. like the 3d mask would cause particles to be seen foreshortened, but instead of moving top-surface into their direction of movement, they would move top-edge towards their heading. The ANGLE pattern would create a truely flat surface of particles rotated at different angles. Think leaves drifting about on the surface of a lake. Particles moving straight towards or away from the viewer would be seen edge on. Particles moving perpendicular to the viewer would be seen as flat.

PSYS_PART_RIBBON_MASK. Like the linear target mask... though with or more interestingly without a desginated terminous. Particles in the chain would be rotated so that top edge pointed towards the previous particle and bottom edge pointed towards the next particle issued. Could be used for flags, dangly clothing bits, hair...

PSYS_SRC_TURBULENCE (vector). 'wiggle'. Each particle is is assigned an random angular momentum which is between -(vector) and (vector), which will result in particles veering off course. Would be great for sparks, flitty bugs, and collision effects.

PSYS_PART_START_MASS, (float), PSYS_PART_END_MASS, (float). Determines how much turbulence, accel, bounce, speed_min/max and wind affect particles. Very low end mass particles would be swept over larger distances at the last second towards their target... very high end mass particles would be forced to home in on their target much earlier in their lifespan. Would be terrific for fireworks.

And, my usual curiosity.. what was the PSYS_SRC_ or PSYS_PART_ feature that mapped to the number 14? Why was 14 skipped? For scripts that assemble and manage lists of parameters it's so... icky ...to have to code around the number 14.
_____________________
* The Particle Laboratory * - One of SecondLife's Oldest Learning Resources.
Free particle, control and targetting scripts. Numerous in-depth visual demonstrations, and multiple sandbox areas.
-
Stop by and try out Jopsy's new "Porgan 1800" an advanced steampunk styled 'particle organ' and the new particle texture store!
Eep Quirk
Absolutely Relative
Join date: 15 Dec 2004
Posts: 1,211
02-21-2006 16:24
From: Jopsy Pendragon
PSYS_SRC_TURBULENCE (vector). 'wiggle'. Each particle is is assigned an random angular momentum which is between -(vector) and (vector), which will result in particles veering off course. Would be great for sparks, flitty bugs, and collision effects.

This is already doable by adjusting the min/max speed settings (PSYS_SRC_BURST_SPEED_MIN and PSYS_SRC_BURST_SPEED_MAX). Setting them the same results in uniform particle emission but setting them differently does not.
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
02-22-2006 00:17
From: Eep Quirk
Why is that post already in the archive? It's not even 6 months old! Archived posts can't be replied to. :/

It's a Hotline post, you couldn't reply to even if it wasn't in the archive.
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river.
- Cyril Connolly

Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence.
- James Nachtwey
Jopsy Pendragon
Perpetual Outsider
Join date: 15 Jan 2004
Posts: 1,906
02-22-2006 20:07
From: Eep Quirk
This is already doable by adjusting the min/max speed settings (PSYS_SRC_BURST_SPEED_MIN and PSYS_SRC_BURST_SPEED_MAX). Setting them the same results in uniform particle emission but setting them differently does not.


Eep-

Thanks for the well intended suggestion... I probably could have phrased what I meant by turbulence more clearly.

Zero turbulence: Exactly what we have now.

Low turbulence: Particles form long sweeping arcs that deviate (independently) from their otherwise pre-determined path. (Accel unifies the direction of movement for particles eventually... turbulence would do exactly the opposite and diversify the direction of movement)

Moderate turbulence: Particles veer off their path so significantly that they spiral around... like unbalanced bottle rockets

High turbulence: Particles forward momentum is banked over to whatever random tack so hard that they end up just jittering in place. (they may jitter and still drift in the wind, or be forced along by accell, the more continuous force on them perhaps the more energy they have to jitter more.)

The 'random' amount of turbulence per particle would be decided at particle birth, just like it's initial velocity... but like accel, it would be a constant angular nudge on that particle through it's life, a constant tug at the particle's "steering wheel" if you will. It determines how much a particle will fight against the inevitable uniform direction of movement imposed by accel and wind... and how much 'squirreling around' it will do as it's unavoidably drawn towards it's final destination.

I thought it could be done with just a float at first, but wanted to be able to constrain the erratic behavior to 2d for some effects. -

Done properly it would probably require two vectors, min_turbulence and max_turbulence.
(otherwise you wouldn't be able to squelch out straight path particles... if the effect you wanted was to have only spiraling particles.)

I think once seen in action, it would be a parameter easily mastered by particle scriptors. It would allow and entice people into designing more natural looking and more interesting particle effects. Personally, I'd use it for everything from falling leaves, sparks flying out of a fireplace, boiling water, fireflies around a tree, fireworks/explosions, steam, blowing dust, falling snow, magic effects and more.

Anyway, thanks again for the suggestion... and the opportunity to try to further clarify what I was hoping for :)
_____________________
* The Particle Laboratory * - One of SecondLife's Oldest Learning Resources.
Free particle, control and targetting scripts. Numerous in-depth visual demonstrations, and multiple sandbox areas.
-
Stop by and try out Jopsy's new "Porgan 1800" an advanced steampunk styled 'particle organ' and the new particle texture store!
Feynt Mistral
Registered User
Join date: 24 Sep 2005
Posts: 551
02-23-2006 00:38
Sparks out of fire places, or flames themselves. That kind of turbulence would rock. But as Pyrii demonstrated, even having just rotating particles would make more realistic fires.

And while we're on the subject of archived posts, what's the word on the particle revisions? Six months should have produced some sort of results, failed or otherwise. ^.^;

Addendum:
Just checked out the swirling particles Jopsy. It's a nice effect, but not quite what I was looking for. But then, I guess I can't be choosy given the limits within I have to work.
_____________________
I dream of a better tomorrow in SL!
You should too. Visit, vote, voice opinions.
Support CSG! Tell LL how much it would mean to subtract one prim from another!
Prim Animation! Stop by and say something about it, show your support!
Eep Quirk
Absolutely Relative
Join date: 15 Dec 2004
Posts: 1,211
02-23-2006 06:37
Particle rotation is handled via the PSYS_SRC_OMEGA mask. I have sparks in my campfire on my dock in Montmartre but they just float up every so often (random interval--you can do a lot with llFrand() and particles to simulate turbulence) but I could add another emitter for sparks that randomly shoot out horizontally-rotationally, arc out, and push down to, and bounce on, the horizontal plane.
Pyrii Akula
NO PANTS!
Join date: 25 Nov 2005
Posts: 187
02-23-2006 10:27
rotation is one thing, but as pointed out in this thread UV's also help.

have a look at this screenshot to take a look at more properties of my flame:

http://forumstuff.tanyoko.nu/whereintheworldiskonalinden/particleUVs.jpg

to be honest, this seems more complicated but here's the full properties of the flame and the sparks emitters:

From: someone
Begin Object Class=SpriteEmitter Name=SpriteEmitter1
FadeOut=True
FadeIn=True
SpinParticles=True
UseSizeScale=True
UniformSize=True
ColorScale(0)=(Color=(B=255,G=255,R=255,A=255))
ColorScale(1)=(RelativeTime=1.000000,Color=(B=255,G=255,R=255,A=255))
Opacity=0.600000
FadeOutStartTime=1.000000
FadeInEndTime=0.100000
MaxParticles=45
Name="SpriteEmitter1"
SpinsPerSecondRange=(X=(Min=-0.200000,Max=0.200000),Y=(Min=-0.200000,Max=0.200000),Z=(Min=-0.200000,Max=0.200000))
StartSpinRange=(X=(Min=-20.000000,Max=20.000000),Y=(Min=-20.000000,Max=20.000000),Z=(Min=-20.000000,Max=20.000000))
SizeScale(0)=(RelativeSize=1.000000)
SizeScale(1)=(RelativeTime=1.000000)
StartSizeRange=(X=(Min=15.000000,Max=20.000000),Y=(Min=15.000000,Max=20.000000),Z=(Min=15.000000,Max=20.000000))
Texture=Texture'EmitterTextures.MultiFrame.LargeFlames'
TextureUSubdivisions=4
TextureVSubdivisions=4
LifetimeRange=(Min=1.000000,Max=1.500000)
StartVelocityRange=(Z=(Min=40.000000,Max=50.000000))
End Object
From: someone
Begin Object Class=SpriteEmitter Name=SpriteEmitter2
UseColorScale=True
UniformSize=True
Acceleration=(Z=-175.000000)
ColorScale(0)=(Color=(G=255,R=255))
ColorScale(1)=(RelativeTime=0.500000,Color=(G=128,R=255))
ColorScale(2)=(RelativeTime=1.000000)
MaxParticles=2
Name="SpriteEmitter2"
StartLocationRange=(X=(Min=-10.000000,Max=10.000000),Y=(Min=-10.000000,Max=10.000000))
StartSizeRange=(X=(Min=3.000000,Max=5.000000))
Texture=Texture'EmitterTextures.Flares.EFlareR2'
LifetimeRange=(Min=0.750000,Max=0.750000)
StartVelocityRange=(X=(Min=-20.000000,Max=20.000000),Y=(Min=-20.000000,Max=20.000000),Z=(Min=150.000000,Max=175.000000))
End Object


This is the raw text from the 2 exported .emts via the particle editor in the engine. I can't export or even open the power node effect in the particle editor, just set settings the usual way via the properties window.

-----

Lastly, the best experience if you don't have UT2004/UT2003 to hand is to download the Unreal Engine Runtime Demo

If anyone needs me to, I can post a basic guide on loading a level int he editor and getting into playing with an emitter, for those that need it, just ask, fairly easy to do.
Jopsy Pendragon
Perpetual Outsider
Join date: 15 Jan 2004
Posts: 1,906
02-23-2006 13:25
From: Eep Quirk
Particle rotation is handled via the PSYS_SRC_OMEGA mask. I have sparks in my campfire on my dock in Montmartre but they just float up every so often (random interval--you can do a lot with llFrand() and particles to simulate turbulence) but I could add another emitter for sparks that randomly shoot out horizontally-rotationally, arc out, and push down to, and bounce on, the horizontal plane.


Eep- Your first line there is misleading... please don't take offense at my being nitpicky.

PSYS_SRC_OMEGA only rotates the 'emitter'.. not the particles. It has the same effect on particles with or without the FOLLOW_VELOCITY mask.
_____________________
* The Particle Laboratory * - One of SecondLife's Oldest Learning Resources.
Free particle, control and targetting scripts. Numerous in-depth visual demonstrations, and multiple sandbox areas.
-
Stop by and try out Jopsy's new "Porgan 1800" an advanced steampunk styled 'particle organ' and the new particle texture store!
Feynt Mistral
Registered User
Join date: 24 Sep 2005
Posts: 551
02-23-2006 14:14
What we want is akin to follow source in that you move the emitter and the particles move with it. The only difference is instead of the emitter changing positions it's changing rotations, so the particles in space should turn with it.

CODE

How it currently works:

- * *

*
/ *


How we want it to work:

- * *

*
*
/


Legend:
* = particle
- and / = emitter at different rotations


Hope that clears it up.

UVs would be awesome too, but one step at a time. Let's get rotation applied to particles first.
_____________________
I dream of a better tomorrow in SL!
You should too. Visit, vote, voice opinions.
Support CSG! Tell LL how much it would mean to subtract one prim from another!
Prim Animation! Stop by and say something about it, show your support!
1 2