rsparkyc

[1.5.0] Procedural Fairings 1.5.0.5 (2018/10/18)

Recommended Posts

I have problems with the stock fairings like some other people have mentioned here. The 1.25m ones have been changed to work the same way the PF ones do (why when there is already a 1.25 PF base plate?) and the 2.5m one and 3.75 one are just gone completely. 1.87m and 5m ones still work as normal.(I assume its because these got added to the game relatively recently? but idk)  Any advice? I like PF a lot but for in-line fairings i want to use the stock ones. PF is kind of a pain to get right when using in-line fairings.

 

Thanks, great mod though

Share this post


Link to post
Share on other sites

Those of y'all who are unable to access the stock fairings - the AF-FF-PF fairing is intended to replace all of the stock fairings; this is deliberate behavior, not a bug.

Spoiler

That said, you *can* work around this and get Procedural Fairings to operate similarly to how the mod behaved in the past. All you need to do is go into your KSP/GameData/ProceduralFairings/Config directory and remove the file PF_Squad_Config.cfg. Caveat: you will lose access to the AF-FF-PF fairing if you do this (i.e. make sure you've got your save files backed up before you go futzing about and don't delete the file completely in case doing so borks something up), but the stock fairings will be restored and all of the other Procedural Fairings parts will still work normally. I'd suggest this only to those of us, like myself, who made heavy use of a mix of stock and Procedural Fairings in the past and have copied our designs from past versions of the game.

 

  • Like 1

Share this post


Link to post
Share on other sites

I'm also getting heat on my landing legs inside the fairings

Share this post


Link to post
Share on other sites
3 hours ago, capi3101 said:

Those of y'all who are unable to access the stock fairings - the AF-FF-PF fairing is intended to replace all of the stock fairings; this is deliberate behavior, not a bug.

  Reveal hidden contents

That said, you *can* work around this and get Procedural Fairings to operate similarly to how the mod behaved in the past. All you need to do is go into your KSP/GameData/ProceduralFairings/Config directory and remove the file PF_Squad_Config.cfg. Caveat: you will lose access to the AF-FF-PF fairing if you do this (i.e. make sure you've got your save files backed up before you go futzing about and don't delete the file completely in case doing so borks something up), but the stock fairings will be restored and all of the other Procedural Fairings parts will still work normally. I'd suggest this only to those of us, like myself, who made heavy use of a mix of stock and Procedural Fairings in the past and have copied our designs from past versions of the game.

 

Honestly, I feel like that's a mis-feature personally, and auto-remove that config file.

  • Like 1

Share this post


Link to post
Share on other sites
Picture
Hi, 

I have a problem with a fairing shaped as on the picture above. On the ground it behaves properly. In space however it seems like ejection force is gone and only ejection torque remains. Slimmer fairings work OK. I never had any problems with procedural fairings. It so happens that I installed Principia mod recently. Could it be Principia causing this?

EDIT: so it seems that reducing size (diameter) of this particular fairing to 1.25 makes ejection force to work in space again. Anything larger and ejection force is gone.

EDIT 2: actually it seems ejection force is gone the moment a rockets leaves the pad.  

EDIT 3: and with Principia removed ejection force works as intended again. So it is Principia after all. Principia is mostly .dll files so it will be hard to figure out why does this happen I guess?

Edited by JebIsDeadBaby

Share this post


Link to post
Share on other sites

The stuck-on-launch-pad-when using-any-autostrut-issue still persists as it seems ...

Fun fact, I was able to use autostruts in a previous career with same and previous PF builds ... so dunno, Unity engine!

Share this post


Link to post
Share on other sites

When will this be updated for 1.5.0?

Oh wait, just now :)

  • Like 3

Share this post


Link to post
Share on other sites

Thanks.

I still wonder why there are

  1. the referenced textures in
    GameData\ProceduralFairings\Textures\fairing.dds
    GameData\ProceduralFairings\Textures\fairing_NRM.dds
  2. and the not referenced and different, 136 bytes non-detail textures still in
    GameData\ProceduralFairings\Parts\fairing.dds
    GameData\ProceduralFairings\Parts\fairing_NRM.dds

I already asked this question months ago
:sticktongue:

Share this post


Link to post
Share on other sites
1 hour ago, Gordon Dry said:

Thanks.

