Jump to content

Developer Insights #11 – Engine Exhaust Visual Effects


Intercept Games
 Share

Recommended Posts

43 minutes ago, Aaron VFX said:

Thanks! More camera shake incoming. Got to give the people what they want. :D

Some people think camera shake and motion blur are cool and necessary. Then there are people who think it's disgusting and unnecessary. No to both.

Link to comment
Share on other sites

Yea, I was just playing around with my comment. No motion blur. Only moderate camera shake where appropriate. While we're on visual flourishes that can opinionate people, what about bloom, heat refraction and lens flairs? What does the community think about these in general?

Link to comment
Share on other sites

3 minutes ago, Aaron VFX said:

Yea, I was just playing around with my comment. No motion blur. Only moderate camera shake where appropriate. While we're on visual flourishes that can opinionate people, what about bloom, heat refraction and lens flairs? What does the community think about these in general?

If I could pick my ideal combination of all those effects I'd go:

Motion Blur: No

Camerate Shake: Yes, where appropriate

Bloom: No

Heat Refraction: Yes

Lens Flairs: Yes, but not JJ Abrams

 

PS: Hope to see you in a feature video soon. Been awhile!

Edited by Ahres
PS
Link to comment
Share on other sites

22 minutes ago, Aaron VFX said:

Yea, I was just playing around with my comment. No motion blur. Only moderate camera shake where appropriate. While we're on visual flourishes that can opinionate people, what about bloom, heat refraction and lens flairs? What does the community think about these in general?

Bloom: Yes

Heat Refraction/Distortion: Yes

Lens Flare: Maybe a little. 

Link to comment
Share on other sites


Hmmm... Im not an expert on this so I watched a few SpaceX launches to think on it.  Im not crazy about camera shake. I feel like sound cues should carry the weight there. But bloom for especially bright effects, heat refraction (!), and a bit of flare sound great. Some of the effects in the second video look extreme to the point where it would be difficult to see whats actually going on for players, but if it was toned way down some of those effects could carry some authenticity. As cool as these little details are the most important thing is that we can see the rocket itself even in the dark. That visual feedback seeing your rocket respond while monitoring gravity turns and powered landings is critical. But you all are experts on this I'm sure your intuition will be great. 
 

 

Edited by Pthigrivi
Link to comment
Share on other sites

26 minutes ago, Pthigrivi said:

Hmmm... Im not an expert on this

Give yourself a little credit Pthigrivi, everyone on the web is an expert. :cool:

Nice launch sequence reference. If we can get close to reproducing the way these look in game, I think it would be job well done.

Link to comment
Share on other sites

More options = more better.

Lots of those things would be best as a default that can be turned off if the player doesn't like it. People are all over the place on stuff like bloom, motion blur, and lens flare. Might be neat to get some dust kicked up on the camera because of rocket plume blasting dust everywhere on landing, but that sounds like a lot of custom work for different instances of planets etc.

Link to comment
Share on other sites

1 hour ago, Aaron VFX said:

While we're on visual flourishes that can opinionate people, what about bloom, heat refraction and lens flairs? What does the community think about these in general?

If there's anything I've learned about this community, it's that they LOVE toggles :)

Link to comment
Share on other sites

14 minutes ago, TLTay said:

More options = more better.

Lots of those things would be best as a default that can be turned off if the player doesn't like it. People are all over the place on stuff like bloom, motion blur, and lens flare. Might be neat to get some dust kicked up on the camera because of rocket plume blasting dust everywhere on landing, but that sounds like a lot of custom work for different instances of planets etc.

Options, yes. Toggles, yes. This is the way.

So... I have this system. Don't tell anyone yet. This system detects how far the camera is away from an in world action and can trigger a camera based action based on information of the in world action. The possibilities are exciting. I should probably stop typing now.

Edited by Aaron VFX
clarity
Link to comment
Share on other sites

1 hour ago, Aaron VFX said:

Yea, I was just playing around with my comment. No motion blur. Only moderate camera shake where appropriate. While we're on visual flourishes that can opinionate people, what about bloom, heat refraction and lens flairs? What does the community think about these in general?

