Jump to content

Need some basic parts help


vossiewulf

Recommended Posts

I've been making rocket/plane fins 'cause I am disappointed with the current selection. Unfortunately I've never produced a KSP part. Mage has been helping and I've gotten as far as having a new fin in-game, but it's too small and positioned far from the cursor in the VAB. Since I've gotten this far, decided to ask here to offload some of the question load from @Shadowmage :)

Below is the config I'm using, which has been unaltered from the Squad AV-8R winglet, other than the text. I have no clue what many of the settings mean, and which need to be tweaked to get my part the right initial size and in the right location.

PART
{
	name = S2000
	module = Part
	author = NovaSilisko
	mesh = model.mu
	scale = 1
	TechRequired = flightControl
	entryCost = 1800
	cost = 640
	category = Aero
	subcategory = 0
	title = S2000 SpeedStreak
	manufacturer = FinTech Industries, Inc.
	description = After the enormous success of the initial S1000 SpeedStreak rocket fin, FinTech designers returned to their very small darfting tables to come up with something even speedier and streakier. The result is the stunning S2000, a fin that looks so fast it actually makes your ship GO faster!*      (*Citation Needed)
	attachRules = 0,1,0,0,1
	node_attach = 4.32401, 1.39785, 0.0, 1.0, 0.0, 0.0
	CoMOffset = -0.0745, -0.2, 0
	CoLOffset = -0.0745, -0.2, 0
	CoPOffset = -0.0745, -0.2, 0
	mass = 0.1
	thermalMassModifier = 8.0
	// heatConductivity = 0.06 // half default
	emissiveConstant = 0.95
	dragModelType = none
	maximum_drag = 0.02
	minimum_drag = 0.02
	angularDrag = 5
	crashTolerance = 12
	maxTemp = 2400
	explosionPotential = 0.1
	bulkheadProfiles = srf
	tags = aero aircraft canard control (elev fin (fore lift plane rocket )rudder stab swept tail
	MODULE
	{
		name = ModuleControlSurface
		useInternalDragModel = True
		dragCoeff = 0.5
		actuatorSpeed = 25
		deflectionLiftCoeff = 0.5
		ctrlSurfaceRange = 15
		ctrlSurfaceArea = 0.95
	}
}

I made up a series of paint schemes in Substance Painter, so I'm going to want to use a PBR setup also. Wheee. Below are three of the 10 color combinations for this fin. With 28 fins in my done stack, that's going to be lots of options.

tvjKeez.png

vEiyHkw.png

quGeR04.png

Link to comment
Share on other sites

Very nice look parts and when you model the parts what scale you have it set at ? But really don't matter right  below scale = * add rescaleFactor = * if scale = 1 and part to small change rescaleFactor = 1.5 and go up to you hit the size you want and here is a good tool to have for making nodes

 

 

Edited by Mecripp
Link to comment
Share on other sites

30 minutes ago, Mecripp said:

Very nice look parts and when you model the parts what scale you have it set at ? But really don't matter right  below scale = * add rescaleFactor = * if scale = 1 and part to small change rescaleFactor = 1.5 and go up to you hit the size you want and here is a good tool to have for making nodes

 

Thanks. I'm using generic units in MAX and the fin is 2.67 wide by 4.537 high by .075 thick. I figured if the game thought it meters, if anything that would be large and need to be scaled down, but instead it's too small. I will try the rescaleFactor setting.

Would you know why the part is showing up far away from the cursor in the VAB?

And thanks for the node editor, I will check that out :)

 

Link to comment
Share on other sites

12 minutes ago, vossiewulf said:

The rescaleFactor worked, it's at least getting in the ballpark of a default 1.25m size. But it's like the attachment node is way the heck away from the part, and I can't even right click them to get Node Editor to see the part.

Y2IqGT5.png

Not sure on the place they show up at but sounds like if you cant click on them you need to add a mesh collider to them

Link to comment
Share on other sites

This is where we are now:

Good
1. Part is correct size.
2. Part no longer appears 100m from cursor in VAB

Not so good

