Jump to content

[1.12.x] Waterfall - a framework for continuous, mesh-driven engine effects (Aug 2)


Nertea

Recommended Posts

13 hours ago, Starseeker said:

Ah, well, it might not be something about that file itself; all engines with a bundled config seem to simply... not be reading the templates.
Here's my player.log:
https://drive.google.com/file/d/15wcJyhFtHdIuSkrpHtiOZogSoIF_-6o4/view?usp=sharing

I think I've finally fixed this in the latest release.

Link to comment
Share on other sites

Oh gosh, hopefully it gets working again!

Also, is there something special I need to do in order to have multiple effect controllers combine their effects on one thing? It seems sometimes a controller based on atmospheric pressure and one based on throttle combine as expected (when one is set to multiply); however, other times, the newer one overrides the older one.

Link to comment
Share on other sites

11 hours ago, Shoujo Q said:

Is there any idea yet of what kind of performance improvements this new approach to engine plumes would bring? Are we talking 5% better? 10%? 50%?

Depends entirely on the individual case. You can make a plume with the stock method that is reasonably performant, and another plume that looks very similar but slows the game to an utter crawl with just a single engine running. This mod is not made to improve performance of engine plumes in general. It is made to enable creation of plumes with a certain look and feel which is hard to create with the stock system without going completely overboard in performance-killing particles.

If you have a stock plume of, say, the Terrier engine - that one is so simple and basic, a Waterfall plume replacement might in fact use (very slightly) more performance, not less. But you'd also get an extreme improvement in visual fidelity. Meanwhile, the electric and nuclear engine plumes in Nertea's mods, those can achieve their intended looks much more cheaply with Waterfall than when using the stock system.

 

Edited by Streetwind
Link to comment
Share on other sites

  

7 hours ago, Starseeker said:

How do these look as RL-10-based engine plumes? (I'll see if I can get a video recording of some kind in a way I can post on here)

  Hide contents

 

 

IMO thats a bit intense for an RL10 plume. Dylan semrau made what I think is a very realistic RL10 plume for the BDB one and I've made a few small modifications to that and converted it to use the directional shader. In addition I've derived a couple of different sea level plumes. 

The question of colour often comes up. You do see some pics of very blue RL10 plumes but every operational sea level hydrolox engine has always shown a reddish or reddish orange plume in flight (apart from the Delta IV RS68 which has an ablative nozzle contributes to the distinctive bright orange). Wrt to the RL10 specifically I'm fairly sure the blueish images are from vacuum chamber tests. Images of RL10-A5 used on DC-X as well as various open air horizontal test stand images show the reddish plumes.

In any case I think these templates will be included the repo soon if you wish to use them.

Left to right,

1) Hydrolox vacuum,

2) hydrolox sea level(Vulcain, SSME, RD0120 etc)

3) hydrolox sea level alternate (bit more orange, more energetic looking RL10-A5, BE3 etc).

Some footage:

Spoiler

 

 

 

Edited by Zorg
Link to comment
Share on other sites

6 hours ago, Streetwind said:

Depends entirely on the individual case. You can make a plume with the stock method that is reasonably performant, and another plume that looks very similar but slows the game to an utter crawl with just a single engine running. This mod is not made to improve performance of engine plumes in general. It is made to enable creation of plumes with a certain look and feel which is hard to create with the stock system without going completely overboard in performance-killing particles.

If you have a stock plume of, say, the Terrier engine - that one is so simple and basic, a Waterfall plume replacement might in fact use (very slightly) more performance, not less. But you'd also get an extreme improvement in visual fidelity. Meanwhile, the electric and nuclear engine plumes in Nertea's mods, those can achieve their intended looks much more cheaply with Waterfall than when using the stock system.

 

You also have to consider multiple engines. The overdraw effects of multiple particles in multiple engines will very rapidly decrease performance - because there is a limited amount of overdraw for a single Waterfall effect compared to a couple dozen particles (even on the Terrier), there should be a pretty nice improvement with more particles. 

Of course, the real test will be making some SuperHeavies and doing 1:1 comparisons :)

9 hours ago, Starseeker said:

Oh gosh, hopefully it gets working again!

Also, is there something special I need to do in order to have multiple effect controllers combine their effects on one thing? It seems sometimes a controller based on atmospheric pressure and one based on throttle combine as expected (when one is set to multiply); however, other times, the newer one overrides the older one.

I don't think I have implemented all varieties of blend mode for all types of modifiers. Material Float definitely works as intended, let me know which ones are having issues and I will check it out. 

 

 

Link to comment
Share on other sites

5 hours ago, Zorg said:

  

IMO thats a bit intense for an RL10 plume. Dylan semrau made what I think is a very realistic RL10 plume for the BDB one and I've made a few small modifications to that and converted it to use the directional shader. In addition I've derived a couple of different sea level plumes. 

The question of colour often comes up. You do see some pics of very blue RL10 plumes but every operational sea level hydrolox engine has always shown a reddish or reddish orange plume in flight (apart from the Delta IV RS68 which has an ablative nozzle contributes to the distinctive bright orange). Wrt to the RL10 specifically I'm fairly sure the blueish images are from vacuum chamber tests. Images of RL10-A5 used on DC-X as well as various open air horizontal test stand images show the reddish plumes.