Figured you were, but had to say something anyway. :) Bloom when used appropriately doesn't bother me. No to lens flare unless you are looking through something that can produce it. (Looking through a window, visor, glasses, etc.) Heat refraction where  and when you would expect to see it.

Link to comment
Share on other sites

A lot of games from early 2010s had A LOT of bloom. I say, don't overdo it. Though I'm not a fan if used unnecessarily. Space Engine, for example, has this bloom intensity slider so everyone can set it up to their liking. I still prefer properly implemented light rays over glowing things.

There was heat refraction in Waterfall mod, whenever I tried to take a closer look at beautiful plume, heated air waves covered half of the screen. Very distracting. Don't like it. 

Lens flare? Maybe, perhaps, I often don't even notice it unless it's very strong.

Imho, keep it pretty but also don't go too far from reality. I'm still saying that reflected light from Kerbin on one ship posted by Nate looooong ago was too strong.

Link to comment
Share on other sites

6 hours ago, Aaron VFX said:

Options, yes. Toggles, yes. This is the way.

So... I have this system. Don't tell anyone yet. This system detects how far the camera is away from an in world action and can trigger a camera based action based on information of the in world action. The possibilities are exciting. I should probably stop typing now.

If I follow, you are saying certain actions will trigger new camera angles. Now that is AWESOME and opens up a multitude of possibilities! One problem I have with KSP is that the camera is static, the game in general can feel cinematically lacking. I am so happy to hear this from the devs, should see more people talking about this in the forum.

Link to comment
Share on other sites

On 10/6/2021 at 11:30 AM, Wubslin said:

It looks amazing. If I had to suggest something, I noticed that the sea level exhaust plumes end by simply spreading out into a narrow cone of flow and fading. With irl plumes, at low altitudes you get a mixing regime where the exhaust begins to slow down and becomes highly turbulent as it moves downwards along with air that has been dragged along by the plume. This might be ridiculously hard to model so I don't expect the team to tackle that effect. It might be possible to simply fade the shock diamond effect and attempt to seamlessly blend in a second, more sputter-y and turbulent effect which can then be made to spread out and dim in a realistic-looking fashion, through. How hard that would be is definitely not something I would know.

8Q9svsD.jpeg

 

As for supersonic retropropulsion in an atmosphere, there's also some really distinct effects as the rocket exhaust exits the engine and forms a stagnation front as air slams into it in the opposing direcction.

Flowfield-of-jet-issuing-into-an-opposin

If you wanted to model this, perhaps you could take your transitional exhaust effects, truncate them at a certain distance, and then below the engine add a new geometric surface (like a backwards paraboloid) of similar textures and shaders to represent the exhaust backing up and flowing in the other direction. It could be pretty neat to see some falcon 9-style entry burns being performed in the game.

Quality post. Thanks for the info/images!

Link to comment
Share on other sites

On 10/7/2021 at 10:47 AM, Wubslin said:

That's a really good point! I'm a complete novice when it comes to video game development and that didn't even occur to me. Yeah, this would be pretty much an ideal use for particle effects. You know how KSP 1 would always give your craft this piddly smoke column in an atmosphere that was made of individual puffs? And how if you got going fast enough or your PC slowed down they would be really obvious? Eliminating that effect and replacing it with a much smaller but more lively turbulent stream of fire that moves with your rocket would not only look better but be way easier on the hardware since you would only need a few examples of the effect at any given time. The coordinate system for this effect can be based on the engine itself. Presto! All you'd need to do after that is disinclude solid rocket boosters and you'd be set in terms of not having to deal with those smoke puff trails. Of course we all know that's not going to happen...

Particle effects for moving objects in this game are surprisingly difficult to set up correctly. Here are a few examples:

  • The particle spawn tick rate in Unity isn't fast enough to keep up with the speed of movement in game. This is why we get the disconnected spottiness of particles on exhaust trails.
  • Floating point origin shenanigans cause havoc with the particle system when it shifts.
  • Ribbon type effects don't work by default as our objects don't move through game space in a way that Unity expects.

As a team, we are dedicated to solving the issues and I'm confident that we will. However, they are not as easy as they may seem on the surface.  Just trying to give you all some insight into the dev process and some of the challenges. Keep the thoughts and ideas rolling.

