Jump to content

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


Nertea

Recommended Posts

I can't seem to get anything to apply to the NFLV Rutherford analogues. I tried copying the whole EFFECT {} from the Merlin plumes I did get to work to it, but they don't show up. The editor has everything there, it's just invisible for some reason; do those engines need the parentName to be something other than thrustTransform or something?

Link to comment
Share on other sites

On 9/6/2020 at 4:53 PM, WarriorSabe said:

I can't seem to get anything to apply to the NFLV Rutherford analogues. I tried copying the whole EFFECT {} from the Merlin plumes I did get to work to it, but they don't show up. The editor has everything there, it's just invisible for some reason; do those engines need the parentName to be something other than thrustTransform or something?

That's really not a lot of information to go on to help. No configs, logs...

Link to comment
Share on other sites

So, update. I have now split out patching from configuration, and this is now 2 mods.

Waterfall 0.2.0

  • Split configuration for Restock and Restock+ parts into a different mod
  • Fixed plume scaling in the case where multiple plume parent transforms have different scales (i.e. nuPoodle)
  • Fixed a couple of minor bugs
  • Renamed/restructured templates:
    • waterfall-hydrolox-lower-1: lower stage hydrolox engine
    • waterfall-hydrolox-lower-2: lower stage hydrolox engine, energetic, orange
    • waterfall-hydrolox-rs25-1: lower stage hydrolox engine based on SSME
    • waterfall-hydrolox-upper-1: upper stage hydrolox engine, suitable for orbital engines
    • waterfall-kerolox-lower-1: Reddish kerolox lower stage engine, suitable for energetic lifting engine
    • waterfall-kerolox-lower-2: orangeish kerolox lower stage engine, suitable for energetic lifting engine
    • waterfall-kerolox-lower-3: extra burny kerolox lower stage engine, suitable for energetic lifting engine
    • waterfall-kerolox-sustainer-1: reddish kerolox lower stage engine, somewhat based on Titan 3 engine
    • waterfall-kerolox-upper-1: Reddish kerolox, suitable for generic upper stage engine
    • waterfall-kerolox-upper-2:Red/white kerolox, suitable for low thrust upper stage engine
    • waterfall-ntr-lh2-1: LH2-based nuclear rocket engine
    • waterfall-ion-xenon-1: Xenon Gridded Thruster engine
    • waterfall-rcs-jet-1: White RCS jet
  • Added a set of sounds for authors to use, from KW and NFT

and

WaterfallRestock 0.1.0

This now contains the configs for restock and for restock+. I've added a few new effects since last release, only a few engines are not covered. 

Link to comment
Share on other sites

4 hours ago, SpaceFace545 said:

I'm sorry but I'm having a tough time with the github instructions. So what do I do from step one to ingame to get this to work? 

Download the two releases linked in the OP. Install them as any other of my  mods.

Link to comment
Share on other sites

Damn it Nertea, I finally get fluent and confident with customizing SmokeScreen configs so I can make all my engines have pretty plumes and you just have to come along with THIS and make all of that work mute. I swear you and ShadowMage just can't be content with the good-enough status quo can you guys, you just gotta come along with this "I can make a better system" big coder energy and give us fancy new stuff that blows the old way of doing things out of the water. Now I have to spend a bunch of my free time learning this new system and coming up with patches for all the various engines I use, thanks for monopolizing what little time I have between writing aerodynamics lab reports and random signals analysis homework, guess I won't actually be playing any KSP this semester :rolleyes:

Link to comment
Share on other sites

So after looking through the documentation on GitHub it looks like this is going to be way easier to work with than the current standard of patching with SmokeScreen and RealPlume. I do have a question/feature suggestion @Nertea would it be possible when using templates to allow us to override or add specific parameters? An example to maybe help explain: so some one comes up with a template that we want to use with an engine, we use the position and scale parameters to get the effect lining up and looking good but what would make it look GREAT is if we could additionally just scale and reposition a specific bone just a bit but leave everything else as they are.

