rsparkyc

[1.3] [1.2.2] Procedural Fairings 3.21/4.0 (2017/6/7)

19 posts in this topic

Posted (edited)

@e-dog gave me permission to manage this in his absence (https://github.com/e-dog/ProceduralFairings/issues/29#issuecomment-306156809).  I am supporting this until he wants to take back ownership.

Fairings that automatically reshape for any attached payload:

FPWEcPcl.jpg

tOtRbL7l.jpg

Download from GitHub

(KSP 1.2.2 build)

Frequently Asked Questions

How to use (Imgur album, somewhat obsolete)

Licensed under CC BY terms (attribution)

Source code

Notes:

 

  • In career mode, minimum and maximum size is limited by tech. You won't be able to resize bases far from 1.25m at first, but as you unlock new aerodynamics and construction tech larger (and smaller) sizes become available.
  • Unlike KW Rocketry fairing bases, Procedural Fairings' fairing bases intentionally lack a decoupler, allowing docking nodes, structural parts, multiple payloads, etc. The fairing bases can be so modded as to include a decoupler.
  • Compatible with FAR and KSP 1.0 aerodynamics.
  • Bug reports, suggestions and any other feedback is welcome!

 

Future plans:

 

  • Simple procedural decoupler with shroud for engines that lack built-in fairings and engine clusters.
  • Procedural nose cone.
  • Stock-alike fairing bases with non-part side panels.
  • Side fairing part with switchable textures and shapes.
  • More side fairing styles, matching KW Rocketry, AIES, NovaPunch, etc.
  • More complicated texture mapping schemes for less texture stretching etc.
  • Documentation and tutorial for creating side fairings.
  • Particle effects on jettison.

 

If you want to support e-dog, here's his Patreon.

Change Log:

Spoiler

4.0

Recompiled for KSP 1.3

3.21

Probably the final release for 1.2.2

  • With the help of @sarbian, reverse engineered some changes from @KortexM
  • wait for part.editorStarted or part.started, then call an update to reset attached procedural parts.

3.20

Added the following changes by KortexM:

  • - Ready for KSP 1.2 (recompiled, small changes to configs)
  • - Added Interstage Nodes (no trusses) to Fairings and Interstage Fairing, two connections possible on each node (up & down)
  • - A few code cleanups (foreach mostly)
  • - Fixed Fuel Crossfeed (be aware that flow to/from interstage nodes is affected too!)
  • - Fixed ghost nodes appearing when adding a new fairing base in the VAB/SPH
  • - Fixed blue ghost lines (invalid fairing outline) when having multiple fairing bases in VAB/SPH
  • - Fixed interstage nodes positions for Interstage Adapter when resized
  • - Some UI fixes
  • - Code cleanups (de-Linqed etc.)
  • - All other bugs/features untouched (hopefully..)

3.17

  • Rebuilt for KSP 1.1.2.
  • Fixed thermal issues with FAR (patch by NathanKell).
  • Fixed procedural mass issues (patch by NathanKell).
  • Fixed auto-strut joint issue (connecting to the same rigid body).
  • Improved payload auto-strut performance (strut heaviest part only).

3.16

  • Updated for KSP 1.1.0.

3.15

 

  • Updated for KSP 1.0.4.
  • Merged pull request for Procedural Parts bug fix.
  • Adjusted thermal parameters for KSP 1.0.4 (hopefully).

 

3.14

 

  • Updated for the new FAR.
  • Reduced fairing shape update rate in the editor to 2 times per second.
  • Adjusted default fairing decoupler value to avoid "vessel changed" messages spammed by bugged KSP sliders.

 

3.13

 

  • Updated for KSP 1.0.2.
  • Rewrote automatic payload struts, strutting all shielded parts now.
  • Fixed bug when it was impossible to revert sometimes.
  • Fixed slowdown in the editor when tweaking fairing sides.
  • Fixed thrust plate mass parameters.

 

3.12

 

  • Updated for KSP 1.0.
  • Procedural fairings now use new stock airstream shielding and drag cube rendering.
  • Inline fairings now check if the top is closed by a single big part of the same vessel. Make sure that's the case or the shielding won't work.
  • Changed and rearranged tech limits for the new tech tree.
  • Converted textures to DDS.
  • Fixed manual shape UI issues.
  • Number of shielded parts is now displayed in the right-click menu for the fairing base. It might be inaccurate in the editor.
  • Removed old deprecated parts (non-resizable fairing bases etc).

 

3.11

 

  • Updated for KSP 0.90.
  • Added optional manual fairing shape controls.
  • Fixed tech restrictions checking in science mode (patch by Zwa333).

 

3.10

 

  • Updated KAE DLL for KSP 0.25.
  • Payload auto-struts by marce155.

 

3.09

 

  • Updated KAE DLL.

 

3.08

 

  • Updated KAE DLL for KSP 0.24.2.

 

3.07

 

  • Added procedural costs for PF parts, KSP 0.24.1 is required.
  • Added workaround for Win64 decoupler bug.
  • Made "removed" node markers much less visible (they are still somewhere 10km from the VAB).
  • Updated KAE DLL.

 

3.06

 

  • Updated for KSP 0.24.

 

3.05

 

  • Fixed collider bug introduced in 3.04.

 

3.04

 

  • Added fake parts to make tech upgrades visible in the tech tree.
  • Restored TechRequired for old parts to avoid issues with loading old designs in career mode.
  • Fixed bug that allowed to cheat tech limits in career mode.
  • Reduced default fairing ejection torque.

 

3.03

 

  • Added "sandbox" tech to specify minimum and maximum sizes in sandbox mode (see common.cfg).
  • Changed mass formula for all parts except side fairings. Generally, larger sizes are significantly lighter now.
  • Part mass is now displayed when you right-click the part in VAB.
  • Rebuilding side fairing mesh only when really needed (faster in VAB, especially with FAR).

 

3.02

 

  • Updated KSPAPIExtensions, should work with Procedural Parts now.
  • A bit less restrictive tech, allowing sizes a bit larger and smaller than stock ones.
  • Trying to avoid moving attached parts after loading design or saved game.
  • Fixed wrong size of newly added side nodes.

 

3.01

 

  • Updated KSPAPIExtensions.
  • Added size step parameters for RSS.

 

3.00

 

  • Moved files up to GameData folder (no Keramzit folder anymore). Make sure to delete old mod before installing (which is a good practice anyway).
  • Added new resizable fairing bases with configurable number of side nodes.
  • Old parts (bases and adapter) are deprecated. Launched vessels should be fine, but you might have trouble loading old designs in VAB/SPH in career mode.
  • Added new part: Thrust Plate Multi-Adapter.
  • Using KSPAPIExtensions by Swamp-Ig for better tweakables.
  • Removed old keyboard-based tweaks - use new tweakables.
  • Tweaking outer diameter (with fairings), instead of inner radius.
  • Added fairing decoupler torque tweakable.
  • Side nodes (for attaching fairings) get larger with the base size to make them more sturdy in KSP 0.23.5+
  • Tech limits are not checked in sandbox mode anymore.
  • Extra payload radius is now zero by default.
  • Fixed interstage adapter decoupling with fuselage fairings.

 

2.4.4

 

  • Added tweakables.
  • Rearranged tech tree, added 3.75m and 5m parts.
  • Interstage adapter is available earlier now, but its radius is limited by aerodynamics tech.
  • Launch clamps are ignored in payload scanning now.
  • Payload scanning doesn't follow surface attachment to the parent part anymore.
  • Improved interstage fairing shape when its top is inside payload.
  • Added base cone angle limit to make fairings look better.
  • Part descriptions and readme text copy edited by Duxwing.

 

2.4.3

 

  • Improved payload scanning for interstage adapter.
  • Recompiled for KSP 0.23.

 

2.4.2

 

  • Zero-radius payload is now used when no payload attached, so fairings will always reshape.
  • Added parts to the tech tree (except 3 and 5m parts).
  • Moved fuselage shrouds to Structural tab.
  • Changing adapter attachment node size with radius.

 

2.4.1

 

  • Disabled fuel crossfeed on the interstage adapter because it confuses Engineer Redux
  • So added stock decoupler module to the interstage adapter's topmost node as to ease delta-v calculations.
  • Improved fairing shape for interstage adapter when fairing top is within payload.

 

2.4

 

  • Added procedural interstage fairing adapter that has adjustable radii and height and decouples from the top part when fairings are ejected.
  • Added conic fuselage.
  • Fixed another inline fairing shape bug.

 

2.3

 

  • Changed fuselage texture to distinguish it from fairings.
  • Fairing and fuselages' shapes can now be locked by mousing over the side fairing/fuselage and pressing L.
  • Reduced side nodes size for smaller base rings and 0.625m fairing base (for easier placement).
  • Inline fairings no longer make a top cone when they should instead make a cylinder

 

2.2

 

  • Added experimental egg-shaped fuselage (a side fairing without decoupler).
  • Moved fairing decoupler code to separate PartModule.
  • Auto-struts are now created between the top inline base and side fairings as well: wobbly payloads might still wobble.
  • Fixed bug with misplaced fairings on new ring bases.

 

2.1

 

  • Added low-profile fairing bases (base rings) intended for inline fairings. All of them have 4 side fairing attachment points.
  • Replaced base model with a lighter-looking one. It has the same size etc., and therefore won't break your existing ships.
  • Fuel crossfeed for fairing bases can now be toggled by mousing over them and pressing G in editor or using the right-click menu in flight.
  • Automatic strut creation between side fairings can be toggled by mousing over a base and press T.
  • Fixed inline fairings' not connecting with the top base sometimes.
  • Fixed nested inline fairings' not connecting to the proper base.
  • Fairing outline (blue lines) is not displayed now for inline fairings if sides are attached to any of the two bases.

 

2.0

 

  • Inline truncated fairings are now created between two bases (one must be flipped). It won't work properly for off-center bases. If you want it off-center, tell me what for and how it should look.
  • Ejection force can now be changed by mousing over a side fairing and pressing F
  • Fixed rapid unplanned disassembly of side fairings when going out of time warp sometimes.

 

1.3

 

  • Fixed ejection direction bug - how you place fairings now should not matter.

 

1.2

 

  • So added invisible automatically-placed struts between side fairings as to prevent wobble.
  • So replaced ejectionNoseDv with ejectionTorque that all ejected fairings identically move regardless of shape.
  • Improved payload scanning for better fitting of mesh and box colliders.
  • Radius can now be adjusted by mousing over a base while holding R (the default key can be changed in part .cfg).
  • Fixed 'recursion' bug that caused misplaced fairings to uncontrollably grow. (It's also a foundation for future inline fairings).
  • Using a (hopefully) better method to offset side fairing center of mass.
  • Using proportionally smaller part of texture for 1/3 (and smaller angles) side fairings to reduce texture stretching.
  • Renamed "capsule-shaped" fairings to "egg-shaped" to be more Kerbal.

 

1.1

 

  • Fix for future FAR compatibility (needs FAR version 0.9.5.2 or later to actually work).
  • Less rotation on eject to reduce collisions with payload and lower stages.
  • Conic side fairings added, original ones are made a bit more capsule-shaped.

 

1.0

 

  • Initial release.

 

Edited by rsparkyc
15 people like this

Share this post


Link to post
Share on other sites

Thanks so very much!  You have a patreon page?  You should get one. 

Share this post


Link to post
Share on other sites

One more feature request (apart from the fairing side decoupler switch): the ability to switch the fairing textures without requiring Firespitter. Maybe the code from PP parts can be adapted to also work for them?

Share this post


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

One more feature request (apart from the fairing side decoupler switch): the ability to switch the fairing textures without requiring Firespitter. Maybe the code from PP parts can be adapted to also work for them?

Maybe should hold off on that & see how the stock texture switching works (revealed in latest dev notes)

Share this post


Link to post
Share on other sites

@Drew Kerman From the devnotes it seems that the texture switching feature is part of the DLC and not the mainline KSP. But more power to us if it is included with the next versions of KSP.

Share this post


Link to post
Share on other sites
1 hour ago, Phineas Freak said:

@Drew Kerman From the devnotes it seems that the texture switching feature is part of the DLC and not the mainline KSP. But more power to us if it is included with the next versions of KSP.

I can see it only being applied to parts in the DLC but I can't come up with a good reason why they would go out of their way to make it not available for anyone to apply to any part

Share this post


Link to post
Share on other sites

Base game! But I wouldn't expect them to actually add the functionality to their old parts...

1 person likes this

Share this post


Link to post
Share on other sites
On 6/10/2017 at 2:18 AM, Murdabenne said:

Thanks so very much!  You have a patreon page?  You should get one. 

Thanks @Murdabenne!  I created one, and updated it in my signature.

Share this post


Link to post
Share on other sites

Posted (edited)

@rsparkyc , congrats and thank you very much for giving PF fairing some love!

Do accept feature requests? If you do, then:

1) Now PF fairing side panels works in that way that you cannot have stack node below side panels attached points. Which means those wonderful KW fairing bases cannot be used properly. I mean those https://goo.gl/images/nnfnPK 

I use 

to have variety on bases/shapes/textures

2) An idea for career. For PF fairing now there are limitation for fairing base diameter, but it would be cool to have limitations for PF fairing a) length b) expansion rate