Link to comment
Share on other sites

Hey @Aaron VFX, super cool to see one of the artists so active here in the forums. And what I've seen reading through the thread this far looks extremely promising and powerful!

I'd like to contribute something as well, all the things I've discovered researching plumes and heatblur while working as a pre-alpha tester for a heatblur mod, and as a plume maker for waterfall. I should also note that I'm the plane guy, over 3000 hours in KSP, never gotten beyond minmus without cheats. But I have build more aircraft than I can even remember. Because of this and because I'll likely do the same in KSP2, I would be forever grateful to also see jet engines get some love, not only rocket engines. 

And to maybe help with this, I've written up all my knowledge about afterburners and heatblur below. It's a bit of a behemoth of a text, but I hope it will be useful regardless.
As you said, I hope I could "keep the ideas rolling".

-------------------------------------------------------------------------------------------

I'll start with the many intricacies of afterburners/reheat on planes.

shown here: the F-14 afterburner through various lighting conditions and altitudes

burner2.jpg
Notes: The F-14, as most other afterburners appears blue in dim light / darkness. I am not absolutely sure why, but I suspect it is a mix of the strong infrared light overpowering the filter in the camera in the dim light and these shots showing the afterburner at almost peak efficiency, meaning very little soot in the exhaust that would glow in the yellow typical for carbon soot. The afterburner is showing some mach diamonds though, indicating that the engine is at least slightly off it's ideal design power point, as an afterburner when working exactly in the flight state range it was optimized for would ideally show no mach diamonds. 

burner6.jpg
Here's an interesting contrast: Same plane, shot on the same camera, but at daylight. Also at full burners. The burners are now barely visible, and appear orange, which I suspect is a mix of the metal in the engine glowing and the flame's blue parts being swallowed by the bright day and the blue sea. 

F-14_Tomcat_afterburner.jpg
Different camera this time, but still the same plane at roughly the same time of day. However this time the glow of the exhaust overpowers the camera and completely blows the afterburner out into white, while also lighting up the deck beneath it, showing that the afterburner here is actually being that bright. This indicates that the afterburner seems to be more dense and more sooty at lower altitudes. Though it should be kept in mind that this shot was made in very dim lighting conditions, I have never seen an example of an afterburner blowing out a camera in full daylight.

e09de8fe99fd0c4b5d0945d6fbfb6f10.jpg
And another F-14 here. This picture is rather small and old, but was likely shot on a film camera similar to the first two images I've shown. This image shows an F-14 at takeoff from a carrier, likely under full afterburner. Yet the afterburner shows no mach diamonds, indication that the engine is likely operating exactly in the environment it was tuned best for: Heavy carrier takeoffs with maximum thrust. More noteworthy things of this afterburner is that it appear orange, even though it was also shot in somewhat dim lighting. This indicates an afterburner that is not burning completely clean, but more sooty. Another noteworthy thing is that the afterburner is showing streaks in the exhaust, lines in which the afterburner appears brighter than elsewhere. These streaks appear to vary from engine to engine, but tend to stay somewhat in the same position while the engine is running.  A usable reference for how these streaks look in action is this video: https://youtu.be/Oj4w7i-TqsE. Though here it should be noted that the F-16 exhaust here, at almost sea level, once again appears blue. And that while a normal F-16 afterburner appears orange under most circumstances. 

4185683953_20fc04f49f_c.jpg
Next up: Some Daylight! Afterburners are not nearly as bright as rocket engines, so in full daylight they become quite dim. Only the shock diamonds remain visible, and also only their inner rings, not the full diameter rings visible with dim light.  Also note the large amount of heat blur visible, as it almost always appears with afterburners. Heatblur will have it's own section, so I will not go into further detail on that. 

I0000jJKBY.q0dyM.jpg
More F-14s, more bright daylight. This time a look up the nozzle. Visible is once again significant heatblur. Through it becomes visible how the flame behaves inside the engine, originating on the flame holder, them moving along the outside of the engine into the streaks out of the exhaust I mentioned earlier. The left nozzle here shows a good illustration of how these streaks originate in the engine and flow out of the nozzle. Also note the multi-colored flame, burning in both blue and orange within the engine. 

