Jump to content

How would I go about creating a custom plume for Waterfall?


Recommended Posts

Note: This is my first KSP forums post, so I hope it's alright and in the right category. :)

So I've been trying to remake the "Nerv" atomic engine as it seems a bit boring. I've edited the title, description, and manufacturer successfully, but I can't seem to figure out how to create a custom plume with the mod Waterfall (undoubtedly one of the best KSP mods.) I know how to use the in-game editor and have created quite a nice plume with it, but I do not know how to export the plume and have it be applied to the Nerv engine. I did try and follow Nertea's documentation of the mod here, but the instructions on how to create a template and use it were quite vague.

(I clicked "Generate template from and copy to clipboard AND gave the template a name. I also have Waterfall Restock and StockWaterfallEffects installed, but I'm not sure if those interfere.)

image.png

Next, I created a .cfg file, as the documentation says, in my GameData > Waterfall > Templates called "waterfall-fusion", and pasted my copied template in there (it's quite long, so you might not want to read it. ;))

Spoiler

EFFECTTEMPLATE
{
    templateName = Atomic
    EFFECT
    {
        name = outerGlow
        parentName = thrustTransform
        MODEL
        {
            path = Waterfall/FX/fx-simple-plume-1
            positionOffset = 0,0,0.860000014
            rotationOffset = -90,0,0
            scaleOffset = 1,1,1
            MATERIAL
            {
                transform = CylinderMesh
                shader = Waterfall/Additive Directional
                randomizeSeed = True
                TEXTURE
                {
                    textureSlotName = _MainTex
                    texturePath = Waterfall/FX/fx-noise-1
                    textureScale = 1,1
                    textureOffset = 0,0
                }
                COLOR
                {
                    colorName = _StartTint
                    colorValue = 0.0235293955,0.411764711,0.913725495,1
                }
                COLOR
                {
                    colorName = _EndTint
                    colorValue = 1,0.400000006,0.860000014,0
                }
                FLOAT
                {
                    floatName = _TintFalloff
                    value = 1
                }
                FLOAT
                {
                    floatName = _Falloff
                    value = 0.927779496
                }
                FLOAT
                {
                    floatName = _Fresnel
                    value = 0.84093684
                }
                FLOAT
                {
                    floatName = _FresnelInvert
                    value = 0.0199999902
                }
                FLOAT
                {
                    floatName = _Noise
                    value = 3.51666427
                }
                FLOAT
                {
                    floatName = _Brightness
                    value = 0.49000001
                }
                FLOAT
                {
                    floatName = _SpeedX
                    value = 0
                }
                FLOAT
                {
                    floatName = _SpeedY
                    value = 200
                }
                FLOAT
                {
                    floatName = _TileX
                    value = 1
                }
                FLOAT
                {
                    floatName = _TileY
                    value = 2
                }
                FLOAT
                {
                    floatName = _DirAdjust
                    value = 0.697166324
                }
            }
            MATERIAL
            {
                transform = PlaneMesh
                shader = Waterfall/Additive
                randomizeSeed = True
                TEXTURE
                {
                    textureSlotName = _MainTex
                    texturePath = Waterfall/FX/fx-noise-1
                    textureScale = 1,1
                    textureOffset = 0,0
                }
                COLOR
                {
                    colorName = _EndTint
                    colorValue = 0.933333337,0.807843149,0.807843149,1
                }
                COLOR
                {
                    colorName = _StartTint
                    colorValue = 1,0.600000024,0.826920629,1
                }
                FLOAT
                {
                    floatName = _TintFalloff
                    value = 0.266945571
                }
                FLOAT
                {
                    floatName = _Falloff
                    value = 7.41555357
                }
                FLOAT
                {
                    floatName = _Fresnel
                    value = 8.39713669
                }
                FLOAT
                {
                    floatName = _FresnelInvert
                    value = 0
                }
                FLOAT
                {
                    floatName = _Noise
                    value = 0.400000006
                }
                FLOAT
                {
                    floatName = _Brightness
                    value = 1
                }
                FLOAT
                {
                    floatName = _SpeedX
                    value = 0
                }
                FLOAT
                {
                    floatName = _SpeedY
                    value = 50
                }
                FLOAT
                {
                    floatName = _TileX
                    value = 1
                }
                FLOAT
                {
                    floatName = _TileY
                    value = 3
                }
            }
        }
        POSITIONMODIFIER
        {
            name = aTailPos
            controllerName = throttle
            transformName = B_Tail
            combinationType = REPLACE
            useRandomness = True
            randomnessController = random
            randomnessScale = 15
            xCurve
            {
            }
            yCurve
            {
                key = 0 -20 0 0
                key = 1 -20 0 0
            }
            zCurve
            {
            }
        }
        SCALEMODIFIER
        {
            name = tExitScale
            controllerName = throttle
            transformName = B_Exit
            combinationType = REPLACE
            useRandomness = False
            randomnessController = random
            randomnessScale = 1
            xCurve
            {
                key = 0 0.7 0 0
            }
            yCurve
            {
            }
            zCurve
            {
                key = 0 0.7 0 0
            }
        }
        SCALEMODIFIER
        {
            name = aTailScale
            controllerName = atmosphereDepth
            transformName = B_Tail
            combinationType = REPLACE
            useRandomness = True
            randomnessController = random
            randomnessScale = 0.100000001
            xCurve
            {
                key = 0 3 0 0
                key = 1 0.2 0 0
            }
            yCurve
            {
                key = 0 3 0 0
            }
            zCurve
            {
                key = 0 3 0 0
                key = 1 0.2 0 0
            }
        }
        SCALEMODIFIER
        {
            name = throat
            controllerName = throttle
            transformName = B_Throat
            combinationType = REPLACE
            useRandomness = False
            randomnessController = random
            randomnessScale = 1
            xCurve
            {
            }
            yCurve
            {
            }
            zCurve
            {
            }
        }
        COLORMODIFIER
        {
            name = aColor
            controllerName = atmosphereDepth
            transformName = CylinderMesh
            combinationType = REPLACE
            useRandomness = False
            randomnessController = random
            randomnessScale = 1
            colorName = _EndTint
            rCurve
            {
                key = 0 1 0 0
                key = 1 1 0 0
            }
            gCurve
            {
                key = 0 1 0 0
                key = 1 0.4 0 0
            }
            bCurve
            {
                key = 0 1 0 0
                key = 1 0.86 0 0
            }
            aCurve
            {
            }
        }
        FLOATMODIFIER
        {
            name = tBrightness
            controllerName = throttle
            transformName = CylinderMesh
            combinationType = REPLACE
            useRandomness = False
            randomnessController = random
            randomnessScale = 1
            floatName = _Brightness
            floatCurve
            {
                key = 0 0 0 0
                key = 1 0.7 0 0
            }
        }
        FLOATMODIFIER
        {
            name = aBrightness
            controllerName = atmosphereDepth
            transformName = CylinderMesh
            combinationType = MULTIPLY
            useRandomness = False
            randomnessController = random
            randomnessScale = 1
            floatName = _Brightness
            floatCurve
            {
                key = 0 0.2 0 0
                key = 1 0.5 0 0
            }
        }
        FLOATMODIFIER
        {
            name = tBrightnessFlat
            controllerName = throttle
            transformName = PlaneMesh
            combinationType = REPLACE
            useRandomness = False
            randomnessController = random
            randomnessScale = 1
            floatName = _Brightness
            floatCurve
            {
                key = 0 0 0 0
                key = 1 0.8 0 0
            }
        }
    }
    EFFECT
    {
        name = innerGlow
        parentName = thrustTransform
        MODEL
        {
            path = Waterfall/FX/fx-simple-plume-1
            positionOffset = 0,0,0.860000014
            rotationOffset = -90,1,0
            scaleOffset = 1,1,1
            MATERIAL
            {
                transform = CylinderMesh
                shader = Waterfall/Additive
                randomizeSeed = True
                TEXTURE
                {
                    textureSlotName = _MainTex
                    texturePath = Waterfall/FX/fx-noise-1
                    textureScale = 1,1
                    textureOffset = 0,0
                }
                COLOR
                {
                    colorName = _StartTint
                    colorValue = 0.0431372263,0.690196037,0.980392158,1
                }
                COLOR
                {
                    colorName = _EndTint
                    colorValue = 0.619607806,0.0392156579,0.874509811,1
                }
                FLOAT
                {
                    floatName = _TintFalloff
                    value = 0.620833933
                }
                FLOAT
                {
                    floatName = _Falloff
                    value = 0.573891103
                }
                FLOAT
                {
                    floatName = _Fresnel
                    value = 0
                }
                FLOAT
                {
                    floatName = _FresnelInvert
                    value = 0
                }
                FLOAT
                {
                    floatName = _Noise
                    value = 2
                }
                FLOAT
                {
                    floatName = _Brightness
                    value = 0.209341899
                }
                FLOAT
                {
                    floatName = _SpeedX
                    value = 0
                }
                FLOAT
                {
                    floatName = _SpeedY
                    value = 100
                }
                FLOAT
                {
                    floatName = _TileX
                    value = 1
                }
                FLOAT
                {
                    floatName = _TileY
                    value = 2
                }
            }
            MATERIAL
            {
                transform = PlaneMesh
                shader = Waterfall/Additive
                randomizeSeed = True
                TEXTURE
                {
                    textureSlotName = _MainTex
                    texturePath = Waterfall/FX/fx-noise-1
                    textureScale = 1,1
                    textureOffset = 0,0
                }
                COLOR
                {
                    colorName = _EndTint
                    colorValue = 0.913725495,0.70588237,0.70588237,1
                }
                COLOR
                {
                    colorName = _StartTint
                    colorValue = 0.835294127,0.333333343,0.333333343,1
                }
                FLOAT
                {
                    floatName = _TintFalloff
                    value = 1
                }
                FLOAT
                {
                    floatName = _Falloff
                    value = 7.87055254
                }
                FLOAT
                {
                    floatName = _Fresnel
                    value = 8
                }
                FLOAT
                {
                    floatName = _FresnelInvert
                    value = 0
                }
                FLOAT
                {
                    floatName = _Noise
                    value = 0.400000006
                }
                FLOAT
                {
                    floatName = _Brightness
                    value = 1
                }
                FLOAT
                {
                    floatName = _SpeedX
                    value = 0
                }
                FLOAT
                {
                    floatName = _SpeedY
                    value = 50
                }
                FLOAT
                {
                    floatName = _TileX
                    value = 1
                }
                FLOAT
                {
                    floatName = _TileY
                    value = 3
                }
            }
        }
        POSITIONMODIFIER
        {
            name = aTailPos
            controllerName = throttle
            transformName = B_Tail
            combinationType = REPLACE
            useRandomness = True
            randomnessController = random
            randomnessScale = 15
            xCurve
            {
            }
            yCurve
            {
                key = 0 -10 0 0
                key = 1 -25 0 0
            }
            zCurve
            {
            }
        }
        SCALEMODIFIER
        {
            name = tExitScale
            controllerName = throttle
            transformName = B_Exit
            combinationType = REPLACE
            useRandomness = False
            randomnessController = random
            randomnessScale = 1
            xCurve
            {
                key = 0 0.7 0 0
            }
            yCurve
            {
            }
            zCurve
            {
                key = 0 0.7 0 0
            }
        }
        SCALEMODIFIER
        {
            name = aTailScale
            controllerName = atmosphereDepth
            transformName = B_Tail
            combinationType = REPLACE
            useRandomness = True
            randomnessController = random
            randomnessScale = 0.100000001
            xCurve
            {
                key = 0 12 0 0
                key = 1 3 0 0
            }
            yCurve
            {
                key = 0 3 0 0
            }
            zCurve
            {
                key = 0 12 0 0
                key = 1 3 0 0
            }
        }
        SCALEMODIFIER
        {
            name = throat
            controllerName = throttle
            transformName = B_Throat
            combinationType = REPLACE
            useRandomness = False
            randomnessController = random
            randomnessScale = 1
            xCurve
            {
            }
            yCurve
            {
            }
            zCurve
            {
            }
        }
        FLOATMODIFIER
        {
            name = tBrightness
            controllerName = throttle
            transformName = CylinderMesh
            combinationType = REPLACE
            useRandomness = False
            randomnessController = random
            randomnessScale = 1
            floatName = _Brightness
            floatCurve
            {
                key = 0 0 0 0
                key = 1 0.3 0 0
            }
        }
        FLOATMODIFIER
        {
            name = aBrightness
            controllerName = atmosphereDepth
            transformName = CylinderMesh
            combinationType = MULTIPLY
            useRandomness = False
            randomnessController = random
            randomnessScale = 1
            floatName = _Brightness
            floatCurve
            {
                key = 0 0.3 0 0
                key = 1 0.4 0 0
            }
        }
        FLOATMODIFIER
        {
            name = tBrightnessFlat
            controllerName = throttle
            transformName = PlaneMesh
            combinationType = REPLACE
            useRandomness = False
            randomnessController = random
            randomnessScale = 1
            floatName = _Brightness
            floatCurve
            {
                key = 0 0 0 0
                key = 1 0.8 0 0
            }
        }
    }
}

Then, I pasted the .cfg file name into GameData > StockWaterfallEffects > Engine Configs > Nerv, as shown here:

image.png

Hopefully this was enough information for some to (maybe) help solve my problem, if you can that would be great! Thanks!

Link to comment
Share on other sites

I don't know much about Waterfall. What I see is that the template is called "Atomic" while the engine config refers to "waterfall-fusion". Try changing the latter to "Atomic", maybe.
.cfg file names don't mean much, their content defines what is available.

Link to comment
Share on other sites

4 hours ago, HansAcker said:

 Try changing the latter to "Atomic", maybe.

Thanks for the help, but unfortunately that did not work. I did use "waterfall-fusion" in the first place because the old templateName contained the name of the .cfg file of the Nerv plume. I might try replacing the Nerv file's contents with my own.

Link to comment
Share on other sites

  • 11 months later...
This thread is quite old. Please consider starting a new thread rather than reviving this one.

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