Particle systems

Discussion forum for Celestia developers; topics may only be started by members of the developers group, but anyone can post replies.
Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Particle systems

Post #1by chris » 07.08.2008, 00:57

I've been playing around with adding particle systems to Celestia in order to simulate a variety of effects, including rocket exhaust and smoke, volcanic plumes, geysers, and ion engine glow. An ordinary particle system implementation is unsuitable for Celestia because the user has total control over the timeline: time acceleration is essentially arbitrary, time can be reversed, and the simulation time can be instantly set to any value within a million years of the present. This utterly breaks most particle system code, which relies on a more or less constant time step for integrating the paths of particles. Instead, I've used an approach that I'm calling deterministic particle systems. The appearance of the particle system at any given time can be determined instantly--it is not subject to variations in the time step, because no numerical integration is required. This brings some restrictions: the only permitted particle paths are those which can be evaluated analytically. Nevertheless, many interesting effects are still possible.

Here's yet another version of Tvashtar's plume, this time with a particle system instead of a cmod file:
http://www.youtube.com/watch?v=fHj4jcmGRDY

There are no big changes to the ssc file for the add-on shown in the video. Instead of loading an ordinary mesh, a Celestia particle system is specified instead. The particle system file is an ASCII text file that defines particle colors, textures, initial positions, and initial velocities.

This work is experimental, and will not be ready for Celestia 1.6.0. In fact, there needs to be some discussion about whether particle systems belong in Celestia at all. The videos in this thread are demonstrations of what's possible. Used carefully, some phenomena can be simulated realistically with particle systems; abused, they can turn the Solar System into a disco :)

--Chris

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Re: Particle systems

Post #2by chris » 07.08.2008, 01:57

This demonstration shows how a particle system may be used to create a liftoff smoke effect:
http://www.youtube.com/watch?v=3_JFktYSMTE

I've added a single particle system object to Runar's Buran add-on. The particle system isn't causing any slowdown, and it works on any hardware (i.e. no OpenGL 2.0 required, no point sprite support required.)

The Baikonur spaceport model in this demonstration was created by Linuxm@n.

--Chris

BobHegwood
Posts: 1803
Joined: 12.10.2007
With us: 17 years 1 month

Re: Particle systems

Post #3by BobHegwood » 07.08.2008, 02:33

chris wrote:There are no big changes to the ssc file for the add-on shown in the video. Instead of loading an ordinary mesh, a Celestia particle system is specified instead. The particle system file is an ASCII text file that defines particle colors, textures, initial positions, and initial velocities.

These look very nice Chris, but I'm just curious about the definitions you describe here.
You are defining the particles, and their properties, but do these definitions include an ending option? In other words, it looks (from the videos) as if the motion is constant.
Please forgive the dumb question, but from your explanation it doesn't seem to have any ending. Is this in the works, or are the effects something you'd have to turn on and off?
Also, take the Buran Launch video here. Can the effect be modified so that the particles can be told to settle down eventually? Do you understand what I mean? Would you/we have to
define a different particle routine in order to show the smoke and dust settling down after the launch? This is probably not important since most people would view the actual
model on its trajectory, but what happens to the view after the spacecraft has left the pad?

chris wrote:In fact, there needs to be some discussion about whether particle systems belong in Celestia at all. The videos in this thread are demonstrations of what's possible.
Used carefully, some phenomena can be simulated realistically with particle systems; abused, they can turn the Solar System into a disco :)

If these systems can be used to turn Celestia into a disco routine, I'm almost positive that they will be. You would not believe some of the material that already gets submitted to the ML for use with our favorite universe-exploring software. Ask Ulrich...

Just my two-cents worth. :wink:
Brain-Dead Geezer Bob is now using...
Windows Vista Home Premium, 64-bit on a
Gateway Pentium Dual-Core CPU E5200, 2.5GHz
7 GB RAM, 500 GB hard disk, Nvidia GeForce 7100
Nvidia nForce 630i, 1680x1050 screen, Latest SVN

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Re: Particle systems

Post #4by chris » 07.08.2008, 03:18

BobHegwood wrote:These look very nice Chris, but I'm just curious about the definitions you describe here.
You are defining the particles, and their properties, but do these definitions include an ending option? In other words, it looks (from the videos) as if the motion is constant.
Please forgive the dumb question, but from your explanation it doesn't seem to have any ending. Is this in the works, or are the effects something you'd have to turn on and off?

