Jump to content

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


Nertea

Recommended Posts

 

51 minutes ago, SpaceX_Boi said:

This mod is absolutely INCREDIBLE :D :D :D !! Realplume will never beat it! ( no offense to @Zorg btw :/ )

 Guess what plumes I work on these days? :P

On 2/4/2021 at 8:42 PM, Zorg said:

GIF_04-02-2021_19-59-11.gif

Little preview of Alcolox and Hydyne plumes being developed for Bluedog Design Bureau (for Redstone).

They will also be submitted to Waterfall itself later so anyone can use them.

ps. I would still suggest RealPlume for sea level SRB stuff for now at least. The two mods work together where Waterfall configs take priority and things that dont have Waterfall will get realplume.

Link to comment
Share on other sites

46 minutes ago, Zorg said:

I would still suggest RealPlume for sea level SRB stuff for now at least.

Yeah, I know :). I use RealPlume just for the SRBs and things that aren't compatible with waterfall, like reDIRECT. Still a good mod though! I used it before I discovered waterfall. Good work, and continue doing what your doing ;)

Really cool looking plumes in that gif too :sticktongue:! I thought that it was from @Nertea . And don't even ask me why I didn't read who sent it :P...

Edited by SpaceX_Boi
Link to comment
Share on other sites

52 minutes ago, Knight of St John said:

Are you working on plumes for the stock engines too? (like I am)
Or engines from mods? Cuz it'd be kinda wasteful if we do the same job twice :-)

I am working on plumes for Bluedog Design Bureau. I dont intend to configure stock engines. However any templates  (except those too specialised for general use like the J2 aerospike) produced for this effort will be submitted to Waterfall core so that anyone who wants to apply those templates to anything else can do so. Im not sure when that will be though.

templates that are being worked on will include the Alcolox and Hydyne plumes posted earlier.

Similar looking ones in different colour for Aerozine50+NTO, another slightly different version of that for UDMH+NTO (for Tantares)

Az50+NTO vac plume, UDMH+Red Fuming Nitric Acid vac plume.

A new kerolox plume with more colourful transitions including red and blue phases.

screenshot17.png?width=691&height=842

screenshot18.png?width=847&height=843

screenshot19.png?width=807&height=843

A film cooled version of that as well as a vac version.

Probably a dedicated plume for the F1 engine

Ablative cryo plume (idk if the template is in Waterfall itself or Cryoengines, but a version of this is being used for Nerteas CryoEngines RS68 already).

The some of the existing cryo plume templates in Waterfall were made for BDB originally but I think I want to improve them further with more use of the dynamic shader.

Kerolox vernier plume.

Thats probably most. If you have efforts in a similar vein perhaps we can compare notes? 

As mentioned before all the work is in this special branch

https://github.com/CobaltWolf/Bluedog-Design-Bureau/tree/waterfall-experimental

Specifically here

https://github.com/CobaltWolf/Bluedog-Design-Bureau/tree/waterfall-experimental/Gamedata/Bluedog_DB/Compatibility/WaterfallFX

 

Edited by Zorg
Link to comment
Share on other sites

Hey all, I'm having some issues with creating an RCS plume for this shuttle mod. I'm able to get the plumes working all right, but after I complete the plumes and get them how I want, they remain when I'm not using RCS or looking at them through the editor. This persists across game restarts as well. Anyone seen this problem before and have a solution? I've been working on this for a while and haven't come up with anything. Thanks.  https://imgur.com/a/RrvkK5Z

 

Link to comment
Share on other sites

3 hours ago, Serpatron said:

Hey all, I'm having some issues with creating an RCS plume for this shuttle mod. I'm able to get the plumes working all right, but after I complete the plumes and get them how I want, they remain when I'm not using RCS or looking at them through the editor. This persists across game restarts as well. Anyone seen this problem before and have a solution? I've been working on this for a while and haven't come up with anything. Thanks.  https://imgur.com/a/RrvkK5Z

 

Did you create these effects from scratch? Sounds like you forgot to add a brightness controller linked to the throttle.

Link to comment
Share on other sites

Some more previews this time of hypergolic vacuum plumes. All work in progress still of course. The colours in these are a bit evocative and not strictly realistic. IRL these would be practically invisible in vacuum.

White plume for Mixed Oxides of Nitrogen+ Monomethyl Hydrazine or Inhibited White Fuming Nitiric Acid + UDMH.

screenshot23.png?width=779&height=775

For Inhibited Red Fuming Nitric Acid + Unsymmetrical Dimethyl Hydrazine (UDMH)

screenshot22.png?width=824&height=775