1. Still don't get a right click menu
2. Part won't surface attach
3. It's still appearing far below the part it's attached to by node
4. The normal map isn't working in KSP

I put a mesh collider on it and rewrote the part correctly as far as I can tell.

ecnRwdT.png

UqrAsrk.png

I don't know what it is, but it looks like if you spun it real fast something impressive would happen.

1RIERcA.png

 

Edited by vossiewulf
Link to comment
Share on other sites

34 minutes ago, vossiewulf said:

This is where we are now:

Good
1. Part is correct size.
2. Part no longer appears 100m from cursor in VAB

Not so good

1. Still don't get a right click menu
2. Part won't surface attach
3. It's still appearing far below the part it's attached to by node
4. The normal map isn't working in KSP

I put a mesh collider on it and rewrote the part correctly as far as I can tell.

ecnRwdT.png

UqrAsrk.png

I don't know what it is, but it looks like if you spun it real fast something impressive would happen.

1RIERcA.png

 

You have a download link ?

Link to comment
Share on other sites

40 minutes ago, vossiewulf said:

Try this you must have been spot on with your model

PART
{
	name = S2000
	module = Part
	author = NovaSilisko
	mesh = model.mu
	scale = 1
	rescaleFactor = 15
	TechRequired = flightControl
	entryCost = 2400
	cost = 1800
	category = Aero
	subcategory = 0
	title = S2000 SpeedStreak
	manufacturer = #autoLOC_501630 //#autoLOC_501630 = FinTech Industries, Inc.
	description = #autoLOC_500221 //#autoLOC_500221 = After the enormous success of the initial S1000 SpeedStreak rocket fin, FinTech designers returned to their very small darfting tables to come up with something even speedier and streakier. The result is the stunning S2000, a fin that looks so fast it actually makes your ship GO faster!*      (*Citation Needed)
	attachRules = 0,1,0,1,1
	node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
	CoMOffset = -0.0745, -0.2, 0
	CoLOffset = -0.0745, -0.2, 0
	CoPOffset = -0.0745, -0.2, 0
	mass = 0.14
	thermalMassModifier = 8.0
	// heatConductivity = 0.06 // half default
	emissiveConstant = 0.95
	dragModelType = none
	maximum_drag = 0.02
	minimum_drag = 0.02
	angularDrag = 5
	crashTolerance = 12
	maxTemp = 2400
	explosionPotential = 0.1
	bulkheadProfiles = srf
	tags = #autoLOC_500222 //#autoLOC_500222 = aero aircraft canard control (elev fin (fore lift plane rocket )rudder stab swept tail
	MODULE
	{
		name = ModuleControlSurface
		useInternalDragModel = True
		dragCoeff = 0.5
		actuatorSpeed = 25
		deflectionLiftCoeff = 0.5
		ctrlSurfaceRange = 15
		ctrlSurfaceArea = 0.95
	}
}

EDIT- main change was just 

	attachRules = 0,1,0,1,1
	node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0

https://www.dropbox.com/s/6w0k0ou4h609u5z/test.png?dl=0

Edited by Mecripp
Link to comment
Share on other sites

Awesome thanks! It's a tad off but at least I know what the problem was and how to fix it. So I'm not just copying other work or blindly poking, can you tell me what these mean/how they work, or point me to something that does explain?

attachRules = 0,1,0,1,1
node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0

(Best Scotty voice) Captain, thar be FINS here!

TsXDLEE.png

35 minutes ago, Mecripp said:

@vossiewulf just one bug they show inside of tank just have to flip them around which thought  it was on the Z but maybe X needs flipped but Z wasn't flipping :(

Yeah noticed that, only question is whether I flip them in MAX or Unity. MAX, I think,.

Was churning on the next fins' textures while waiting to figure out what was going on here, the first of the Thunderstreak series...

GClxEbF.png

rQlKHUY.png

habBM69.png

Link to comment
Share on other sites

47 minutes ago, vossiewulf said:

Awesome thanks! It's a tad off but at least I know what the problem was and how to fix it. So I'm not just copying other work or blindly poking, can you tell me what these mean/how they work, or point me to something that does explain?