In any case I think these templates will be included the repo soon if you wish to use them.

Left to right,

1) Hydrolox vacuum,

2) hydrolox sea level(Vulcain, SSME, RD0120 etc)

3) hydrolox sea level alternate (bit more orange, more energetic looking RL10-A5, BE3 etc).

Some footage:

  Reveal hidden contents

 

 

 

Ahhhh, gotcha.

Well, those plumes look good, and at least I learned more about the editor in the process of making these! Plus, if it'd be helpful, I can still do the work of applying the templates to the various engines :D
 

Link to comment
Share on other sites

8 hours ago, Nertea said:

I don't think I have implemented all varieties of blend mode for all types of modifiers. Material Float definitely works as intended, let me know which ones are having issues and I will check it out.

Mainly position and scale; I haven't used much of the others besides Material Float

Link to comment
Share on other sites

Alrighty, made a much better-looking (or at least more realistic) plume than my previous one based on the feedback & info y'all gave, and also threw in a little bonus low-throttle effect:

However, while applying it to engines, I came across this issue on the Tharsis:
RDGBSNW.png

In the alt+F12 log, it's filled with "ArgumentOutOfRangeExcepton" spam (with "Parameter name: Index"); it stops if I disable the drawing of the main plume, and resumes when I re-enable that. Several of the throttle- and altitude-dependent effects on the plumes are nonfunctonal, and the shock cone & low-throttle flame are completely nonresponsive while the main plume is enabled.
My guess is that it hits an error somewhere in the effect "stack" each frame, and so it doesn't apply the effects queued after that point.

Edited by Starseeker
Link to comment
Share on other sites

10 minutes ago, Streetwind said:

Isn't the red color a result of the ablative nozzle on the RS-68 though? Other hydrolox engines like the RS-25 or the Vulcain II do not have this kind of red-hued exhaust.

Here's a pic of an RS-25 engine being tested for use on SLS:

rs25-640x353.jpg

It's fairly faint, but there's a distinct reddish-orange color to the part of the plume visible in this shot.

It is likely I might have the sea-level plume brightness set too high, in all honesty; thankfully, that's an easy tweak :)

Edited by Starseeker
Link to comment
Share on other sites

7 minutes ago, Streetwind said:

Isn't the red color a result of the ablative nozzle on the RS-68 though? Other hydrolox engines like the RS-25 or the Vulcain II do not have this kind of red-hued exhaust.

The RS68 has a bright orange plume as a result of the ablative nozzle. Other engines are very transparent but do have a red hue.

Theres room to tweak these waterfall plumes of course they arent final. That said the demo video i uploaded at night does seem a little unatural but in daylight conditions they do appear quite faint. Its a tricky balance between realism, something aesthetically pleasing and looking good in all lighting conditions.

(also check the videos in the spoiler in my previous comment).

Newheavy-ALAN-High-climbout-bright-engin

Ariane-5_VA233_2016111712_1066x1600-768x

Alphasat_Launch_article.jpg

STS-114-Space-Shuttle-Discovery-Liftoff.

Space-Shuttle-Challenger-Launch-Spacelab

 

Edited by Zorg
Link to comment
Share on other sites

Ooh, this is most interdasting!

I've only just discovered this thread after a long hiatus from playing KSP.

The new engine effects are very cool/hot. Looking at the effects demo videos, it occurred to me there was something missing - engine lighting. I know this has never been a thing in KSP but there is a mod that adds it. My question to you - Mr Nertea good sir - is this: do you have any plans to implement any kind of engine lighting with the new plum effects? If (as I suspect) not, will we still be able to use the aforementioned lighting mod with your new effects or will a patch be required?  

Link to comment
Share on other sites

12 minutes ago, rextable said:

Ooh, this is most interdasting!

I've only just discovered this thread after a long hiatus from playing KSP.

The new engine effects are very cool/hot. Looking at the effects demo videos, it occurred to me there was something missing - engine lighting. I know this has never been a thing in KSP but there is a mod that adds it. My question to you - Mr Nertea good sir - is this: do you have any plans to implement any kind of engine lighting with the new plum effects? If (as I suspect) not, will we still be able to use the aforementioned lighting mod with your new effects or will a patch be required?  

I personally havent tested it with waterfall but having dealt with other plume mods as far as I know Engine Lighting module does not interact with or interfere with things in the Effects node. It works directly with the engines module. Put simply any existing engine lighting patches should still work. Whether the lighting might interact in a weird way with the mesh plumes is another question, a good opportunity for someone to test it out :) 

Edited by Zorg
Link to comment
Share on other sites

4 minutes ago, Zorg said:

I personally havent tested it with waterfall but having dealt with other plume mods as far as I know Engine Lighting module does not interact with or interfere with things in the Effects node. It works directly with the engines module. Put simply any existing engine lighting patches should still work. Whether the lighting might interact in a weird way with the mesh plumes is another question, a good opportunity for someone to test it out :) 