Many people love challenges implied by limited fairing sizes, you will make a lot of people happy I guess. Even if limited in config file... 

3) Can be those additional nodes (stock-a-like) be disabled by default (please :blush:). Even cooler to have trussed non-physicless procedural adapter part instead of bunch of nodes floating in the air

Thank for reading anyway!

Edited by evileye.x

Share this post


Link to post
Share on other sites
2 hours ago, evileye.x said:

@rsparkyc , congrats and thank you very much for giving PF fairing some love!

Do accept feature requests? If you do, then:

1) Now PF fairing side panels works in that way that you cannot have stack node below side panels attached points. Which means those wonderful KW fairing bases cannot be used properly. I mean those https://goo.gl/images/nnfnPK 

I use 

to have variety on bases/shapes/textures

2) An idea for career. For PF fairing now there are limitation for fairing base diameter, but it would be cool to have limitations for PF fairing a) length b) expansion rate

Many people love challenges implied by limited fairing sizes, you will make a lot of people happy I guess. Even if limited in config file... 

3) Can be those additional nodes (stock-a-like) be disabled by default (please :blush:). Even cooler to have trussed non-physicless procedural adapter part instead of bunch of nodes floating in the air

Thank for reading anyway!

The best way to get traction on things like that is to open up an issue in my repo here: https://github.com/rsparkyc/ProceduralFairings/issues