attachRules = 0,1,0,1,1
node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0

(Best Scotty voice) Captain, thar be FINS here!

TsXDLEE.png

Yeah noticed that, only question is whether I flip them in MAX or Unity. MAX, I think,.

Was churning on the next fins' textures while waiting to figure out what was going on here, the first of the Thunderstreak series...

GClxEbF.png

rQlKHUY.png

habBM69.png

https://wiki.kerbalspaceprogram.com/wiki/CFG_File_Documentation#Node_Definitions 

and those look great

and here is a couple of links you might look at 

 

Link to comment
Share on other sites

Ok beginning to get a grasp of things, but only with the help of @Shadowmage and @Mecripp, and I wouldn't have this working at all if the latter hadn't straightened out the node attachments. I'll continue doing the art for the other fins now, I have a working config file that mostly does what is needed. However I need to figure out Shadowmage's Textures Unlimited so I can pull in the PBR effects you see in my Substance Painter screenshots above and get the normal map to work. Thanks folks!

Link to comment
Share on other sites

3 hours ago, vossiewulf said:

Ok beginning to get a grasp of things, but only with the help of @Shadowmage and @Mecripp, and I wouldn't have this working at all if the latter hadn't straightened out the node attachments. I'll continue doing the art for the other fins now, I have a working config file that mostly does what is needed. However I need to figure out Shadowmage's Textures Unlimited so I can pull in the PBR effects you see in my Substance Painter screenshots above and get the normal map to work. Thanks folks!

If you use TextureReplacer or would also add a patch for it here is what it would look like https://www.dropbox.com/s/omqoezv6wb4hky6/Fintech Industries`.png?dl=0

@PART[S2000]:HAS[!MODULE[TRReflection]]:NEEDS[TextureReplacer]
{
	%MODULE[TRReflection]
	{
%name = TRReflection
%shader = Reflective/Bumped Diffuse
%colour = 0.3 0.3 0.3
%interval = 8
%meshes = Box008
	}
}

and TU here is one set of what it could look like  https://www.dropbox.com/s/5ukqpkmfzzuzkmn/Fintech Industries2.png?dl=0

Link to comment
Share on other sites

1 hour ago, Mecripp said:

If you use TextureReplacer or would also add a patch for it here is what it would look like https://www.dropbox.com/s/omqoezv6wb4hky6/Fintech Industries`.png?dl=0


@PART[S2000]:HAS[!MODULE[TRReflection]]:NEEDS[TextureReplacer]
{
	%MODULE[TRReflection]
	{
%name = TRReflection
%shader = Reflective/Bumped Diffuse
%colour = 0.3 0.3 0.3
%interval = 8
%meshes = Box008
	}
}

and TU here is one set of what it could look like  https://www.dropbox.com/s/5ukqpkmfzzuzkmn/Fintech Industries2.png?dl=0

Thanks again Mecripp!

Link to comment
Share on other sites

There are 18 fins now, each with 9 different color options, and I've set up Tweakscale for them so they can be appropriately sized per application. Shadowmage is putting together a TU config for me, I will be using that for proper rendering of the parts plus for the texture-switching. Once I have that and make a couple passes on the subtleties of relative size and drag and mass and the like so the parts have effects correct for their design, there's nothing else to do and I can release it. And five minutes later turn it over to @linuxgurugamer since I have way too many interests to be consistent maintaining a mod :)

0jEil8fm.png

For all your retro needs...

k7HDIMRh.png

And more.

A2p3fbWh.png   u1vkHGmh.png

7PUXgAwh.png

jeNuWk1h.png

Edited by vossiewulf
Link to comment
Share on other sites

@Mecripp and maybe @linuxgurugamer for that matter, there is something wrong in the basic config. It is spamming:

[EXC 12:42:34.282] NullReferenceException: Object reference not set to an instance of an object
    ModuleControlSurface.CtrlSurfaceEditorUpdate (Vector3 CoM)
    ModuleControlSurface.LateUpdate ()