Not a dumb question at all; start and end times for the effect are crucial, and they're already implemented. I'll soon post an example video that shows this capability.

Also, take the Buran Launch video here. Can the effect be modified so that the particles can be told to settle down eventually? Do you understand what I mean? Would you/we have to
define a different particle routine in order to show the smoke and dust settling down after the launch? This is probably not important since most people would view the actual
model on its trajectory, but what happens to the view after the spacecraft has left the pad?

You define an end time for the particle system; once this time is reached, new particles are no longer emitted and the existing ones settle or fade away.

chris wrote:In fact, there needs to be some discussion about whether particle systems belong in Celestia at all. The videos in this thread are demonstrations of what's possible.
Used carefully, some phenomena can be simulated realistically with particle systems; abused, they can turn the Solar System into a disco :)

If these systems can be used to turn Celestia into a disco routine, I'm almost positive that they will be. You would not believe some of the material that already gets submitted to the ML for use with our favorite universe-exploring software. Ask Ulrich...

Particle systems are truly a dangerous tool in the hands of someone with bad taste ;) But, here's another example of a good usage... Cassini's main engines firing:

http://www.youtube.com/watch?v=CL-s7-bY9ck

(Someone who knows more about Cassini than I do can possibly point out some inaccuracies my rendering of the engine thrust.)

--Chris

Avatar
Chuft-Captain
Posts: 1779
Joined: 18.12.2005
With us: 18 years 11 months

Re: Particle systems

Post #5by Chuft-Captain » 07.08.2008, 07:22

These look great Chris, especially the Cassini exhaust. How easy is it to model or specify the (random??) variations in color, texture, and brightness/contrast which seem evident in the Cassini example? This is what will probably contribute the most in terms of realism IMHO.

(Someone who knows more about Cassini than I do can possibly point out some inaccuracies my rendering of the engine thrust.)

I can't claim to know more about Cassini than you, but well you did ask.... so: ... as I understand it, a rocket exhaust in a vacuum will tend to fan out more to the sides than in the stereotypical plume we're used to seeing behind a rocket in atmosphere (where the air pressure constrains the plume). Of course, how much it spreads probably depends on the exhaust velocity (the only lateral force I guess would be from the internal gas pressure of the molecules in the plume), so the higher the exhaust velocity, the narrower the plume would be, I guess. (there's been some discussion about this in relation to Moon Landing conspiracies... regarding the fact that the landing exhaust of Apollo landers did not create a significant crater... the conspiracy theorists claimed this as evidence the landings didn't take place, however this was explained by the fact that the exhaust spreads more evenly in a vacuum and so has less direct force directly behind...etc..)...Try googling "moon landing conspiracy exhaust" or something.

