Jump to content

0.625m SRB


DeMatt

Recommended Posts

After wishing for the umpteenth time for a SRB bigger than the Seperatron and smaller than the RT-10, I remembered this thread, and how it scaled down an existing model with just a .CFG file.

I can do that, said my brain, and after a few hours of tinkering, produced this:

PART
{
// Kerbal Space Program - Part Config
// RT-5 Mini Solid Fuel Booster
//

// --- general parameters ---
name = miniSolidBooster
module = Part
author = NovaSilisko/shrunk

// --- asset parameters ---
MODEL {model = Squad/Parts/Engine/solidBooster/model}
mesh = model.mu
scale = 0.1
rescaleFactor = 0.75


// --- node definitions ---
node_stack_bottom = 0.0, -9.4, 0.0, 0.0, 1.0, 0.0, 0
node_stack_top = 0.0, 7.8, 0.0, 0.0, 1.0, 0.0, 0
node_attach = 0.0, 0.0, -3.3, 0.0, 0.0, 1.0, 0

// --- FX definitions ---

fx_exhaustFlame_yellow_small = 0.0, -5, 0.0, 0.0, 1.0, 0.0, running
fx_exhaustSparks_yellow = 0.0, -5, 0.0, 0.0, 1.0, 0.0, running
// fx_exhaustLight_yellow = 0.0, -5, 0.0, 0.0, 0.0, 1.0, running
fx_smokeTrail_light = 0.0, -5, 0.0, 0.0, 1.0, 0.0, running

// --- Sound FX definition ---


sound_vent_medium = engage
sound_rocket_hard = running
sound_vent_soft = disengage
sound_explosion_low = flameout

// --- editor parameters ---
TechRequired = precisionEngineering
entryCost = 3000
cost = 150
category = Propulsion
subcategory = 0
title = RT-5 Mini Solid Fuel Booster
//manufacturer = Jebediah Kerman's Junkyard and Spaceship Parts Co.
description = While the RT-10 is made out of a full-size trash can, the new RT-5 Mini is made out of a smaller, more handy wastebasket. Good for those times when all you want to move is a trash can.

// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 1,1,1,1,0

// --- standard part parameters ---
mass = 0.0625
dragModelType = default
maximum_drag = 0.3
minimum_drag = 0.2
angularDrag = 2
crashTolerance = 7
maxTemp = 3600

// --- solid booster parameters --- 3.75

stagingIcon = SOLID_BOOSTER

MODULE
{
name = ModuleEngines
thrustVectorTransformName = thrustTransform
throttleLocked = True
exhaustDamage = True
ignitionThreshold = 0.1
minThrust = 0
maxThrust = 60
heatProduction = 500
useEngineResponseTime = True
engineAccelerationSpeed = 10.0
allowShutdown = False
fxOffset = 0, 0, 0.12
PROPELLANT
{
name = SolidFuel
ratio = 1.0
DrawGauge = True
}
atmosphereCurve
{
key = 0 230
key = 1 220
}

}

MODULE
{
name = ModuleAnimateHeat
ThermalAnim = heatAnimation
}



RESOURCE
{
name = SolidFuel
amount = 54
maxAmount = 54
}

MODULE
{
name = ModuleTestSubject

// nowhere: 0, srf: 1, ocean: 2, atmo: 4, space: 8
environments = 15

useStaging = True
useEvent = False
}
}

Now, there's a couple things I'm not enthusiastic about:

  • The FX definitions. I did find a list of the things on the wiki, but I'm still iffy about whether I A) picked the right ones, or B) should've been looking for a rescale function of some kind.
  • The attachment nodes. I eyeballed them in KSP (that's what took the hours), but I'm wondering if I actually did them right.

Anybody willing to take a peek?

Link to comment
Share on other sites

I think that if you take an existing model and you rescale it via the config file the nodes become adapted automatically. About fx: You can't rescale fx I think, you probably have to create a new, smaller one, but I'm not completely sure

To find the fx you want you can easily try every engine ingame, and with the engine ewith the fx you want you can easily copy the fx name and Paste it in your cfg.

Link to comment
Share on other sites

Three things affect scale.

First, does the part use MODEL nodes? Skip to part B.

A (MODEL node not used; instead "mesh = blah" used)

1. "scale = foo" determines how the first three numbers for each attach node line (the X, Y, Z coords of the node) are scaled. It does *not* affect anything else. Default = 1.0 if not present

2. "rescaleFactor = bar" scales both the model (and its transforms) *and* the attach nodes. Default = 1.25 if not present.

B (MODEL node(s) used)

1. Inside the MODEL node, "scale = blahX, blahY, blahZ" determines the scaling of the model and its transforms. Default is 1.0, 1.0, 1.0. It does not affect node positions.

2. Outside the MODEL node, "scale = foo" works as above.

3. Outside the MODEL node, rescaleFactor works as above.

HOWEVER, there is a bug in scaling. For parts with MODEL nodes, rescaleFactor is applied twice to the mu, *unless* (a) the part is the root part of the vessel and (B) you've reverted to launch (or perhaps switched in flight? Don't recall). All other times, it is applied twice. What this means is that if you have scale = 1.0, 1.0, 1.0 in the MODEL node (or no scale at all), and rescaleFactor = 1.25, then your mesh will actually be 1.5625 as big, but your nodes will be scaled outwards 1.25.

For this reason, when scaling parts using MODEL nodes, it is suggested to leave scale (outside the MODEL node) and rescaleFactor both at 1.0, and instead both change the scale = x, y, z inside the MODEL node and manually scale the positions of the attach nodes.

In sum, you need to use rescaleFactor = 1.0, and set scale = x, x, x in the MODEL node (where x is the desired scaling factor) and then manually change the first three numbers of each node_whatever to be what_they_originally_were*x

Link to comment
Share on other sites

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