Sign in to follow this  
  • entries
    235
  • comments
    509
  • views
    172053

Up In Smoke

Sign in to follow this  

105 views

Up In Smoke

I got some good feedback from a team member to try a darker smoke. After playing with the blending modes, I went back to an older method that seems to give good results :

SRCBLEND = SRCCOLOR
DESTBLEND = INVSRCOOLOR


The idea is that it darkens more than it brightens. This is a sort-independent mode, very similar to addsmooth, so there is no need to sort the particles before applying it. One could achieve a similar effect by doing INVSRCALPHA in the dest mode, with an alpha that is different than SRCCOLOR.

It looks more like smoke fire, wheras the older whitish smoke looks more like steam. I suppose we'll use the white method for steam or mist.

Also added some more tweakable parameters, including a quantity factor, so you can modify the # of particles spawned without changing code.





Sign in to follow this  


7 Comments


Recommended Comments

Guest Anonymous Poster

Posted

Wow. The fog in the previous post looks really good. It does look like you are depthtesting the particles but how are you avoiding the interesections with the geometry which usually give away the billboard representation?

Is it the physics/collisions on the particles that make them not to intersect the geometry? Hmm this must be it!

For the fog in the previous post how many particles do you use, and how big are they?

Share this comment


Link to comment
The darker smoke does look a lot better, but as you mentioned - the lighter/white "smoke" would do a brilliant job with mist/steam/fog [grin]

Have you considered adapting the particle system to allow a sort of "drifting" fog or mist? Could make for an interesting atmosphere if your character is exploring a room/area that has a bit of water that has a sort of steam/fog drifting across the surface...

Jack

Share this comment


Link to comment
Kinda offtopic but will you allow some parts of the environment to break or morph in realtime? It would be kinda cool to notice a crack in the wall, hit it causing a secret path to show up...or hit a statue in a narrow tunnel causing it to crumble and block the path infront of a swarm of pursuers...
I dunno

Share this comment


Link to comment
I just made a movie of the smoke, but right now it's for team members only. In about a month, we should have something to show to a wider audience.

Yes, I use real spherical physics to avoid intersecting the geometry.

Re: # of particles. I switched between 14 and 21 particles throughout these shots, so I'm not sure which is which, but most are probably 21.

Re: drifting fog - yes, one of the things I'd like to do is ground-based mist that can be influenced by the player, and other moving objects.

That would be a great level : have a ghost or invisible enemy - you can only see him when he displaces the mist!

Re: Breaking the environment. There are a couple of things that discourage real-time geometry changes. The major one is the lighting system. To be able to handle many lights with many characters & objects, I keep the lights motionless, and rely on static geometry not to change. I think real shadows with either moving lights or breakable geometry is not super-practical for dx8-level hw. I think you'd need high-end dx9 hw to make this work well in a real-time game with a wide-open environment.

Share this comment


Link to comment
Quote:
Re: drifting fog - yes, one of the things I'd like to do is ground-based mist that can be influenced by the player, and other moving objects.

That would be a great level : have a ghost or invisible enemy - you can only see him when he displaces the mist!

That would indeed be awesome - make sure that makes it into the game [oh]

Jack

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now