What I would envision the Template section inside the moduleWatefrallFX module could look like
:

TEMPLATE
    {

      templateName = waterfall-hydrolox-upper1
      overrideParentTransform = thrustTransform
      scale = 0.8,0.8,0.8
      rotation = 0,0,0
      position = 0,0,-0.4
	
	OVERRIDE //we now want to change specific parts of the template being used
		{
			EFFECT[outerGlow] //specify which EFFECT in the template
				{
					SCALEMODIFIER[tExitScale]//we specifically want to change the tExitScale SCALEMODIFIER
						{
							xCurve           //we just want to tweak the x and z curves a bit
								{
									key = 0 1.5 0 0
								}
							zCurve
								{
									key = 0 1.5 0 0
								}
						}
					NEW[POSITIONMODIFIER]  //We want to create a new modifier of the type POSITIONMODIFIER
						{
							name = throatReposition
							controllerName = custom
							transformName = B_Throat
							combinationType = Replace
							useRandomness = False
							randomnessController = random
							randomnessScale = 1
							xCurve
							{
							}
							yCurve
							{
							}
							zCurve
							{
								key = 0 -0.2 0 0
							}
						}
				}
		}
    }

This way we can have a bit more control over tweaking parts of a template with out having to create a whole new effect that only has a few changes from the previous one. This always was a problem I had with some of the RealPlume configs, where just changing the scale and position of the entire effect couldn't get me exactly where I wanted so I would have to just make a copy of the original effect and make a couple tweaks to the flare or the plume and then save that, it also made redistributing the patch more complicated as not only would one have to share the MM patch adding the effect but also the full template config that someone else wrote that only had one or two values tweaked.

I anticipate that making this type of change probably isn't a simple task but I think it would be a really useful feature to have for those hoping to make a large number of compatibility patches for various different part packs and could help speed up adoption.

Edited by Akira_R
Link to comment
Share on other sites

On 9/12/2020 at 3:34 PM, Akira_R said:

So after looking through the documentation on GitHub it looks like this is going to be way easier to work with than the current standard of patching with SmokeScreen and RealPlume. I do have a question/feature suggestion @Nertea would it be possible when using templates to allow us to override or add specific parameters? An example to maybe help explain: so some one comes up with a template that we want to use with an engine, we use the position and scale parameters to get the effect lining up and looking good but what would make it look GREAT is if we could additionally just scale and reposition a specific bone just a bit but leave everything else as they are.

What I would envision the Template section inside the moduleWatefrallFX module could look like
:


TEMPLATE
    {

      templateName = waterfall-hydrolox-upper1
      overrideParentTransform = thrustTransform
      scale = 0.8,0.8,0.8
      rotation = 0,0,0
      position = 0,0,-0.4
	
	OVERRIDE //we now want to change specific parts of the template being used
		{
			EFFECT[outerGlow] //specify which EFFECT in the template
				{
					SCALEMODIFIER[tExitScale]//we specifically want to change the tExitScale SCALEMODIFIER
						{
							xCurve           //we just want to tweak the x and z curves a bit
								{
									key = 0 1.5 0 0
								}
							zCurve
								{
									key = 0 1.5 0 0
								}
						}
					NEW[POSITIONMODIFIER]  //We want to create a new modifier of the type POSITIONMODIFIER
						{
							name = throatReposition
							controllerName = custom
							transformName = B_Throat
							combinationType = Replace
							useRandomness = False
							randomnessController = random
							randomnessScale = 1
							xCurve
							{
							}
							yCurve
							{
							}
							zCurve
							{
								key = 0 -0.2 0 0
							}
						}
				}
		}
    }

This way we can have a bit more control over tweaking parts of a template with out having to create a whole new effect that only has a few changes from the previous one. This always was a problem I had with some of the RealPlume configs, where just changing the scale and position of the entire effect couldn't get me exactly where I wanted so I would have to just make a copy of the original effect and make a couple tweaks to the flare or the plume and then save that, it also made redistributing the patch more complicated as not only would one have to share the MM patch adding the effect but also the full template config that someone else wrote that only had one or two values tweaked.