For High Density (red fuming) Acid and UDMH

screenshot24.png?width=755&height=776

For Aerozine50 + Nitrogen Tetroxide (NTO)

screenshot31.png?width=608&height=775

This last one is more of a draft than the others. Need to differentiate between this and a UDMH+NTO plume which isnt needed for BDB but I thought I would make for Waterfall anyway.

The gif compression is pretty bad :P Also worth noting that due to the extensive use of the dynamic shader, you do get that black hole in the center. The engines they are being applied to when actually running will have a white hot emissive on the inside which will disguise that but if you want to use these on something that doest have an appropriate emissive it would be advisable to drop a small particle effect "flare" or find another way to disguise it. (or modify the template with an additional custom effect).

GIF_11-02-2021_00-48-50.gif

 

Link to comment
Share on other sites

12 minutes ago, Nertea said:

Also helpful to post the actual config here.

You are absolutely right. 

@PART[benjee10_shuttle_forwardFuselage]:FINAL {
	!EFFECTS {}
    EFFECTS 
    {
        running
		{
			AUDIO_MULTI_POOL
			{
				channel = Ship
				transformName = RCS_Y
				clip = sound_rocket_hard
				volume = 0.0 0.0
				volume = 0.1 0.0
				volume = 0.5 0.5
				volume = 1.0 0.5
				pitch = 0.0 0.75
				pitch = 1.0 1.5
			loop = true
			}
        }
    }	
   MODULE
{
	name = ModuleWaterfallFX
	engineID = basicEngine
	CONTROLLER
	{
		name = atmosphereDepth
		linkedTo = atmosphere_density
	}
	CONTROLLER
	{
		name = rcs
		linkedTo = rcs
	}
	EFFECT
	{
		name = rcsPlume
		parentName = RCS_Y
		MODEL
		{
			path = Waterfall/FX/fx-cylinder
			positionOffset = 0,0,0
			rotationOffset = 0,0,0
			scaleOffset = 0.699999988,-4,0.699999988
			MATERIAL
			{
				transform = Cylinder
				shader = Waterfall/Additive (Dynamic)
				TEXTURE
				{
					textureSlotName = _MainTex
					texturePath = Waterfall/FX/fx-alpha-noise-1
					textureScale = 1,1
					textureOffset = 0,0
				}
				COLOR
				{
					colorName = _StartTint
					colorValue = 1,1,1,1
				}
				COLOR
				{
					colorName = _EndTint
					colorValue = 1,1,1,1
				}
				FLOAT
				{
					floatName = _TintFalloff
					value = 0.570278525
				}
				FLOAT
				{
					floatName = _Falloff
					value = 6.56222725
				}
				FLOAT
				{
					floatName = _Fresnel
					value = 2.12333012
				}
				FLOAT
				{
					floatName = _FresnelInvert
					value = 0
				}
				FLOAT
				{
					floatName = _Noise
					value = 2.50249624
				}
				FLOAT
				{
					floatName = _Brightness
					value = 1
				}
				FLOAT
				{
					floatName = _FadeIn
					value = 0
				}
				FLOAT
				{
					floatName = _FadeOut
					value = 1.5
				}
				FLOAT
				{
					floatName = _SpeedX
					value = 15.1666441
				}
				FLOAT
				{
					floatName = _SpeedY
					value = 75.8332214
				}
				FLOAT
				{
					floatName = _TileX
					value = 2
				}
				FLOAT
				{
					floatName = _TileY
					value = 1
				}
				FLOAT
				{
					floatName = _ExpandOffset
					value = -0.970000029
				}
				FLOAT
				{
					floatName = _ExpandLinear
					value = 0.5
				}
				FLOAT
				{
					floatName = _ExpandSquare
					value = 0
				}
				FLOAT
				{
					floatName = _ExpandBounded
					value = 0.10111095
				}
			}
		}
		FLOATMODIFIER
		{
			name = newModifier
			controllerName = rcs
			transformName = Cylinder
			combinationType = REPLACE
			useRandomness = False
			randomnessController = random
			randomnessScale = 1
			floatName = _Brightness
			floatCurve
			{
				key = 0.05 0 0 0
				key = 0.15 2 0 0
			}
		}
	}
	EFFECT
	{
		name = rcsPlume
		parentName = RCS_Z+
		MODEL
		{
			path = Waterfall/FX/fx-cylinder
			positionOffset = 0,0,0
			rotationOffset = 0,0,0
			scaleOffset = 0.699999988,-4,0.699999988
			MATERIAL
			{
				transform = Cylinder
				shader = Waterfall/Additive (Dynamic)
				TEXTURE
				{
					textureSlotName = _MainTex
					texturePath = Waterfall/FX/fx-alpha-noise-1
					textureScale = 1,1
					textureOffset = 0,0
				}
				COLOR
				{
					colorName = _StartTint
					colorValue = 1,1,1,1
				}
				COLOR
				{
					colorName = _EndTint
					colorValue = 1,1,1,1
				}
				FLOAT
				{
					floatName = _TintFalloff
					value = 0.570278525
				}
				FLOAT
				{
					floatName = _Falloff
					value = 6.56222725
				}
				FLOAT
				{
					floatName = _Fresnel
					value = 2.12333012
				}
				FLOAT
				{
					floatName = _FresnelInvert
					value = 0
				}
				FLOAT
				{
					floatName = _Noise
					value = 2.50249624
				}
				FLOAT
				{
					floatName = _Brightness
					value = 1
				}
				FLOAT
				{
					floatName = _FadeIn
					value = 0
				}
				FLOAT
				{
					floatName = _FadeOut
					value = 1.5
				}
				FLOAT
				{
					floatName = _SpeedX
					value = 15.1666441
				}
				FLOAT
				{
					floatName = _SpeedY
					value = 75.8332214
				}
				FLOAT
				{
					floatName = _TileX
					value = 2
				}
				FLOAT
				{
					floatName = _TileY
					value = 1
				}
				FLOAT
				{
					floatName = _ExpandOffset
					value = -0.970000029
				}
				FLOAT
				{
					floatName = _ExpandLinear
					value = 0.5
				}
				FLOAT
				{
					floatName = _ExpandSquare
					value = 0
				}
				FLOAT
				{
					floatName = _ExpandBounded
					value = 0.10111095
				}
			}
		}
		FLOATMODIFIER
		{
			name = newModifier
			controllerName = rcs
			transformName = Cylinder
			combinationType = REPLACE
			useRandomness = False
			randomnessController = random
			randomnessScale = 1
			floatName = _Brightness
			floatCurve
			{
				key = 0.05 0 0 0
				key = 0.15 2 0 0
			}
		}
	}
	EFFECT
	{
		name = rcsPlume
		parentName = RCS_Z-
		MODEL
		{
			path = Waterfall/FX/fx-cylinder
			positionOffset = 0,0,0
			rotationOffset = 0,0,0
			scaleOffset = 0.699999988,-4,0.699999988
			MATERIAL
			{
				transform = Cylinder
				shader = Waterfall/Additive (Dynamic)
				TEXTURE
				{
					textureSlotName = _MainTex
					texturePath = Waterfall/FX/fx-alpha-noise-1
					textureScale = 1,1
					textureOffset = 0,0
				}
				COLOR
				{
					colorName = _StartTint
					colorValue = 1,1,1,1
				}
				COLOR
				{
					colorName = _EndTint
					colorValue = 1,1,1,1
				}
				FLOAT
				{
					floatName = _TintFalloff
					value = 0.570278525
				}
				FLOAT
				{
					floatName = _Falloff
					value = 6.56222725
				}
				FLOAT
				{
					floatName = _Fresnel
					value = 2.12333012
				}
				FLOAT
				{
					floatName = _FresnelInvert
					value = 0
				}
				FLOAT
				{
					floatName = _Noise
					value = 2.50249624
				}
				FLOAT
				{
					floatName = _Brightness
					value = 1
				}
				FLOAT
				{
					floatName = _FadeIn
					value = 0
				}
				FLOAT
				{
					floatName = _FadeOut
					value = 1.5
				}
				FLOAT
				{
					floatName = _SpeedX
					value = 15.1666441
				}
				FLOAT
				{
					floatName = _SpeedY
					value = 75.8332214
				}
				FLOAT
				{
					floatName = _TileX
					value = 2
				}
				FLOAT
				{
					floatName = _TileY
					value = 1
				}
				FLOAT
				{
					floatName = _ExpandOffset
					value = -0.970000029
				}
				FLOAT
				{
					floatName = _ExpandLinear
					value = 0.5
				}
				FLOAT
				{
					floatName = _ExpandSquare
					value = 0
				}
				FLOAT
				{
					floatName = _ExpandBounded
					value = 0.10111095
				}
			}
		}
		FLOATMODIFIER
		{
			name = newModifier
			controllerName = rcs
			transformName = Cylinder
			combinationType = REPLACE
			useRandomness = False
			randomnessController = random
			randomnessScale = 1
			floatName = _Brightness
			floatCurve
			{
				key = 0.05 0 0 0
				key = 0.15 2 0 0
			}
		}
	}
	EFFECT
	{
		name = rcsPlume
		parentName = RCS_X
		MODEL
		{
			path = Waterfall/FX/fx-cylinder
			positionOffset = 0,0,0
			rotationOffset = 0,0,0
			scaleOffset = 0.699999988,-4,0.699999988
			MATERIAL
			{
				transform = Cylinder
				shader = Waterfall/Additive (Dynamic)
				TEXTURE
				{
					textureSlotName = _MainTex
					texturePath = Waterfall/FX/fx-alpha-noise-1
					textureScale = 1,1
					textureOffset = 0,0
				}
				COLOR
				{
					colorName = _StartTint
					colorValue = 1,1,1,1
				}
				COLOR
				{
					colorName = _EndTint
					colorValue = 1,1,1,1
				}
				FLOAT
				{
					floatName = _TintFalloff
					value = 0.570278525
				}
				FLOAT
				{
					floatName = _Falloff
					value = 6.56222725
				}
				FLOAT
				{
					floatName = _Fresnel
					value = 2.12333012
				}
				FLOAT
				{
					floatName = _FresnelInvert
					value = 0
				}
				FLOAT
				{
					floatName = _Noise
					value = 2.50249624
				}
				FLOAT
				{
					floatName = _Brightness
					value = 1
				}
				FLOAT
				{
					floatName = _FadeIn
					value = 0
				}
				FLOAT
				{
					floatName = _FadeOut
					value = 1.5
				}
				FLOAT
				{
					floatName = _SpeedX
					value = 15.1666441
				}
				FLOAT
				{
					floatName = _SpeedY
					value = 75.8332214
				}
				FLOAT
				{
					floatName = _TileX
					value = 2
				}
				FLOAT
				{
					floatName = _TileY
					value = 1
				}
				FLOAT
				{
					floatName = _ExpandOffset
					value = -0.970000029
				}
				FLOAT
				{
					floatName = _ExpandLinear
					value = 0.5
				}
				FLOAT
				{
					floatName = _ExpandSquare
					value = 0
				}
				FLOAT
				{
					floatName = _ExpandBounded
					value = 0.10111095
				}
			}
		}
		FLOATMODIFIER
		{
			name = newModifier
			controllerName = rcs
			transformName = Cylinder
			combinationType = REPLACE
			useRandomness = False
			randomnessController = random
			randomnessScale = 1
			floatName = _Brightness
			floatCurve
			{
				key = 0.05 0 0 0
				key = 0.15 2 0 0
			}
		}
	}
}

 

Link to comment
Share on other sites

1 hour ago, Zorg said:

Some more previews this time of hypergolic vacuum plumes. All work in progress still of course. The colours in these are a bit evocative and not strictly realistic. IRL these would be practically invisible in vacuum.

wow these look nice. I might "steal" some from the github lol.

10 hours ago, Serpatron said:

Hey all, I'm having some issues with creating an RCS plume for this shuttle mod. I'm able to get the plumes working all right, but after I complete the plumes and get them how I want, they remain when I'm not using RCS or looking at them through the editor. This persists across game restarts as well. Anyone seen this problem before and have a solution? I've been working on this for a while and haven't come up with anything. Thanks.  https://imgur.com/a/RrvkK5Z

 

If I see that correctly in the config, you use:

56 minutes ago, Serpatron said:

engineID = basicEngine

but the engineID can vary depending on the engine. just check in the original part file for the engineID in the ModuleEnginesFX module.
Not sure if this is the cause of your issue though.

And for another update on my work:
I've made a vacuum methalox plume for the poodle and terrier:

Webp.net-gifmaker_5.gif

It might still be a bit too purple though heh.
We went for a methalox plume here because we want to make the cheetah and wolfhound hydrolox engines (because they are even better isp-wise)

Edited by Knight of St John
Link to comment
Share on other sites

12 minutes ago, EnderKid2 said:

Looking cool. I assume these can be slapped onto the Restock versions of the engines too.

They can yes, but you'll have to mess around with the relative scales and positions a bit to make them fit well.

 

Also, I have an issue/question.
The 2 variants of the poodles don't position the plumes on the exact same spot relative to the engine bells.
this means i would have to move the plume up a little to make it fit on the 2-engine-bell-variant:
unknown.png
But as far as I know, this is not possible, as you can't configure different template positions for different variants of the same engine?

Link to comment
Share on other sites

4 hours ago, Knight of St John said:

If I see that correctly in the config, you use:

but the engineID can vary depending on the engine. just check in the original part file for the engineID in the ModuleEnginesFX module.
Not sure if this is the cause of your issue though.

 

I appreciate the suggestion. I changed the engineID to rcsFX which neither improved nor worsened this issue, so it doesn't appear that is has anything to do with it. I'll keep the new one there though since it doesn't seem to have any negative effects. Thanks!

I've found that removing all the other RCS configs but the initial Y config eliminates the problem (obviously) and duplicating the functional Y config and inserting it (replacing the Y with whatever thruster) adds these 'stuck thrusters'. 

Edited by Serpatron
Link to comment
Share on other sites

5 hours ago, Serpatron said:

I've found that removing all the other RCS configs but the initial Y config eliminates the problem (obviously) and duplicating the functional Y config and inserting it (replacing the Y with whatever thruster) adds these 'stuck thrusters'. 

I came here to post this and see that you came to the same conclusion. That part uses multiple RCS modules and Waterfall doesn't know how to tell them apart (and therefore which transforms to drive). I'm going to have to think a while on the solution to this. 

6 hours ago, Knight of St John said:

Also, I have an issue/question.
The 2 variants of the poodles don't position the plumes on the exact same spot relative to the engine bells.
this means i would have to move the plume up a little to make it fit on the 2-engine-bell-variant:

There isn't any way to support the stock variant system beyond handling the on/off state of various transforms (fun fact, stock FX can't do this either). The way to do it would be to attach the effect to a transform that doesn't exist in one of the versions (and vice versa). You then configure two effects. 

