Jump to content
Sign in to follow this  
dmarkwick

Particle engine

Recommended Posts

Although I am pretty certain that no great shake-up of the particle system will be on the cards, I wonder if there's not room on this forum for a discussion :)

First of all - my personal bugbear - I'd like to see the overdraw limit removed/increased that causes particles to render no larger than an arbirtary maximum size, causing the familiar particle "shrinkage" as you move through, or zoom into, a smoke cloud.

Perhaps have this overdraw limit, if it is absolutely to remain, to be configurable via addon/config file?

Anyway. Particle engine. I wonder if a PhysX mechanism can be applied to particles on a per-particle basis. So smoke grenade smoke would follow the terrain and building walls etc. Helos could push smoke columns aside as they hover nearby etc. Not too much practical use for that last one, just an example of what could be achieved by hooking some PhysX functionality into particles.

With the default option that particles get NO PhysX functionality.

The functionality could be based on nothing more complex than allowing the particle to have a PhysX distance value, essentially giving the particle a sphere of interaction. So if a particle gets within X distance of a collision LoD, it goes along it not through it. Doesn't need to be over complicated :)

For the helo example, a "cushion" of repelling force could be attached to the whirling blades LoD, so that only when the blades are rotating does the repelling force act on any PhysX-enabled particle.

I'm not suggesting that last is a game-changing design element, but you'd be incredibly impressed by ingame footage that shows helo-affected smoke :) and I think it'd be quite cheap, compared to non-PhysX implementation. Especially when they eventually patch hardware PhysX acceleration into ArmA3 (oops ;))

Share this post


Link to post
Share on other sites
Anyway. Particle engine. I wonder if a PhysX mechanism can be applied to particles on a per-particle basis. So smoke grenade smoke would follow the terrain and building walls etc. Helos could push smoke columns aside as they hover nearby etc. Not too much practical use for that last one, just an example of what could be achieved by hooking some PhysX functionality into particles.

I'm pretty sure that this can be done on the CPU. (trying to think of how to explain this to people who don't understand game engines, sorry if it's difficult to understand) But instead of individual particles you could just have the physics applied to the group of particles which the game would have displayed as a decently large single puff of smoke/dust/whatever.

I'm going to put up a thread on how DirectX 10/11 effects stuff but I'll say this in here. DirectX 10/11 can give you priority over particles in what they display over. To avoid particles clipping through objects

Here is a perfect example to help my explanation

bioshock_dx9vsdx10.jpg

Bioshock DirectX 9/10 comparison

Notice how those particles don't clip the object. That's what I'm getting at

Share this post


Link to post
Share on other sites

DMarkwick: I agree that the max particle size in annoying when zooming in and seeing them appear to shrink.

Nice idea linking to PhysX.

It would be great if objects had even a simple influence on particles. Just a repel force around vehicles would be great.

AussieOsiris: Yeah, thats opacity occlusion and I'm sure that will be included in A3 since its using DX10/11. The clouds in the game footage are already much better.

Edited by EDcase

Share this post


Link to post
Share on other sites

Yes - i like to see proper 3D smoke , mean to be moving by wind or plane/helicopters and also that dx10 don't cliping thing :p

Edited by RobertHammer

Share this post


Link to post
Share on other sites

While I'm about it, there is a rather strange positional scaling error that affects particle visual position when they are big, close, and you are turning. It's a little difficult to describe, but it's like large particles will slide left or right depending on which way you turn.

---------- Post added at 04:01 PM ---------- Previous post was at 04:00 PM ----------

I'm pretty sure that this can be done on the CPU. (trying to think of how to explain this to people who don't understand game engines, sorry if it's difficult to understand) But instead of individual particles you could just have the physics applied to the group of particles which the game would have displayed as a decently large single puff of smoke/dust/whatever.

I'm going to put up a thread on how DirectX 10/11 effects stuff but I'll say this in here. DirectX 10/11 can give you priority over particles in what they display over. To avoid particles clipping through objects

Here is a perfect example to help my explanation

Notice how those particles don't clip the object. That's what I'm getting at

That's also a nice improvement, not exactly physics but definately within the realm of particle improvement :)

Share this post


Link to post
Share on other sites
That's also a nice improvement, not exactly physics but definately within the realm of particle improvement :)