I'd be well up for doing some testing but I don't have KSP installed ATM.

Give me 24 hours and I'll report back with some initial findings

;)

Link to comment
Share on other sites

Wow. This is a game changer!  Looks like hypercharging RealPlume with  "@energy /= 5,  @speed *= 5" patch is going to become a half-remembered dream.

I wonder if it would be at all viable to autocalculate at least some parameters of the plume from engine's Isp and thrust? Like if one had a baseline template for a kerolox plume, applying it to different engines would require only specifying nozzle mouth coordinates/diameter.

Link to comment
Share on other sites

23 hours ago, Starseeker said:

Mainly position and scale; I haven't used much of the others besides Material Float

There's definitely issues with that. 

18 hours ago, Starseeker said:

Alrighty, made a much better-looking (or at least more realistic) plume than my previous one based on the feedback & info y'all gave, and also threw in a little bonus low-throttle effect:

However, while applying it to engines, I came across this issue on the Tharsis:
RDGBSNW.png

In the alt+F12 log, it's filled with "ArgumentOutOfRangeExcepton" spam (with "Parameter name: Index"); it stops if I disable the drawing of the main plume, and resumes when I re-enable that. Several of the throttle- and altitude-dependent effects on the plumes are nonfunctonal, and the shock cone & low-throttle flame are completely nonresponsive while the main plume is enabled.
My guess is that it hits an error somewhere in the effect "stack" each frame, and so it doesn't apply the effects queued after that point.

That plume is really nice!

Your diagnosis seems correct but not easy to debug from that statement. Based on the implication that the plume work on other engine, I'd ask you to check that all the effect transform parentings are correct. Log might help. 

If not, you may need to post the configs so I can test and look at them (though I won't be able to for a week or two). 

10 hours ago, Zorg said:

I personally havent tested it with waterfall but having dealt with other plume mods as far as I know Engine Lighting module does not interact with or interfere with things in the Effects node. It works directly with the engines module. Put simply any existing engine lighting patches should still work. Whether the lighting might interact in a weird way with the mesh plumes is another question, a good opportunity for someone to test it out :) 

There shouldn't be any issues with this. 

7 hours ago, Emilius73 said:

Are you guys planning on creating SRB plumes for this?

Not at the moment. 

5 hours ago, Psycho_zs said:

Wow. This is a game changer!  Looks like hypercharging RealPlume with  "@energy /= 5,  @speed *= 5" patch is going to become a half-remembered dream.

I wonder if it would be at all viable to autocalculate at least some parameters of the plume from engine's Isp and thrust? Like if one had a baseline template for a kerolox plume, applying it to different engines would require only specifying nozzle mouth coordinates/diameter.

Templates work very well for most of this. You could probably develop something to automatically apply scale values there, but it's already down to... 9 numbers. 

Edited by Nertea
Link to comment
Share on other sites

4 hours ago, Nertea said:

That plume is really nice!

Thanks!

4 hours ago, Nertea said:

Your diagnosis seems correct but not easy to debug from that statement. Based on the implication that the plume work on other engine, I'd ask you to check that all the effect transform parentings are correct. Log might help. 

If not, you may need to post the configs so I can test and look at them (though I won't be able to for a week or two).

it should be "thrustTransform" (w/o quotation marks) right? That's what I'm seeing attached to the ModuleEnginesFX, and I'm not seeing any other transform I'd want to parent to. (Then again, I'm fairly new to all this ^^;)

Here's a log excerpt, after disabling the drawing of the main plume then re-enabling it for a split second:

Spoiler

[Waterfall][EffectWidget] Set state of mainPlume to True
 
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
  at System.ThrowHelper.ThrowArgumentOutOfRangeException (System.ExceptionArgument argument, System.ExceptionResource resource) [0x00029] in <ad04dee02e7e4a85a1299c7ee81c79f6>:0
  at System.ThrowHelper.ThrowArgumentOutOfRangeException () [0x00000] in <ad04dee02e7e4a85a1299c7ee81c79f6>:0
  at Waterfall.EffectColorModifier.ApplyReplace (System.Collections.Generic.List`1[T] strengthList) [0x0010b] in <3553b1319a05468d8ae2bb1f0a2da1a4>:0
  at Waterfall.EffectModifier.Apply (System.Collections.Generic.List`1[T] strength) [0x0004f] in <3553b1319a05468d8ae2bb1f0a2da1a4>:0
  at Waterfall.WaterfallEffect.Update () [0x0003f] in <3553b1319a05468d8ae2bb1f0a2da1a4>:0
  at Waterfall.ModuleWaterfallFX.LateUpdate () [0x00017] in <3553b1319a05468d8ae2bb1f0a2da1a4>:0

All the errors following are identical.

Edited by Starseeker
Got in-game and got proper logs
Link to comment
Share on other sites

It's a lot easier to look at this from the whole log. There is usually information higher than the first error that helps with debug (this is usually why authors ask for the full log rather than a user-curated one). 

Edited by Nertea
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.

×
×
  • Create New...