6 hours ago, Knight of St John said:

We went for a methalox plume here because we want to make the cheetah and wolfhound hydrolox engines (because they are even better isp-wise)

It's really nice! Again, if you want to upstream these as templates into the mod we can work out a good system for this. 

7 hours ago, PocketBrotector said:

I've noticed that the Waterfall RCS effects for the Pandora from Near Future Spacecraft don't work most of the time. I think that they work when the craft is first launched, but not when I switch back to a craft in flight? Here's a log if that's helpful.

Tracking this down was hard but I think I've fixed it.  

 

 

Link to comment
Share on other sites

45 minutes ago, Nertea said:

I came here to post this and see that you came to the same conclusion. That part uses multiple RCS modules and Waterfall doesn't know how to tell them apart (and therefore which transforms to drive). I'm going to have to think a while on the solution to this. 

'Preciate it!! 

Link to comment
Share on other sites

9 minutes ago, AlpacaMall said:

If I were to download this mod, would I have to configure my own effects for every single engine, or are there already config packs that I can drag-and-drop into my stock-engine game? I have no clue what actual engine exhaust even looks like, so that's a huge issue for me.

there are some packs people are making. If you get Restock (which replaces the stock parts with better models), there is a config for most of the engines. some people are also making packs for the bare stock engines.