Since I'm focused mainly on RO/RP-0 development, adding these features are kinda low on the priority list, but having them tracked there mean that anyone can work on them and submit PRs, and then I can handle getting the new versions out.

Share this post


Link to post
Share on other sites

I still had no luck using the interstage fairing base and the fuselage fairing sides (or any other variant) for an interstage.

The sides won't detach, so the setting "Decouple when fairings gone"  makes no sense.

I either have to use an additional decoupler or use a non-PF fairing base - or the interstage adapter from KW.

Share this post


Link to post
Share on other sites
13 minutes ago, Gordon Dry said:

I still had no luck using the interstage fairing base and the fuselage fairing sides (or any other variant) for an interstage.

The sides won't detach, so the setting "Decouple when fairings gone"  makes no sense.

I either have to use an additional decoupler or use a non-PF fairing base - or the interstage adapter from KW.

The sides on an Interstage fairing in combination with a Fuselage side panel isn't meant to detach on any other point than the top node working as a normal decoupler. If you want an interstage with an "exploding" wall make sure to use a normal payload fairing. It then detaches the sides too. :)

Share this post


Link to post
Share on other sites

Something new, since yesterday I really have to struggle that the payload fairings don't just fall off on launch pad after "ease in gravity" happened ...

Sometimes it helps to turn off "all rigid" (EEX), but autostrut all on grandparent, sometimes it's vice versa ...