I think Cassini had an ion-electric propulsion system (I think that's the right name for it) which I think has quite a high exhaust velocity, so perhaps your rendering is actually not too far off the mark).
The only other comment I have is that I thought that an ion-electric drive might produce a less dense (ie. somewhat more transparent) exhaust than this, but this is only guesswork on my part. Maybe Rocketman would know more. :wink:

JM2CW
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Re: Particle systems

Post #6by ElChristou » 07.08.2008, 07:49

chris wrote:...This work is experimental, and will not be ready for Celestia 1.6.0. In fact, there needs to be some discussion about whether particle systems belong in Celestia at all...

Chris, if as you say this feature work flawlessly on any hardware and is not a resource eater, then from and artistic point of view you can implement it as soon as it is ready. The first use would be thrusters escape of course, and at this level we do need such effect. For example this would be perfect for Apollo 11. There is plenty of goods models already available that could use it, Linuxm@n Russians missions, Runar's Buran, my old stack who stay unreleased because of smoke, Jestr's Deep impact and probably much more. Plumes on Io, Volcanoes smoke to depict date of eruption, even with imagination clouds or nebulas...

BTW, the videos are just GREAT and perso I would like this right now! :mrgreen:
Image

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Re: Particle systems

Post #7by ElChristou » 07.08.2008, 07:57

Chris, could you tell us a bit more how you define the model?
Image

Avatar
Chuft-Captain
Posts: 1779
Joined: 18.12.2005
With us: 18 years 11 months

Re: Particle systems

Post #8by Chuft-Captain » 07.08.2008, 08:01

ElChristou wrote:BTW, the videos are just GREAT and perso I would like this right now! :mrgreen:
OH, yeah... I forgot to say.."me too"!! :lol: ( I promise... no discos!! :wink: )
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

ANDREA
Posts: 1543
Joined: 01.06.2002
With us: 22 years 5 months
Location: Rome, ITALY

Re: Particle systems

Post #9by ANDREA » 07.08.2008, 11:16

chris wrote:...Here's yet another version of Tvashtar's plume, this time with a particle system instead of a cmod file:
http://www.youtube.com/watch?v=fHj4jcmGRDY
This work is experimental, and will not be ready for Celestia 1.6.0. In fact, there needs to be some discussion about whether particle systems belong in Celestia at all. The videos in this thread are demonstrations of what's possible. Used carefully, some phenomena can be simulated realistically with particle systems; abused, they can turn the Solar System into a disco :)--Chris
Chris, IMHO it looks very promising, but exists the possibility to reduce the evidence of single particles, I mean making them very smaller? :oops:
Or this would need a too big amount of memory and/or graphycal power?
Thank you.
Bye

Andrea :D
"Something is always better than nothing!"
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO

Avatar
Adirondack M
Posts: 528
Joined: 01.03.2004
With us: 20 years 8 months

Re: Particle systems

Post #10by Adirondack » 07.08.2008, 11:37

Chuft-Captain wrote: ... as I understand it, a rocket exhaust in a vacuum will tend to fan out more to the sides than in the stereotypical plume we're used to seeing behind a rocket in atmosphere (where the air pressure constrains the plume) ...
Yep, I do agree with the Captain here. Exhaust gas will leave the engine more to the sides and with a much shorter "tail".
It will look more like a brush that is pushed perpendicular onto the canvas.
In addition the exhaus gas is surely not yellow or something. It's simply white or even black!
(Cassini is propelled by hydrazine & dinitrogen tetroxide).

Nevertheless your vids look great!

Adirondack
We all live under the same sky, but we do not have the same horizon. (K. Adenauer)
The horizon of some people is a circle with the radius zero - and they call it their point of view. (A. Einstein)

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Re: Particle systems

Post #11by selden » 07.08.2008, 11:38

Chuft-Captain wrote:I think Cassini had an ion-electric propulsion system (I think that's the right name for it) which I think has quite a high exhaust velocity, so perhaps your rendering is actually not too far off the mark).
The only other comment I have is that I thought that an ion-electric drive might produce a less dense (ie. somewhat more transparent) exhaust than this, but this is only guesswork on my part. Maybe Rocketman would know more. :wink:

JM2CW

Cassini has a relatively traditional fuel+oxidizer rocket system, using nitrogen tetroxide + monomethyl-hydrazine. See http://saturn.jpl.nasa.gov/multimedia/p ... e_fact.pdf

I think you're thinking of the Dawn spacecraft, which uses a xenon-ion drive.

Although they are extremely efficient with a high ISP, ion drives have a very low thrust and have to be run for a long time to produce a significant delta-v. Cassini needs to be able to change its attitude and velocity relatively quickly.

Still, most rocket exhausts are almost invisible in vacuum. Take a look at one of the movies of the Apollo LEM's ascent modules lifting off the moon, for example.
Selden

ANDREA
Posts: 1543
Joined: 01.06.2002
With us: 22 years 5 months
Location: Rome, ITALY

Re: Particle systems

Post #12by ANDREA » 07.08.2008, 11:42

chris wrote:This demonstration shows how a particle system may be used to create a liftoff smoke effect. I've added a single particle system object to Runar's Buran add-on. The particle system isn't causing any slowdown, and it works on any hardware (i.e. no OpenGL 2.0 required, no point sprite support required.)--Chris
And this looks like a LIVE MOVIE, IMO absolutely extraordinary !!! 8O 8O 8O 8O 8O
It will give enormous possibilities in a lot of fields.
Well done, Chris, very appreciated! :wink:
Bye

Andrea :D
"Something is always better than nothing!"
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Re: Particle systems

Post #13by ElChristou » 07.08.2008, 11:45

Ulrich, Selden, discussing about engines is nice, but what about the topic? Do you see enough interest in this particle system to be implemented within Celestia?
Image

Avatar
Adirondack M
Posts: 528
Joined: 01.03.2004
With us: 20 years 8 months

Re: Particle systems

Post #14by Adirondack » 07.08.2008, 12:01

ElChristou wrote:Ulrich, Selden, discussing about engines is nice, but what about the topic? Do you see enough interest in this particle system to be implemented within Celestia?
Yes, of course!
This is absolutely extraordinary.

Adirondack
We all live under the same sky, but we do not have the same horizon. (K. Adenauer)

The horizon of some people is a circle with the radius zero - and they call it their point of view. (A. Einstein)

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Re: Particle systems

Post #15by selden » 07.08.2008, 12:21

There are many ways that a particle-system would be extremely useful in portraying events in Celestia!

Cosmic-ray air-showers come immediately to my mind.
Selden

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Re: Particle systems

Post #16by ElChristou » 07.08.2008, 12:41

selden wrote:There are many ways that a particle-system would be extremely useful in portraying events in Celestia!

Cosmic-ray air-showers come immediately to my mind.

Black holes jets?
Image

Avatar
Chuft-Captain
Posts: 1779
Joined: 18.12.2005
With us: 18 years 11 months

Re: Particle systems

Post #17by Chuft-Captain » 07.08.2008, 15:14

selden wrote:I think you're thinking of the Dawn spacecraft, which uses a xenon-ion drive.
Thank's Selden. That's the one. :)

selden wrote:Still, most rocket exhausts are almost invisible in vacuum. Take a look at one of the movies of the Apollo LEM's ascent modules lifting off the moon, for example.
I agree... I think we may have to allow a little "artistic licence" in the design of spacecraft exhausts in Celestia. If they're all nearly invisible, there'd be no point in modelling them in the first place. :wink:
(Just as an aside: I believe the reason they are close to invisible in vacuum is again due to the lack of any air molecules for them to heat up. ie. The exhaust is HOT, but there's little in a vacuum to burn.)
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Re: Particle systems

Post #18by ElChristou » 07.08.2008, 15:54

Chuft, try to stay on topic please. This feature is very interesting and if Chris wants comments, let's comment his work. Then if this feature is later implemented, let's open a thread about exhausts in space if needed. :wink:
Image

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Re: Particle systems

Post #19by ElChristou » 07.08.2008, 16:08

BTW Chris, would you have a vid with the observer orbiting a blob or an exhaust made of this particles? (to see the volumetric effect)
Image

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Re: Particle systems

Post #20by chris » 07.08.2008, 16:35

ElChristou wrote:Chris, could you tell us a bit more how you define the model?

Keep in mind that everything here is preliminary. One reason that I don't want to rush particle systems into an official release is that I want to allow plenty of time for user suggestions on the file format.

Here's the particle system file for the Cassini main engine thrust:

Code: Select all

Emitter
{
    Texture "blob.jpg"
    StartColor [ 0.7 0.55 0.3 ]
    EndColor [ 0 0 0 ]

    StartSize 0.01
    EndSize 0.025

    Rate 1000
    Lifetime 0.5

    InitialPosition {
        Box { Center [ 0 0 0 ] Size [ 0.012 0.012 0.0 ] }
    }
    InitialVelocity {
       Cone { MaxAngle 5 MinSpeed 0.8 MaxSpeed 1.2 }
    }
}


The Buran smoke shader is more complex. It adds an acceleration term and rotation for the particles:

Code: Select all

Emitter
{
    Texture "smoketex.png"
    StartColor [ 0.8 0.8 0.8 ]
    EndColor [ 0 0 0 ]
    StartOpacity 1.0
    EndOpacity 0.6

    StartSize 0.05
    EndSize 0.4

    Rate 10
    Lifetime 30

    InitialPosition {
        Constant [ 0 0 0 ]
    }
    InitialVelocity {
        Cone { MinAngle 30 MaxAngle 90 MinSpeed 0.04 MaxSpeed 0.08 }
    }

    Acceleration [ 0 0 -0.003 ]

    MinRotationRate -10
    MaxRotationRate 10
}


It's possible to have as many emitters as you like in a file. Each emitter also has a Beginning and Ending time. These times are specified in seconds, and the values are relative to the start of the ssc object's lifetime.

--Chris


Return to “Ideas & News”