I assume we're missing a value in one of the arrays, but I literally have no clue which. I can try to pull up some other configs to see what is missing but one of you two may know off the top of your heads. What little config file documentation I've found explains just enough to leave you almost but not quite completely confused.

Below is the config as it stands now:

PART
{
	name = T620
	module = Part
	author = vossiewulf
	mesh = model.mu
	scale = 1
	rescaleFactor = 19
	TechRequired = flightControl
	entryCost = 2400
	cost = 1800
	category = Aero
	subcategory = 0
	title = T620 ThunderStreak
	manufacturer = FinTech Industries, Inc.
	description = A mainstay of rocketrodding catalogs worldwide, the Thunderstreak series provides beauty and functionality for those who prefer a more angular look. The T620 is the big brother of the range, having excellent ground clearance and a sweeping retro look that is guaranteed to turn heads down at the local rocket pad!
	attachRules = 0,1,0,1,1
	node_attach = 0.000005, 0.0, 0.0, 0.0, 0.0, 0.0
	CoMOffset = -0.0745, -0.2, 0
	CoLOffset = -0.0745, -0.2, 0
	CoPOffset = -0.0745, -0.2, 0
	mass = 0.14
	thermalMassModifier = 8.0
	// heatConductivity = 0.06 // half default
	emissiveConstant = 0.95
	dragModelType = none
	maximum_drag = 0.02
	minimum_drag = 0.02
	angularDrag = 5
	crashTolerance = 12
	maxTemp = 2400
	explosionPotential = 0.1
	bulkheadProfiles = srf
	tags = aero aircraft canard control (elev fin (fore lift plane rocket )rudder stab swept tail
	MODULE
	{
		name = ModuleControlSurface
		useInternalDragModel = True
		dragCoeff = 0.5
		actuatorSpeed = 25
		deflectionLiftCoeff = 0.9
		ctrlSurfaceRange = 15
		ctrlSurfaceArea = 0.95
	}

		MODULE
    	{
     	   name = TweakScale
    	}
	
	SCALETYPE
    	{
       		name = free
        	freeScale = true
        	defaultScale = 100
        	suffix = %
        	scaleFactors   = 10, 50, 100,  200, 400
        	incrementSlide =  1,  1,   2,    5
    	}
}

 

Link to comment
Share on other sites

1 hour ago, vossiewulf said:

@Mecripp and maybe @linuxgurugamer for that matter, there is something wrong in the basic config. It is spamming:

[EXC 12:42:34.282] NullReferenceException: Object reference not set to an instance of an object
    ModuleControlSurface.CtrlSurfaceEditorUpdate (Vector3 CoM)
    ModuleControlSurface.LateUpdate ()

I assume we're missing a value in one of the arrays, but I literally have no clue which. I can try to pull up some other configs to see what is missing but one of you two may know off the top of your heads. What little config file documentation I've found explains just enough to leave you almost but not quite completely confused.

Below is the config as it stands now:


PART
{
	name = T620
	module = Part
	author = vossiewulf
	mesh = model.mu
	scale = 1
	rescaleFactor = 19
	TechRequired = flightControl
	entryCost = 2400
	cost = 1800
	category = Aero
	subcategory = 0
	title = T620 ThunderStreak
	manufacturer = FinTech Industries, Inc.
	description = A mainstay of rocketrodding catalogs worldwide, the Thunderstreak series provides beauty and functionality for those who prefer a more angular look. The T620 is the big brother of the range, having excellent ground clearance and a sweeping retro look that is guaranteed to turn heads down at the local rocket pad!
	attachRules = 0,1,0,1,1
	node_attach = 0.000005, 0.0, 0.0, 0.0, 0.0, 0.0
	CoMOffset = -0.0745, -0.2, 0
	CoLOffset = -0.0745, -0.2, 0
	CoPOffset = -0.0745, -0.2, 0
	mass = 0.14
	thermalMassModifier = 8.0
	// heatConductivity = 0.06 // half default
	emissiveConstant = 0.95
	dragModelType = none
	maximum_drag = 0.02
	minimum_drag = 0.02
	angularDrag = 5
	crashTolerance = 12
	maxTemp = 2400
	explosionPotential = 0.1
	bulkheadProfiles = srf
	tags = aero aircraft canard control (elev fin (fore lift plane rocket )rudder stab swept tail
	MODULE
	{
		name = ModuleControlSurface
		useInternalDragModel = True
		dragCoeff = 0.5
		actuatorSpeed = 25
		deflectionLiftCoeff = 0.9
		ctrlSurfaceRange = 15
		ctrlSurfaceArea = 0.95
	}

		MODULE
    	{
     	   name = TweakScale
    	}
	
	SCALETYPE
    	{
       		name = free
        	freeScale = true
        	defaultScale = 100
        	suffix = %
        	scaleFactors   = 10, 50, 100,  200, 400
        	incrementSlide =  1,  1,   2,    5
    	}
}

 

Trying to look it up so far found 

Vector3 
GetDragVector (Vector3 nVel, float absDot, double Q)

Vector3 
GetLiftVector (Vector3 liftVector, float liftDot, float absDot, double Q, float mach)

Vector3 
ApplyLiftForceAdjustments (Vector3 liftForce)

Vector3 
nVel

Thats info on the error from what i can see and also 

Transform 
baseTransform
 

https://kerbalspaceprogram.com/api/class_module_lifting_surface.html
added for consistency with ModuleControlSurface, can be removed and replaced with "transform" More...

EDIT- Found some maybe help https://forum.kerbalspaceprogram.com/index.php?/topic/44531-control-surfaces/

EDIT2- Maybe adding (  transformName = (mesh name here))

	MODULE
	{
		name = ModuleControlSurface
		useInternalDragModel = True
		dragCoeff = 0.5
		actuatorSpeed = 25
		deflectionLiftCoeff = 0.9
		ctrlSurfaceRange = 15
		ctrlSurfaceArea = 0.95
        transformName = Mesh Name
	}

 

Edited by Mecripp
Link to comment
Share on other sites

22 minutes ago, Mecripp said:

Trying to look it up so far found 


Vector3 
GetDragVector (Vector3 nVel, float absDot, double Q)

Vector3 
GetLiftVector (Vector3 liftVector, float liftDot, float absDot, double Q, float mach)

Vector3 
ApplyLiftForceAdjustments (Vector3 liftForce)

Vector3 
nVel

Thats info on the error from what i can see and also 

Transform 
baseTransform
 

https://kerbalspaceprogram.com/api/class_module_lifting_surface.html
added for consistency with ModuleControlSurface, can be removed and replaced with "transform" More...

EDIT- Found some maybe help https://forum.kerbalspaceprogram.com/index.php?/topic/44531-control-surfaces/

EDIT2- Maybe adding (  transformName = (mesh name here))


	MODULE
	{
		name = ModuleControlSurface
		useInternalDragModel = True
		dragCoeff = 0.5
		actuatorSpeed = 25
		deflectionLiftCoeff = 0.9
		ctrlSurfaceRange = 15
		ctrlSurfaceArea = 0.95
        transformName = Mesh Name
	}

 

Thanks again. When you say mesh name, do you mean the filename of the mesh, or the name of the mesh object itself as created in MAX (in my case), e.g. box1? Since these models were so simple I didn't go to any naming convention lengths, just let each object be box01, box02, etc.

Link to comment
Share on other sites

6 minutes ago, vossiewulf said:

Thanks again. When you say mesh name, do you mean the filename of the mesh, or the name of the mesh object itself as created in MAX (in my case), e.g. box1? Since these models were so simple I didn't go to any naming convention lengths, just let each object be box01, box02, etc.

mesh object itself as created in MAX

EDIT- Like the part I download to test with would be  (    transformName = Box008 )

EDIT-2 hope that will fix it

Edited by Mecripp
Link to comment
Share on other sites

1 hour ago, Mecripp said:

mesh object itself as created in MAX

EDIT- Like the part I download to test with would be  (    transformName = Box008 )

EDIT-2 hope that will fix it

You're a genius. Fixed, and I could have spent a week looking for a solution. Thanks!!!

Edited by vossiewulf
More exclamation points
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...