Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

New particle functionality

Neil Protagonist
FX Monkey
Join date: 11 Jul 2003
Posts: 346
12-14-2003 22:21
These are a few suggestions for the already wonderfull particle feature that I think would greatly improve user control of the particles.

PSYS_PART_GROUND_COLLISION
Integer (TRUE/FALSE). Tests for ground collision.

PSYS_PART_GRAVITY
Integer (TRUE/FALSE). Particles are damped with uniform gravity. Static uniform force, 9.98ms/s -Z.

PSYS_PART_ADDITIVE
Integer (TRUE/FALSE). Particles are blended additively. For use with energy based effects (fire, lightning, plasma, thrusters etc)

PSYS_PART_DRAG
Float. Damps all particle motion. Effect slows over time. Uses: Fast explosion that slowly drift after initial burst.

PSYS_PART_START_WEIGHT
Float. Sets starting weight or mass of each particle, determines how much a force affects the particles.

PSYS_PART_END_WEIGHT
Float. Sets the ending weight or mass of each particle.

PSYS_PART_ROTATION
Integer (TRUE/FALSE). Sets a particle to use rotational values, to rotate in screenspace.

PSYS_PART_START_ROTATION
Float. Sets initial starting rotation.

PSYS_PART_START_ROTATION_RND
Float. Random range, adds or subtracts this amount from START_ROTATION value.

PSYS_PART_END_ROTATION
Float. Sets ending rotation.

PSYS_PART_END_ROTATION_RND
Float. Random range, adds or subtracts this amount from END_ROTATION value.

PSYS_PART_LOD
Integer (TRUE/FALSE). Sets the effect to use LOD, larger particle scale at a distance, but with dramatically reduced particle count, full detail when close. Allows an effect to be seen from a further distance.

Possible keyframing abilities for certain attributes for more user control.
(using scale for examples, but should apply to: Scale, Color, Alpha, Weight, Texture, Drag, and Rotation)
Using a list:

list ScaleKeys = [ Const ChannelName, float value 1, float time1, float val2, float time 2, float val3, float time3 ];
ChannelName is the attribute these keys are for, this would be a constant. SCALE, ROTATION, COLOR, ALPHA, TEXTURE, WEIGHT, AND DRAG. ValueX represents the value you want (i.e 1m 2m etc) and time represents the lifetime of the particle as a normalized value.

For something like color you would use vectors in place of the floats.
Eg 1. list ColorKeys = [ COLOR, <0.0,0.0,0.25>, 0.0, <0.6,0.49,0.35>, 0.5, <1.0, 0.0, 0.0>, 0.75];

It would be a linear or spline interpolation between keys, either one, so long as there is no pop when you move from key to key.

Start and end parameters could be removed or phased out with a new keyframe setup.



Just a few thoughts, more to come no doubt.
Oz Spade
ReadsNoPostLongerThanHand
Join date: 23 Sep 2003
Posts: 2,708
12-14-2003 22:39
I'm all for extra particle functions :)
_____________________
"Don't anticipate outcome," the man said. "Await the unfolding of events. Remain in the moment." - Konrad
Julian Fate
80's Pop Star
Join date: 19 Oct 2003
Posts: 1,020
12-15-2003 11:15
From: someone
PSYS_PART_GRAVITY
Integer (TRUE/FALSE). Particles are damped with uniform gravity. Static uniform force, 9.98ms/s -Z.


Can you get the same effect now with this?

CODE
PSYS_SRC_ACCEL, <0,0,-9.98>


I'd like to also suggest:

PSYS_SRC_OFFSET
Vector. Offset of particle origin from source object.
Neil Protagonist
FX Monkey
Join date: 11 Jul 2003
Posts: 346
12-15-2003 14:41
Julian, indeed you can achieve the same effect but what I am asking for is something in addition to that force. So in effect, two sources.

p.s. I like the offset idea.
Garoad Kuroda
Prophet of Muppetry
Join date: 5 Sep 2003
Posts: 2,989
12-16-2003 10:42
I'm too freakin lazy to read all your suggetions but new particle functions are cool. I'd like to see:

*A way to change the "center" of the system, I don't think it's possible to alter where the particles first appear.

*A way to change the color, size, speed of the particles at different rates, and more than once.
Julian Fate
80's Pop Star
Join date: 19 Oct 2003
Posts: 1,020
12-16-2003 11:32
I would also like something like this:

PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_PLANE
Creates particles in a plane defined by PSYS_SRC_PLANE_DIMENSIONS with no initial acceleration.

PSYS_SRC_PLANE_DIMENSIONS
Vector <X, Y, Ignored>. Defines X,Y dimensions of particle plane relative to particle origin.

That's probably a horrible way of describing it but I want the ability to create flat sheets of particles rather than having them originate in a single point or in a sphereical volume. It would likely need a parameter to set the rotation of the plane as well.
Corwin Weber
Registered User
Join date: 2 Oct 2003
Posts: 390
12-17-2003 04:13
Maybe also a flag that tells particles to stop if they hit something? Like a floor or a wall or an av?
Neil Protagonist
FX Monkey
Join date: 11 Jul 2003
Posts: 346
04-30-2004 19:03
A death on collision flag would be great.