3692821045_6faab854c3_b.jpgfig932_01.jpg
Speaking of streaks, flameholders, and engines, this is how it looks inside the F-14's F-110 engine when it is not running. You can see the last turbine stage in the background. In front of that there is this ring of green-ish  bars. As visible on the schema on the right these pans have a kind of V-shape in cross section, which creates a low pressure zone in the air stream behind them, which makes a stable combustion in the high velocity exhaust even possible. Here the fuel of an afterburner is also injected, so this part is really the start of any afterburner. 

Now we've seen plenty of the F-14, and it's afterburner, though only really at full thrust. Let's take a look at an afterburner going through different power settings next. Shown below: the shutdown of an F-16 afterburner in dim daylight:
unknown.png
unknown.png
unknown.png
We start off with the camera once again being completely overpowered by the brightness of the afterburner in the dim light. At full power and sea level the afterburner shows no signs of mach diamonds, but as thrust decreases first an inner layer of afterburner becomes visible, that then breaks apart more and more into individual inner core mach diamonds before the engine completely shuts down. This once again highlights how mach diamonds occur when the engine is not in the state it was optimized for, in this case that being low thrust afterburner while not moving. Another interesting thing is that one can see the engine insides glowing in the cracks of the nozzle vanes.

About the SR-71, the J-58, and the Whiplash engine

Shock diamond - Wikipedia
The SR-71 is probably the plane that illustrates shock diamonds the best, here being used as the top image on the wikipedia article on said shock diamonds. Seen here in this night test shot where one can see the unique afterburner of the SR-71. An inner core, long, thin and orange, fanning out into turbulence at the end, with a bigger blue-ish exhaust around it that has it's own shock diamonds.

wDuuF_7P61thkpSmrZWooYjcyVB9HUQfsu82Qs7o
This blue exhaust becomes almost invisible at day, replaced by a large amount of heat blur coming in instead. Looking closely at the right engine there still is a faint outer exhaust core visible, but it being blue and not as bright it is mostly invisible at day. 

https://i.imgur.com/uU7kWgq.gifv (KSP video from my old waterfall whiplash config)

images?q=tbn:ANd9GcQy-SzekrZ0cHxkhBZvCfp
Unlike the Whiplash in KSP the real J-58 engine also had an ignition and wasn't permanently on afterburner. It would be a neat detail to have the famous green ignition flash be present in KSP as well. This flash of TEB was required to be able to ignite the SR-71's low volatility fuel, and actually gave this engine a limited amount afterburner ignitions.  

 

Now onto Heatblur

Heatblur is an interesting topic. We rarely ever notice it directly, but it helps convey the power and heat output an engine has, even if no flame is visible. From what I've seen in the forum thread here the heatblur effect is currently only a displacement effect, which is also what we associate most with heat blur thinking about it. However, heatblur has more than just displacement behind it. So let's have a look at what causes heatblur to look the way it does.

Kerbal_Space_Program_Screenshot_2020.09.

  1. Displacement: As already mentioned, this is what one usually thinks about with heatblur, the air with it's turbulent temperature and therefore (optical) density differences distorting all that is behind it. A rgb map of layered noise used to displace pixels in x/y direction is a good start here
  2. Blur: As it already says in the name, heatblur also blurs everything that is behind it. While testing the first pre-alpha versions of the heatblur mod it only had displacement. As does current day waterfall. And that just looks a bit odd, it's still too sharp. It sure looks like distortion, but not like real heat blur. And this is where blur comes in, layering a blur onto the displacement makes the effect seem way more realistic as it helps simulate all the microscopic turbulence in real air that the displacement has not considered yet. 
  3. Darkening: This one may seem a bit odd at first, but during testing on the mod we realized that the effect looks a lot better if the blur also slightly darkens that area of the screen. This makes the effect a tiny bit more visible, and makes it seem more realistic. I have also noticed that kind of darkening notice on real blur. My explanation for this is light being scattered away from the viewer, making it appear slightly darker. 

Kerbal_Space_Program_Screenshot_2020.02.
About Blur: Compare this image (without blur) to the image above (which has blur) and see the difference. Displacement alone is cool, with blut it looks even better.