Sometimes it helps to turn off "Fairing Auto-struts" at the base ring ...

The last saved version of the craft worked without that issue...

The full log and craft:
https://www.dropbox.com/s/gpwyzx8set65s6k/2017-06-24-1 KSP.log.zip?dl=1

Share this post


Link to post
Share on other sites

Posted (edited)

Hello everyone!

I want to share MM patch that solves several problems with PF (at least problems considered by me)

1) set up default ejection force and torque - because I found fairing decouple without torque not cool enough. Thanks @Phineas Freak for the hint!

2) decouple inter-stage top node when sides are gone - yes by default. Because I hate when stuff just floats in the air pretending to be connected. The walls are supposed to be holding stuff in inter-stages most of the time.

3) disable PF auto-struts by default, because it's cause fairing to break on one side. It is very annoying to disable it by hand

@PART[*]:HAS[@MODULE[ProceduralFairingDecoupler]]:NEEDS[ProceduralFairings]
{
    @MODULE[ProceduralFairingDecoupler]
    {
        %ejectionPower = 0.35
        %torqueAmount = 0.12
		
    }
}

@PART[*]:HAS[@MODULE[ProceduralFairingAdapter]]:NEEDS[ProceduralFairings]
{
    @MODULE[ProceduralFairingAdapter]
    {
        %topNodeDecouplesWhenFairingsGone = true
    }
}