I recommend getting Restock in any case, it makes your craft look much better.

Edited by EnderKid2
Link to comment
Share on other sites

9 hours ago, Knight of St John said:

We went for a methalox plume here because we want to make the cheetah and wolfhound hydrolox engines (because they are even better isp-wise)

Gorgeous plumes!

Not to nitpick, but aren't the Cheetah and Wolfhound based on Aerozine 50/N0engines? Are you basing the engine plumes off of the engine's specific impulse instead of their historical inspiration? (if so, what you're doing probably makes more sense :P)

Edited by RealKerbal3x
Link to comment
Share on other sites

Speaking of Aerozine the sea level AZ50/NTO plume is now getting to a place where I am almost entirely happy with it. This is the basis I intend to use for other hypergolic combos through simple recolouring as well as Keroxide, Alcolox etc. 

 

Link to comment
Share on other sites

4 hours ago, RealKerbal3x said:

Not to nitpick, but aren't the Cheetah and Wolfhound based on Aerozine 50/N0engines? Are you basing the engine plumes off of the engine's specific impulse instead of their historical inspiration? (if so, what you're doing probably makes more sense :P)

Aha I see now. Yea, I basically looked at the ISP's and matched them with a propellant that makes sense.
But switching to a different fuel just means messing around with the colors a bit :-) And I think I might actually do that.
From what I can find on the interwebs, the Aerozine plume looks clear/white to red-ish at sea level, but clear/white/slightly blue in vacuum.
 

1 hour ago, Zorg said:

Speaking of Aerozine the sea level AZ50/NTO plume is now getting to a place where I am almost entirely happy with it. This is the basis I intend to use for other hypergolic combos through simple recolouring as well as Keroxide, Alcolox etc. 

I especially like your vacuum plume. It looks very realistic, much more so than my versions. I gotta check out how you configured that.

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