Implementation

In the heatblur mod I was a part of the effect was achieved through world-space particles with all it's benefits and drawbacks. The blur stream was getting holes at high speed as unity's particle system couldn't keep up, but flying low over the runway left a beautiful trail of blurred air behind that lingered for a while, then faded out. This was done through particles in worldspace that inherited the speed of the plane minus the exhaust velocity. Ideally the particles would have also had drag so they slowly come to a stop while the displacement texture keeps scrolling.  

RAF_Tornado_GR4_Aircraft_Takes_off_from_

The ideal implementation would probably be a trail renderer that is somewhat modified to simulate exhaust velocity, meaning it would deform to a certain point so it follows the path the particles mentioned above would have followed. Mesh based blur like in waterfall sadly is not really a solution as the beautiful lingering heat blur trails get lost. An effect like this must be world based. A trail renderer alone would look odd from behind though, so my proposal would include few particles pinned to certain mesh intervals in the trail renderer.
Another possibility may be with the effect shown early on in the thread of the engine exhaust bending to outside influences. A mesh that bends like that could handle the heatblur close to the engine where the the trail is thin and concentrated, which would be an issue for particles. Further down the line particles could then take over to produce the lingering effect. 

57215171.jpg
Oh yeah and non-afterburning and even turbofan engines still produce heatblur!

 

THE END

This took me about three hours to write and is basically a knowledge dump of all the things I have researched over the last three years. I hope my knowledge can help at least a tiny bit to making KSP2 even better....
And please: give air breathing engines some love in KSP2!

 

 

--------------------
As an addition, I'll include a selection of my favorite shots here as further inspiration. (this will probably automerge with the above post.) With the knowledge from above, see how many details are now noticable!

Spoiler

2010579989_917c6d65f5_b.jpg

741766a2c15551261240b045de392cdd.jpg
The F-16 in brighter and dimmer light, notice how the afterburner changes.

34636.jpg

22734.jpg

25145.jpg

32362.jpg

28914_1.jpg

main-qimg-5514f305e9bfb266dcc485afb226c5

165a9f52b0321d51c3d560df46cc3561d35dbf3a

image-react169Big-3fcb689b-1665335.jpg

main-qimg-d2461658457dd3fcdb2a94c5318c80

6316.png

1366.png

37283.png

 

 

Edited by HB Stratos
Link to comment
Share on other sites

On 12/16/2021 at 4:34 PM, Aaron VFX said:

Particle effects for moving objects in this game are surprisingly difficult to set up correctly. Here are a few examples:

  • The particle spawn tick rate in Unity isn't fast enough to keep up with the speed of movement in game. This is why we get the disconnected spottiness of particles on exhaust trails.
  • Floating point origin shenanigans cause havoc with the particle system when it shifts.
  • Ribbon type effects don't work by default as our objects don't move through game space in a way that Unity expects.

As a team, we are dedicated to solving the issues and I'm confident that we will. However, they are not as easy as they may seem on the surface.  Just trying to give you all some insight into the dev process and some of the challenges. Keep the thoughts and ideas rolling.

Dang, that certainly doesn't sound trivial. Maybe if you took solids out of the game you could avoid all smoke trails!

Link to comment
Share on other sites

I'm not a game developer or effects artist, so my ideas are probably irrelevant, but why not...

Doesn't sound like the game engine is going to cooperate. You'll have to trick it somehow?

Not sure if a seperate frame of reference from the game world is even possible, but...

Separate frame of reference around particle producing objects that handles only particles? I was thinking perhaps you could have the special frame of reference have all velocities (and maybe size/distance) be reduced to a tiny percentage of their in-game speed (or size), so a booster in the special frame of reference would be moving slowly enough (or short enough distance) to produce a coherent stream of smoke. Then, using fancy math, expand the special frame of reference particle effects to the size/distance travelled in simulation frame of reference.

Probably not possible since I don't even know what I don't know, but I was bored, so I'm here.

Link to comment
Share on other sites

On 12/17/2021 at 3:30 PM, HB Stratos said:

This took me about three hours to write and is basically a knowledge dump of all the things I have researched over the last three years. I hope my knowledge can help at least a tiny bit to making KSP2 even better....
And please: give air breathing engines some love in KSP2!

Thank you for the time, effort and information put into this top quality post!

We've made some good progress so far with implementing shock diamonds, afterburners and distortion (not yet heat blur). I hope you and others will be happy with the updated stock effects.

That being said, I love hearing and seeing what details people point out in posts like yours. If we have the time, I'll add some color depth and variation to the exhaust at the nozzle. Not sure what we can do with tweaks to visibility based on lighting conditions but I'll take note and look into it when I can. I like how you broke down heat blur into different elements. I've never liked sharp distortion in games. It can be too much and takes away from the overall composition. Adding some blur and a bit of darkness is a brilliant observation to better blend this effect with the surrounding elements.

Separate topic but, you posted about the SR-71.  I am in awe every time I see it. There is one at the Museum of Flight here in the Seattle area. The level of engineering and problem solving put into the creation of that machine is an inspiration.

Link to comment
Share on other sites

That is awesome to hear! I can't wait to see how it will end up looking in KSP2, it's really cool to see the devs active here and listening to the community. From how it looks now KSP2 will have an overkill version of waterfall in stock, which is amazing to hear!
...Now you probably can't comment on this, but my last hope left for KSP2 is some better aerodynamics. As I said I basically only build planes, and it would be so cool to have something like the FAR mod from original KSP in stock, especially since replicas heavily rely on clipping parts, which makes stock aero be all kinds of messed up.

Link to comment
Share on other sites

I just had a thought that no one has mentioned yet: plume modability.

The community clearly has some very knowledgeable and talented people with eyes for detail. However, no one will hold anything against the Intercept team for not implementing each and every suggestion from community members. As you have already stated - you only have so much time. We all understand that.

Instead, may I suggest that solid provision be made for modders to tinker with and further build on your work after release. If you don't have time to fully develop insanely detailed heat haze or relative brightness and exposure effects (as per HB Stratos' fascinating post) for example, leave the hooks exposed that would allow us lot to have a go. :D

Link to comment
Share on other sites

3 hours ago, rextable said:

I just had a thought that no one has mentioned yet: plume modability.

The community clearly has some very knowledgeable and talented people with eyes for detail. However, no one will hold anything against the Intercept team for not implementing each and every suggestion from community members. As you have already stated - you only have so much time. We all understand that.

Instead, may I suggest that solid provision be made for modders to tinker with and further build on your work after release. If you don't have time to fully develop insanely detailed heat haze or relative brightness and exposure effects (as per HB Stratos' fascinating post) for example, leave the hooks exposed that would allow us lot to have a go. :D

^This, so much this.

You can't really make everyone happy with one base set of configs, so provide a solid start for everyone not willing to play with settings, and allow the 'power users' to play with all the settings to make it exactly perfect. And make such configs easy to share with others. That would allow for so much customization, together with a community so willing to share their creations with others. Would be awesome if we could have that.

Edited by HB Stratos
Link to comment
Share on other sites

5 hours ago, rextable said:

I just had a thought that no one has mentioned yet: plume modability.

The community clearly has some very knowledgeable and talented people with eyes for detail. However, no one will hold anything against the Intercept team for not implementing each and every suggestion from community members. As you have already stated - you only have so much time. We all understand that.

Instead, may I suggest that solid provision be made for modders to tinker with and further build on your work after release. If you don't have time to fully develop insanely detailed heat haze or relative brightness and exposure effects (as per HB Stratos' fascinating post) for example, leave the hooks exposed that would allow us lot to have a go. :D

Since announcement, we have stated that KSP2 will support mods and that the dev team will continue to support the game post release. We want to carry on the tradition of KSP1 and support the player base as much as we can. You guys are as much KSP as we are.

I'll note your suggestions on plume modability. As always, no guarantees on what is exposed but it's a valid suggestion. Out of curiosity, what are the key elements you all would like control of? I'm thinking color, texture, a way to import your own mesh blends, etc. I don't have much experience setting up content for mod support, so knowing what is helpful will let me wrap my head around better ways to approach the possibilities. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...