Jump to content

[No Solution] ModuleJettison causes part to "pin" entire rocket to launchpad


Recommended Posts

While working on part models for stupid_chris's RealChutes add-on, I decided I wanted to be a little clever and use ModuleJettison (in a similar manner to the auto-fairings in the stock engines) to make the top half of my nose cone-case parachute pop off realistically upon parachute deployment - I was dissatisfied with the stock parachute PartModule magically hiding the "cap" mesh instantly, and making a separate nose cone cover with a built-in decoupler would essentially double the number of parts required per parachute.

The problem I'm having is that, although the nose cone cover submesh does pop off upon parachute deployment as intended, when the parachute part is used on an actual rocket, it causes the entire vessel to be pinned in mid-air just above the launchpad, even when the engines have ignited at full thrust and the clamps released; the only way I was able to test the ModuleJettison-RaelChute synchronization was after Hyperediting the vessel away from the launchpad.

Below is my CFG:

PART
{
// --- general parameters ---
name = RC_main_small
module = Part
author = stupid_chris, sumghai

MODEL
{
model = RealChute/Parts/model_RC_case_nose
scale = 0.5, 0.5, 0.5
}

MODEL
{
model = RealChute/Parts/model_RC_canopy
scale = 1, 1, 1
position = 0, 0.025, 0
}

// --- asset parameters ---
rescaleFactor = 1

// --- node definitions ---
// definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z, size
node_stack_bottom = 0.0, -0.023045, 0.0, 0.0, -1.0, 0.0, 0
node_attach = 0.0, -0.023045, 0.0, 0.0, 1.0, 0.0

// --- FX definitions ---
sound_parachute_open = rcpredeploy
sound_parachute_single = rcdeploy

// --- editor parameters ---
TechRequired = start
entryCost = 0
cost = 422
category = Utility
subcategory = 0
title = RealChute main chute 0.625m
manufacturer = RealChute
description = After Bill complained the current parachutes were too rough for him, the engineers came up with this. This one is a small main chute.

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

// --- standard part parameters ---
mass = 0.1
dragModelType = default
angularDrag = 3
crashTolerance = 12
maxTemp = 3100

stageOffset = -1

MODULE
{
name = RealChuteModule
preDeployedDrag = 2
deployedDrag = 500
stowedDrag = 0.22
minDeploymentAlt = 40000
deploymentAlt = 700
cutAlt = -1
preDeploymentSpeed = 2
deploymentSpeed = 6
cutSpeed = 0.5
preDeploymentAnimation = RC_chute_semi_deploy
deploymentAnimation = RC_chute_full_deploy
parachuteName = RC_canopy
capName = chute_bundle
spareChutes = 5
}

MODULE
{
name = ModuleJettison
jettisonName = cone
bottomNodeName = bottom
isFairing = false
jettisonedObjectMass = 0.025
jettisonForce = 5
jettisonDirection = 0 0 1

}
}

Some notes:

- RC_chute_semi_deploy and RC_chute_full_deploy are parachute deployment animations defined in model_RC_canopy.mu

- RC_canopy is the name of the parachute canopy mesh itself, again defined in model_RC_canopy.mu

- chute_bundle is a mesh that depicts a packed-up parachute bag with straps, defined in model_RC_case_nose.mu; as part of the parachute deployment, it's perfectly reasonable for the bundled parachute to magically disappear

- cone is a mesh that depicts the jettisonable upper half of the nose cone case, again defined in model_RC_case_nose.mu

If you're feeling adventurous, you can try out my WIP part and see the problem for yourself - needless to say, you need to first download the RealChutes plugin.

Any tips and pointers would be greatly appreciated.

Edited by sumghai
Changed title to denote lack of solution
Link to comment
Share on other sites

Either I am forgetting how Modulejettison works (its been a while since I messed with it outside of making engine fairings) or I am missing something - what is prompting 'cone' to be released? Isn't the jettison module based around breaking that bottom node connection and specifying which object stays with the lower stage?

Link to comment
Share on other sites

Either I am forgetting how Modulejettison works (its been a while since I messed with it outside of making engine fairings) or I am missing something - what is prompting 'cone' to be released? Isn't the jettison module based around breaking that bottom node connection and specifying which object stays with the lower stage?

I believe that was its primary, intended purpose and mode of operation.

That being said, based on experimentation with stock engines:

- isFairing = True in most stock engines causes the fairing to stay with the lower, jettisoned stage (as you've described)

- isFairing = False in stock nuclear engines causes the fairing to eject sideways indepedently from the lower jettisoned stage

I suspect what's happening is that ModuleJettison expects that bottom node to be broken, but said bottom node is also where the parachute itself attaches to the rest of the vessel. I've tried changing some of the node names / positions around, but that either causes the entire ModuleJettison to fail to load, or the "stuck rocket" scenario I initially described.

Link to comment
Share on other sites

Yeah that is what I remember.

So the problem is, nothing is breaking the node connection that the jettison module it is looking at, so its never releasing.

Connecting to "bottom" is what causes the 'cone' to appear at all, and breaking that node would of course disconnect the chute from your pod or whatever. You could add a top node and make the jettison module use it, but that requires something be attached to the top, so stock stack-less chutes or radial chutes won't work.

You could visually make it work by making everything BUT the cone listed as the jettison mesh (by using a container object in Unity, and having everything but the nose cone assigned as children) then add a decoupler module and assign it to the bottom node. Then when you decouple the bottom node (and activate the chute since they'll be staged as a single entry) the container object should stay attached to what was on the bottom node (your rocket) and the cone should be free.

I don't THINK the chute will function though, since the decoupling will jettison the part logic of the parachute module as well. You might set it as ActivateEvenIfDisconnection = True and give it a try though.

Ptobably going to be way better for Chris to implement the jettison module functions into his plugin.

Edited by Tiberion
Link to comment
Share on other sites

Ptobably going to be way better for Chris to implement the jettison module functions into his plugin.

I've spoken to Chris, and we've decided to settle with the current "vanishing" cover, at least until he has time to consider a custom variant of ModuleJettison.

Edited by sumghai
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...