I still wonder why there are

  1. the referenced textures in
    GameData\ProceduralFairings\Textures\fairing.dds
    GameData\ProceduralFairings\Textures\fairing_NRM.dds
  2. and the not referenced and different, 136 bytes non-detail textures still in
    GameData\ProceduralFairings\Parts\fairing.dds
    GameData\ProceduralFairings\Parts\fairing_NRM.dds

I already asked this question months ago
:sticktongue:

I'm not sure.  I'm just trying to maintain this mod, and don't really have much experience with the texture aspect of it (I'm mainly just a code guy).  I'd love it if you wanted to play around with that folder structure and offer up a PR to fix it :)

Also, I can't seem to find the post where you asked about that.  I was hoping to get a bit more context around the issue.

Edited by rsparkyc

Share this post


Link to post
Share on other sites
3 hours ago, Gordon Dry said:

I already asked this question months ago

These small textures are required by KSP in order to be able to reference the main fairing textures that reside in a different directory. And if you take a look at the fairing sides configs you will see that they are referenced.

If you need answers for any further question about PF then just ping me.

Share this post


Link to post
Share on other sites
20 minutes ago, Phineas Freak said:

see that they are referenced

Not on my end - only the model is referenced inside the Parts folder.

Share this post


Link to post
Share on other sites

This is how both the fairing side model, texture reference and actual texture file are set up: https://github.com/rsparkyc/ProceduralFairings/blob/master/GameData/ProceduralFairings/Parts/fairing_side_A.cfg#L9-L11

But anyway, these small textures are required for the correct operation of the fairing sides and this is how KSP has been referencing textures for a long time. No reason to drag it even further.

Edit: and what the actual issue/problem is here?

Edited by Phineas Freak

Share this post


Link to post
Share on other sites

@Phineas Freak Well, okay then, I just thought these two files were obsolete remains because I never have seen this kinda stuff in other part packs.

Share this post


Link to post
Share on other sites

Not sure if this can be fixed, but it seems mechjeb (utility) and gravity turn cannot decouple procedural fairings automatically

Edited by ssd21345

Share this post


Link to post
Share on other sites

@ssd21345 PF uses a custom decoupler module for the fairing sides. It is up to the mod creators to check for the existence of such module. GravityTurn has no provisions for it while MJ supports it (if it does not work then i most probably broke the functionality while updating the fairing side code).

Very Late Edit: i just did some tests with just MJ and PF. The autostage option correctly discarded the fairing sides as expected.

Edited by Phineas Freak

Share this post


Link to post
Share on other sites
17 hours ago, Phineas Freak said:

@ssd21345 PF uses a custom decoupler module for the fairing sides. It is up to the mod creators to check for the existence of such module. GravityTurn has no provisions for it while MJ supports it (if it does not work then i most probably broke the functionality while updating the fairing side code).

Very Late Edit: i just did some tests with just MJ and PF. The autostage option correctly discarded the fairing sides as expected.

sounds like other mods conflicting with mechjeb. Sorry for bothering

Share this post


Link to post
Share on other sites
5 hours ago, ssd21345 said:

sounds like other mods conflicting with mechjeb

Yeah, same here. But whose? Thank to Unity the log is clear-as-fuq regarding this.

Edited by Gordon Dry

Share this post


Link to post
Share on other sites
15 hours ago, Gordon Dry said:

Yeah, same here. But whose? Thank to Unity the log is clear-as-fuq regarding this.

I reinstalled all mods and the problem disappeared when testing the same rocket. It seems some mod went wild or outdated.

Share this post


Link to post
Share on other sites

@rsparkyc

Here is a TexturesUnlimited patch if you want to include it.

Spoiler

KSP_MODEL_SHADER:NEEDS[TexturesUnlimited] {
	model = ProceduralFairings/Parts/base_ring
	model = ProceduralFairings/Parts/base_standard
	model = ProceduralFairings/Parts/thrust_plate

	MATERIAL {
		shader = TU/Metallic
		float = _Metal, 0.75
		float = _Smoothness, 0.75
	}
}

KSP_TEXTURE_SET:NEEDS[TexturesUnlimited] {
	name = ProceduralFairings_Recolor
	recolorable = true

	MATERIAL {
		shader = TU/Metallic
		keyword = TU_RECOLOR

		COLORS {
			mainColor = white
			secondaryColor = black
			detailColor = black
		}
	}
}