It's not so much physics but it just helps the game render particles better and also assists with half a dust cloud suddenly appearing through a wall

Share this post


Link to post
Share on other sites

Does the volumetric clouds not suggest this is probably in? Or is that something totally unrelated?

Share this post


Link to post
Share on other sites
Does the volumetric clouds not suggest this is probably in? Or is that something totally unrelated?

I don't know what they mean by "volumetric cloud", my understanding is from a CGI point of view, and is actually volumetric and rather expensive to render. Game volumetric clouds are more likely to be intelligently layered 2D elements.

Share this post


Link to post
Share on other sites

With the although different and I couldn't see any examples in the videos I'd say that they would have it in

Share this post


Link to post
Share on other sites
Bioshock DirectX 9/10 comparison

Notice how those particles don't clip the object. That's what I'm getting at

Thats just hard/soft edged particles, which have been in ArmA2 since release.

As an aside - the downforce from helicopters affects smoke (and other particles) in VBS2... :lookaround:

Share this post


Link to post
Share on other sites
Thats just hard/soft edged particles, which have been in ArmA2 since release.

No, the image displays something other, it displays how the 2D player-facing sprites clip into the wall while the improved screenshot shows that once a particle is designated as this side of the wall, the entire particle is rendered and no clipping occurs.

As an aside - the downforce from helicopters affects smoke (and other particles) in VBS2... :lookaround:

It does? Is there a video?

I have VBS2 but I'm not going to install it just to check :D

Share this post


Link to post
Share on other sites
I don't know what they mean by "volumetric cloud", my understanding is from a CGI point of view, and is actually volumetric and rather expensive to render. Game volumetric clouds are more likely to be intelligently layered 2D elements.

Sorta right about that, but I don't know exactly how it's done in games. In CGI they render millions of tiny 3D particles with refractions of light and casting shadows. Dust in games are usually just 2D bitmaps with animation layered over to give the fairly convincing illusion of dust/smoke/ect

Share this post


Link to post
Share on other sites
It does? Is there a video?

I have VBS2 but I'm not going to install it just to check :D

I second this notion and if you don't need your VBS2, can you lend it to me? :D

Share this post


Link to post
Share on other sites
btw look this http://www.youtube.com/watch?v=-yxnETZ6RZk

thats very nice particle system on GPU - i could only wish to have that in ArmA 3 , to have nice looking Rain :)

I don't like it. Wet rough surfaces should have anisotropic (elongated) reflections/highlights, not isotropic (circular). Even for pretty high angle shots (like in the video) there will often be plenty of anisotropic reflections going on.

Share this post


Link to post
Share on other sites
I don't like it. Wet rough surfaces should have anisotropic (elongated) reflections/highlights, not isotropic (circular). Even for pretty high angle shots (like in the video) there will often be plenty of anisotropic reflections going on.

Check out the Unreal Engine Samaritan demo (

). It's real time but it's run on a tri-SLI setup. Tim Sweeney knows how to make a damn good engine, that's for sure

Share this post


Link to post
Share on other sites
I don't like it. Wet rough surfaces should have anisotropic (elongated) reflections/highlights, not isotropic (circular). Even for pretty high angle shots (like in the video) there will often be plenty of anisotropic reflections going on.

You're quite right. But, I think this was a code sample and demonstration for a rain rendering technique, not really a demo on wet surfaces.

Share this post


Link to post
Share on other sites

particles in the Dragon crap games are good BIS could take a lesson.

As long as they arent as crap as in Arma 2 then im happy and that it doesnt need to be modded by Optical Snare to make look decent.

Share this post


Link to post
Share on other sites

I think the possibility to map seperate alpha images to RGB images would greatly extend particle useage without extending resource useage.

Share this post


Link to post
Share on other sites
I don't know what they mean by "volumetric cloud", my understanding is from a CGI point of view, and is actually volumetric and rather expensive to render. Game volumetric clouds are more likely to be intelligently layered 2D elements.

Yeah, those aren't volumetric clouds. Volumetric clouds, by definition, have volume. 2d planes are one dimension short of doing the trick.

These are volumetric clouds.

C9CfhyajVjY

Of course, those are pretty advanced and I'm sure that they can't be implemented on a game with the current technology, without bringing it to its knees. But they should look something like that.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×