@PART[*]:HAS[@MODULE[ProceduralFairingBase]]:NEEDS[ProceduralFairings]
{
    @MODULE[ProceduralFairingBase]
    {
        %autoStrutSides = false
    }
}

 

Edited by evileye.x
2 people like this

Share this post


Link to post
Share on other sites

Is there a way to MM patch the common.cfg info for the techtree node sizes? I want to change the nodes to match the sizes in SSTU, but don't know how to address something that is not @PART. I tried @ProceduralFairings:AFTER[ProceduralFairings] {@ ...my changes...}  but this does not seem to change it.

Share this post


Link to post
Share on other sites

Posted (edited)

2 hours ago, Jimbodiah said:

Is there a way to MM patch the common.cfg info for the techtree node sizes? I want to change the nodes to match the sizes in SSTU, but don't know how to address something that is not @PART. I tried @ProceduralFairings:AFTER[ProceduralFairings] {@ ...my changes...}  but this does not seem to change it.

There are nodes there for min and max diameter that associate values to tech tree nodes. You'll also see several "parts" that are the upgrade nodes that appear in the tech tree.

I did this patch to add an early 2.5m upgrade and a late "unlimited" (50m) upgrade for fairing sizes:

Spoiler

@PROCFAIRINGS_MAXDIAMETER
{
	aerodynamicSystems = 2.5
	veryHeavyRocketry = 50
}

+PART[pf_tech_fairing4m]
{
	@name = pf_tech_fairing2_5m
	@description = Allows fairing bases up to 2.5m size.
	@TechRequired = aerodynamicSystems
}

+PART[pf_tech_fairing4m]
{
	@name = pf_tech_fairing50m
	@description = Allows fairing bases up to 50m size.
	@TechRequired = veryHeavyRocketry
}

 

Edit: generally addressing any other node is just the same as if it were a part. Use the correct (case sensitive) node name and filter just like parts:

Spoiler

i.e. filter a node by it's name value with @NODE[name] or by another parameter value with @NODE:HAS[#parameter[value]] etc.

 

Edited by Aelfhe1m
removed redundant reference to common.cfg and added extra comment

Share this post


Link to post
Share on other sites

Thanks, got it to work!!!   I was thinking too much :)

Below is all that was needed

@PROCFAIRINGS_MAXDIAMETER
{
  %start = 1.25
  %aviation = 1.875
  %aerodynamicSystems = 2.5
  %advAerodynamics = 3.125
  %heavyAerodynamics = 3.75
  %experimentalAerodynamics = 6.26
  %aerospaceComposites = 10
}

 

1 person likes this

Share this post


Link to post
Share on other sites
On 7/9/2017 at 3:36 PM, evileye.x said:

Hello everyone!

3) disable PF auto-struts by default, because it's cause fairing to break on one side. It is very annoying to disable it by hand

 

OY! I just noticed mine breaking and came here looking for a solution. I'm glad you made a connection to auto-struts.. I will disable them on my rocket and see if it helps!

Share this post


Link to post
Share on other sites

Is there an MM key that I can set to disable inter stage nodes by default? I haven't had much use for them and they tend to connect when I don't want them to.

 

Thanks

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