@PART[KzProcFairingSide*]:NEEDS[TexturesUnlimited] {
	@MODULE[ModulePartVariants] {
		VARIANT {
			name = TexturesUnlimited
			EXTRA_INFO {
				textureSet = ProceduralFairings_Recolor
			}
		}
	}
	MODULE {
		name = TUPartVariant
	}
	MODULE {
		name = SSTURecolorGUI
	}
}

 

It is for the 1.5 release of TU that is currently in dev.
[Edit]
Do not use this until TU has released for 1.5 unless you like to mess with in-dev builds for testing and such.

 

Recommendations for better appearance:

  • Split the fairing model into an inner and outer mesh so you can recolor the shell while keeping the interior the same.
  • Instead of having the base variant be the default, actually create a VARIANT for it and set baseVariant. This way you can recolor both variants.

Recommendations for better use:

  • When you first attach a base, have it auto-detect the bulkheadProfile of the part it is attached to and set itself to the same bulkheadProfile.
Edited by Electrocutor
  • Like 2

Share this post


Link to post
Share on other sites

@Electrocutor

I tried to implement that into my existing retexturing patch with stock texture switcher.

But it doesn't work, it only shows the default full metallic/specular variant and does not allow to recolor - the sliders change but the appearance doesn't change and always shows:
5DeCskS.png

It writes this to the log:

ERROR: Could not locate TextureSet from global cache for the input name of: 
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

Variant applied: TUrecolorable
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

EditorVariant applied: TUrecolorable
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

This is the relevant section of the config:

Spoiler

KSP_MODEL_SHADER:NEEDS[TexturesUnlimited]
{
	model = ProceduralFairings/Parts/base_ring
	model = ProceduralFairings/Parts/base_standard
	model = ProceduralFairings/Parts/thrust_plate

	MATERIAL
	{
		shader = TU/Metallic
		float = _Metal, 0.75
		float = _Smoothness, 0.75
	}
}

KSP_TEXTURE_SET:NEEDS[TexturesUnlimited]
{
	name = ProceduralFairings_Recolor
	recolorable = true

	MATERIAL
	{
		shader = TU/Metallic
		keyword = TU_RECOLOR_STANDARD

		COLORS
		{
			mainColor = white
			secondaryColor = black
			detailColor = black
		}
	}
}