I anticipate that making this type of change probably isn't a simple task but I think it would be a really useful feature to have for those hoping to make a large number of compatibility patches for various different part packs and could help speed up adoption.

I think this would need a rewrite of how the mod handles templates. Not to support edited templates, but to support generation of edited template files. The reason being is that the plugin doesn't care about templates after they're loaded - it would be quite difficult to go 'back' into the template and write a delta config. 

Because there's such as easy way to generate effects or templates from other templates though, why not do that? Then you can load your template, do a few changes, and export the effect again. You can also generate delta templates using MM too by editing the target template files. 

 

 

Link to comment
Share on other sites

Taking a look into some configs it seems™ to be compatible to RocketSoundEnhancement - at least to my build

https://github.com/Gordon-Dry/RocketSoundEnhancement/tree/additional-effects

RocketSoundEnhancement "only" alters the @EFFECTS - it changes sounds.

I will investigate and also push some changes to my repo later.

Edit:

Just for failsafe measures I already pushed the changes, see

https://github.com/Gordon-Dry/RocketSoundEnhancement/commit/8df88389a5b867f3afb334e08ef67014c1d538a2

https://github.com/ensou04/RocketSoundEnhancement/pull/5/commits/90fe9288c278f826470479501671d165281f7f12 (brackets fixed)

Edit:

There are already a few slightly MM warnings, just to mention:

[WRN 23:12:00.819] more than one pass specifier detected, ignoring all but the first: WaterfallRestock/Patches/RestockPlus/RestockPlusRCS/@PART[restock-rcs-block-quad-angled-1]:AFTER[ReStock]:FOR[Waterfall]
[WRN 23:12:00.820] more than one pass specifier detected, ignoring all but the first: WaterfallRestock/Patches/RestockPlus/RestockPlusRCS/@PART[restock-rcs-block-triple-angled-1]:AFTER[ReStock]:FOR[Waterfall]
[WRN 23:12:00.820] more than one pass specifier detected, ignoring all but the first: WaterfallRestock/Patches/RestockPlus/RestockPlusRCS/@PART[restock-rcs-block-quint-1]:AFTER[ReStock]:FOR[Waterfall]
[WRN 23:12:00.820] more than one pass specifier detected, ignoring all but the first: WaterfallRestock/Patches/RestockPlus/RestockPlusRCS/@PART[restock-rcs-block-single-mini-1]:AFTER[ReStock]:FOR[Waterfall]
[WRN 23:12:00.827] more than one pass specifier detected, ignoring all but the first: WaterfallRestock/Patches/Squad/SquadRCS/@PART[mk1-3pod]:AFTER[ReStock]:FOR[Waterfall]

 

Edited by Gordon Dry
Link to comment
Share on other sites

1 hour ago, KeaKaka said:

Will the mod have support for multi-nozzle dynamic exhaust? (the realplume for tundra's falcon an example.)

It already does; it's on the Poodle and if you look earlier in the thread you can see it being applied to other multi-nozzle engines (though it appears that it might be a little harder to configure multiple nozzles)

Link to comment
Share on other sites

1 hour ago, KeaKaka said:

Will the mod have support for multi-nozzle dynamic exhaust? (the realplume for tundra's falcon an example.)

 

3 minutes ago, WarriorSabe said:

It already does; it's on the Poodle and if you look earlier in the thread you can see it being applied to other multi-nozzle engines (though it appears that it might be a little harder to configure multiple nozzles)

Its worth noting that the extraordinarily realistic plume on the Tundra Falcon 9 is not the result of special smokescreen features or anything for plume to plume interaction. The reason the plumes seem to interact with each other and push them away like the real thing is because all 9 engines are a single part and there are dedicated transforms for outer engines and the inner one with specific effects assigned to each. It was the result of tremendous hard work by Nessus and its entirely possible with Waterfall assuming the engine in question is set up in a similar way and you put in the effort to create effects that behave that way. But theres no provided plume interaction physics in Smokescreen nor Waterfall.

Link to comment
Share on other sites

On 9/14/2020 at 11:59 AM, Nertea said:

I think this would need a rewrite of how the mod handles templates. Not to support edited templates, but to support generation of edited template files. The reason being is that the plugin doesn't care about templates after they're loaded - it would be quite difficult to go 'back' into the template and write a delta config. 

Because there's such as easy way to generate effects or templates from other templates though, why not do that? Then you can load your template, do a few changes, and export the effect again. You can also generate delta templates using MM too by editing the target template files. 

 

 

I kind of figured as much, but using MM to clone and patch template files is actually exactly what I wanted. I hadn't thought about it mostly because the "templates" that we get with RealPlume are actually just big MM patch files themselves, and as far as I'm aware you can't patch a patch file lol. I feel a little bit dumb now for not catching that lol :blush:

 

Link to comment
Share on other sites

Is this a known issue: a custom template I made (based off of the nuclear engine one) seems to continue running when entering 'on rails' timewarp suddenly. Instead of setting the throttle to 0, if you enter on-rails timewarp when the engines are still running, the game automatically sets 0 throttle, but the engine plume continues running. I'm not sure if this is specific to my template, or a bug in the plugin.

Here is the config:

https://drive.google.com/file/d/1qAM2QQ87GljTESzYXGS7-zR0N1JVKGAV/view?usp=sharing

Here is the Player.log (if needed):

https://drive.google.com/file/d/1cwRb-Zaz8Oed1wQFcanV2TQPHTjr3WSY/view?usp=sharing

Link to comment
Share on other sites

Somewhat recovered from first 2w of new baby, catching up...

On 9/22/2020 at 3:03 PM, Akira_R said:

I kind of figured as much, but using MM to clone and patch template files is actually exactly what I wanted. I hadn't thought about it mostly because the "templates" that we get with RealPlume are actually just big MM patch files themselves, and as far as I'm aware you can't patch a patch file lol. I feel a little bit dumb now for not catching that lol :blush:

 

Yep, you should be able to address any templates with the usual syntax, e.g.  @Template[thetemplate] { ..}

On 9/23/2020 at 4:03 AM, Aniruddh said:

Is this a known issue: a custom template I made (based off of the nuclear engine one) seems to continue running when entering 'on rails' timewarp suddenly. Instead of setting the throttle to 0, if you enter on-rails timewarp when the engines are still running, the game automatically sets 0 throttle, but the engine plume continues running. I'm not sure if this is specific to my template, or a bug in the plugin.

Here is the config:

https://drive.google.com/file/d/1qAM2QQ87GljTESzYXGS7-zR0N1JVKGAV/view?usp=sharing

Here is the Player.log (if needed):

https://drive.google.com/file/d/1cwRb-Zaz8Oed1wQFcanV2TQPHTjr3WSY/view?usp=sharing

Probably a bug, how to you get that to happen though? If i have an engine running and I try to enter on-rails timewarp, the game doesn't let me. 

On 9/23/2020 at 2:09 PM, toric5 said:

The waterfall restock configs seem to generate MM errors, and several of the plumes are just pink cylinders.

Nobody else has reported this, I don't see any logs either.

On 9/26/2020 at 11:40 PM, The Dressian Exploder said:

Are there waterfall plumes for all the stock engines now?

No, check this list: https://github.com/ChrisAdderley/WaterfallRestock/issues

On 9/27/2020 at 3:56 PM, Starseeker said:

So, with the new effect templates, would the plumes I did be duplicate work? I'm assuming you'd rather use the plumes you or Zorg made rather than the ones made by some random person ^^;

Possibly some of them, but don't let that stop you! In the base repo, I realistically want to include 1-2 templates that when put together would cover almost all engines. I'd suggest looking at the ones Zorg did ingame and seeing if yours could also fit in without too much duplication then we can roll them in. 

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...