Again I must bring up the additive flag and I would like to expand that to include normal primitives, all energy effects like fire and lightning need this and as those are mostly prim effects this would be usefull. I will be working up some examples showing the difference it makes with effects shortly.
_____________________
"Control the things you can control, maggot. Let everything else take a flying f**k at you, and if you must go down, go down with your guns blazing." -Cort

Need fire? Visit my FX Store in Bisque(232, 48)
Sick-N-Wrong

Like Anime? Visit Nakama!
Moleculor Satyr
Fireflies!
Join date: 5 Jan 2004
Posts: 2,650
04-30-2004 22:53
A way of changing targets without ALL particles associated with the system changing directions.

Multiple forces working at different 'keyframes'. Same with colors, sizes, and alphas.
_____________________
</sarcasm>
Neil Protagonist
FX Monkey
Join date: 11 Jul 2003
Posts: 346
05-01-2004 03:15
I would have to agree.

Here are the samples I mentioned, these are presets from illusion, the left image is with additive the right is without.



_____________________
"Control the things you can control, maggot. Let everything else take a flying f**k at you, and if you must go down, go down with your guns blazing." -Cort

Need fire? Visit my FX Store in Bisque(232, 48)
Sick-N-Wrong

Like Anime? Visit Nakama!
Tiger Crossing
The Prim Maker
Join date: 18 Aug 2003
Posts: 1,560
05-03-2004 07:47
Along with setting the center offset, it would be nice to have a rotation offset. That way the orientation of the prim it's attached to wouldn't matter as much.

Also, using an animated texture that either loops at a set speed or plays once over the lifetime of the particle would be nice.
_____________________
~ Tiger Crossing
~ (Nonsanity)
CrazyMonkey Feaver
Monkey Guy
Join date: 1 Jul 2003
Posts: 201
05-04-2004 17:36
Id like more controls too, although asking for collision detection per particle is too much, hehe.. the default is 4096 max particles and mine is at 8192.. can you imagine that many physics cubes flying around!?! lolol (would prolly need the same kind of check on collision was my point)..

and btw.. the additive color idea would be very very nice :)
Garoad Kuroda
Prophet of Muppetry
Join date: 5 Sep 2003
Posts: 2,989
05-05-2004 08:38
Yeah I think collisions have been discussed before and ruled out because of the sheer craziness of it. It'd enable stuff like realistic rain and snow, but geez...thousands of collision detections.
_____________________
BTW

WTF is C3PO supposed to be USEFUL for anyway, besides whining? Stupid piece of scrap metal would be more useful recycled as a toaster. But even that would suck, because who would want to listen to a whining wussy toaster? Is he gold plated? If that's the case he should just be melted down into gold ingots. Help the economy some, and stop being so damn useless you stupid bucket of bolts! R2 is 1,000 times more useful than your tin man ass, and he's shaped like a salt and pepper shaker FFS!
Neil Protagonist
FX Monkey
Join date: 11 Jul 2003
Posts: 346
08-28-2004 21:56
I just wanted to bump this since its been a few months and we have a new version pending..... please add your thoughts!!

Crazy, from what I understand particle collision is considerably simpler than say the collision stuff required for a cube. In G (FASA/MGS - Canceled..horrible gameplay) I could have thousands of particles colliding with a mesh and there was little performance hit, whereas you use havok on 30 boxes at once and things started to get a bit slow) However I have used several realtime applications that support per particle collisions on hundreds of thousands of particles (in realtime mind you) so I am certain that the lindens could figure it out if they desired.


All of the suggestions I have put forth so far are doable as I have used them before and much more complicated features in the games I have worked on. Its just a matter of them devoting the man hours to it, which I can understand is not easy to do especially since not many people are clamouring for new particle features yet new features could greatly enhance the feel of the world.

But particles are my passion and my career and so I am very biased in this respect. :) I just hope one day I get some of these :)

_____________________
"Control the things you can control, maggot. Let everything else take a flying f**k at you, and if you must go down, go down with your guns blazing." -Cort

Need fire? Visit my FX Store in Bisque(232, 48)
Sick-N-Wrong

Like Anime? Visit Nakama!
Moleculor Satyr
Fireflies!
Join date: 5 Jan 2004
Posts: 2,650
08-28-2004 22:37
God, yes, this needed to be bumped. Please, LL!
_____________________
</sarcasm>
Khamon Fate
fategardens.net
Join date: 21 Nov 2003
Posts: 4,177
08-29-2004 17:10
endorsed
_____________________
Visit the Fate Gardens Website @ fategardens.net
Christopher Omega
Oxymoron
Join date: 28 Mar 2003
Posts: 1,828
08-30-2004 14:37
I support this product and/or service.
_____________________
October 3rd is the Day Against DRM (Digital Restrictions Management), learn more at http://www.defectivebydesign.org/what_is_drm