@PART[KzProcFairingSide*]:AFTER[ProceduralFairingsRetext]
{
	!MODULE[FStextureSwitch2] { }
	-MODULE[ModulePartVariants] { }

	MODULE:NEEDS[TexturesUnlimited]
	{
		name = TUPartVariant
	}
	MODULE:NEEDS[TexturesUnlimited]
	{
		name = SSTURecolorGUI
	}

	MODULE
	{
		name = ModulePartVariants
		primaryColor = #d6d6d6
		secondaryColor = #bdbdbd
		baseDisplayName = Default

		VARIANT:NEEDS[TexturesUnlimited]
		{
			name = TUrecolorable
			displayName = Textures Unlimited
			primaryColor = #000000
			secondaryColor = #ffffff
			TEXTURE
			{
				mainTextureURL = ProceduralFairings/Textures/fairing
				_BumpMap = ProceduralFairings/Textures/fairing_NRM
			}
			EXTRA_INFO
			{
				textureSet = ProceduralFairings_Recolor
			}
		}
		VARIANT
		{
			name = Stock
			displayName = Stock
			primaryColor = #fcfcfc
			secondaryColor = #c6c4c6
			TEXTURE
			{
				mainTextureURL = ProceduralFairings/Textures/fairing
				_BumpMap = ProceduralFairings/Textures/fairing_NRM
			}
		}
		VARIANT
		{
			name = Black
			displayName = Black
			primaryColor = #313031
			secondaryColor = #4d4e4d
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/fairing1blk
				_BumpMap = ProceduralFairingsRetext/textures/TitanBumpNRM
			}
		}
		VARIANT
		{
			name = White
			displayName = White
			primaryColor = #f4f6f4
			secondaryColor = #d1d0d1
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/fairing1wht
				_BumpMap = ProceduralFairingsRetext/textures/TitanBumpNRM
			}
		}
		VARIANT
		{
			name = Gamma
			displayName = Gamma
			primaryColor = #ffffff
			secondaryColor = #fa4c37
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/GammaFairing
				_BumpMap = ProceduralFairingsRetext/textures/TitanBumpNRM
			}
		}
		VARIANT
		{
			name = Atlas
			displayName = Atlas
			primaryColor = #f2f2f4
			secondaryColor = #dedfe7
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/Atlas
				_BumpMap = ProceduralFairingsRetext/textures/AtlasBumpNRM
			}
		}
		VARIANT
		{
			name = Jupiter
			displayName = Jupiter
			primaryColor = #eff0f2
			secondaryColor = #1e1b18
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/Jupiter
				_BumpMap = ProceduralFairingsRetext/textures/JupiterBumpNRM
			}
		}
		VARIANT
		{
			name = KerbalX
			displayName = Kerbal X
			primaryColor = #eff0f2
			secondaryColor = #0e5286
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/KSLOKerbalXOriginal
				_BumpMap = ProceduralFairingsRetext/textures/KSLOBumpNRM
			}
		}
		VARIANT
		{
			name = PlainWhite
			displayName = Plain White
			primaryColor = #eff0f2
			secondaryColor = #eaf0f4
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/KSLOPlainWhite
				_BumpMap = ProceduralFairingsRetext/textures/KSLOBumpNRM
			}
		}
		VARIANT
		{
			name = UKA
			displayName = UKA
			primaryColor = #104470
			secondaryColor = #9c0808
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/KSLOSponsoredFairing
				_BumpMap = ProceduralFairingsRetext/textures/KSLOBumpNRM
			}
		}
		VARIANT
		{
			name = KW
			displayName = KW
			primaryColor = #f4f2f4
			secondaryColor = #dcdedc
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/KWFairing
				_BumpMap = ProceduralFairingsRetext/textures/KWFairingNRM
			}
		}
		VARIANT
		{
			name = LongMarch
			displayName = Long March
			primaryColor = #eff0f2
			secondaryColor = #1b2d76
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/LongMarch
				_BumpMap = ProceduralFairingsRetext/textures/LongMarchBumpNRM
			}
		}
		VARIANT
		{
			name = LongMarchCLEP
			displayName = Long March CLEP
			primaryColor = #e9e7e9
			secondaryColor = #003884
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/LongMarchCLEP
				_BumpMap = ProceduralFairingsRetext/textures/LongMarchBumpNRM
			}
		}
		VARIANT
		{
			name = LongMarchFlag
			displayName = Long March Flag
			primaryColor = #efebef
			secondaryColor = #ff0000
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/LongMarchFlag
				_BumpMap = ProceduralFairingsRetext/textures/LongMarchBumpNRM
			}
		}
		VARIANT
		{
			name = Titan
			displayName = Titan
			primaryColor = #efebef
			secondaryColor = #e1e3e1
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/Titan
				_BumpMap = ProceduralFairingsRetext/textures/TitanBumpNRM
			}
		}
		VARIANT
		{
			name = Soyuz
			displayName = Soyuz
			primaryColor = #e7e4e7
			secondaryColor = #c6c7c6
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/Soyuz
				_BumpMap = ProceduralFairingsRetext/textures/SoyuzBumpNRM
			}
		}
		VARIANT
		{
			name = Tskylon
			displayName = Tskylon
			primaryColor = #dbdade
			secondaryColor = #bb7437
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/Tskylon
				_BumpMap = ProceduralFairingsRetext/textures/TskylonBumpNRM
			}
		}
		VARIANT
		{
			name = SaturnNovaStringers
			displayName = Saturn/Nova Stringers
			primaryColor = #f2f2ef
			secondaryColor = #424142
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/SNstringerfairing
				_BumpMap = ProceduralFairingsRetext/textures/SNstringerfairing_NRM
			}
		}
		VARIANT
		{
			name = AngaraGeneric
			displayName = Angara Generic
			primaryColor = #737473
			secondaryColor = #dbe0db
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/Angara/Generic
				_BumpMap = ProceduralFairingsRetext/textures/Angara/bump_NRM
			}
		}
		VARIANT
		{
			name = AngaraRoscosmos
			displayName = Angara Roscosmos
			primaryColor = #737473
			secondaryColor = #dc2229
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/Angara/Roscosmos
				_BumpMap = ProceduralFairingsRetext/textures/Angara/bump_NRM
			}
		}
		VARIANT
		{
			name = AngaraStationbound
			displayName = Angara Stationbound
			primaryColor = #737473
			secondaryColor = #241c52
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/Angara/ISS
				_BumpMap = ProceduralFairingsRetext/textures/Angara/bump_NRM
			}
		}
		VARIANT
		{
			name = AngaraGenericGrey
			displayName = Angara Generic Grey
			primaryColor = #3c3b3c
			secondaryColor = #3c3d3c
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/Grey/Grey
				_BumpMap = ProceduralFairingsRetext/textures/Grey/Grey_bump_NRM
			}
		}
		VARIANT
		{
			name = AngaraBlackArrow
			displayName = Angara Black Arrow
			primaryColor = #b04931
			secondaryColor = #8c9294
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/Grey/Black_Arrow
				_BumpMap = ProceduralFairingsRetext/textures/Grey/Black_Arrow_bump_NRM
			}
		}
		VARIANT
		{
			name = YellowStripe
			displayName = Yellow Stripe
			primaryColor = #9f9f9f
			secondaryColor = #cd8526
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/BasicProceduralTextures/YellowStripe
				_BumpMap = ProceduralFairingsRetext/textures/BasicProceduralTextures/Striped_NRM
			}
		}
		VARIANT
		{
			name = TantaresLightGrey
			displayName = Tantares Light Grey
			primaryColor = #ababac
			secondaryColor = #a8a9aa
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/BasicProceduralTextures/TantaresLtGrey
				_BumpMap = ProceduralFairingsRetext/textures/BasicProceduralTextures/Tank_NRM
			}
		}
		VARIANT
		{
			name = TantaresDarkGrey
			displayName = Tantares Dark Grey
			primaryColor = #6c6d6d
			secondaryColor = #6b6c6b
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/BasicProceduralTextures/TantaresDkGrey
				_BumpMap = ProceduralFairingsRetext/textures/BasicProceduralTextures/Tank_NRM
			}
		}
		VARIANT
		{
			name = TantaresGreen
			displayName = Tantares Green
			primaryColor = #889478
			secondaryColor = #889378
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/BasicProceduralTextures/TantaresGreen
				_BumpMap = ProceduralFairingsRetext/textures/BasicProceduralTextures/Tank_NRM
			}
		}
		VARIANT
		{
			name = StockDarkGrey
			displayName = Stock Dark Grey
			primaryColor = #50524b
			secondaryColor = #4e504a
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/BasicProceduralTextures/StockDkGrey
				_BumpMap = ProceduralFairingsRetext/textures/BasicProceduralTextures/Tank_NRM
			}
		}
		VARIANT
		{
			name = StockOrange
			displayName = Stock Orange
			primaryColor = #8b5301
			secondaryColor = #8c5401
			TEXTURE
			{
				mainTextureURL = ProceduralFairingsRetext/textures/BasicProceduralTextures/StockOrange
				_BumpMap = ProceduralFairingsRetext/textures/BasicProceduralTextures/Tank_NRM
			}
		}
	}
}

 

I tried it with and without:

			TEXTURE
			{
				mainTextureURL = ProceduralFairings/Textures/fairing
				_BumpMap = ProceduralFairings/Textures/fairing_NRM
			}

but both result in the same error.

Before that I had the TU patch in a seperate config file and it was applied to all VARIANT nodes, which also did not work because the textures were overwritten by the TU setup - but the recolour sliders worked :/

Edited by Gordon Dry

Share this post


Link to post
Share on other sites

@Gordon Dry

The current dev build of TU is changing a ton, just give it some time. If you're using the previously working dll, then the keyword should be TU_RECOLOR_STANDARD instead. If you're using the latest, no variants work unless you define them all inside of TU itself.

----

Also, in the future, unless this author supports TU himself in the mod, please put these kinds of questions into my own thread; thanks.

Edited by Electrocutor

Share this post


Link to post
Share on other sites

i am so beyond happy to have located this particular thread as I was worried about Procedural Fairings! You sir get a major nod of my hat to you for managing this wonderful mod! op 02:23:30

Share this post


Link to post
Share on other sites

What does this "density" parameter affect in practical terms? I was never able to collapse a fairing through pure atmospheric stress at the default low value, so why would I want to increase mass of a fairing? Does it affect how it handles thermal effects or something?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now