Jump to content

[PART] WIP Release - Phoenix Cargo/Resupply System - KIS,MJ integration - SpaceX Dragon Capsule


-ctn-

Recommended Posts

On PREFAB PARTICLE can you add a line localRotation = 0,0,0 ? and man that looks really good to bad the thruster part and pod looks like there one piece if it was a 2 piece you could have added

MODULE

{

name = ModuleSurfaceFX

thrustProviderModuleIndex = 0

fxMax = 0.5

maxDistance = 30

falloff = 1.5

thrustTransformName = thrustTransform

}

and had some smoke on the grounds FX.

EDIT- There is also a localPosition = 0,0,0 you can add.

Link to comment
Share on other sites

I'm pretty sure that would just rotate the direction of the exhaust effect, not duplicate it to the other thrustTransform.

Also, for what it's worth - here's the Dragon Trunk WIP. Will be storage for electricity, monopropellant, but mostly KIS storage space.

trunkwip.png

Link to comment
Share on other sites

I did see that, I must've read it over like ten times now. I'm not sure where it's going wrong; I have both engines having a thrustTransform object and the ModuleEnginesFX tells it to create the particle effect at thrustTransform, but for some reason it's only applying to one engine. Unless I'm REALLY overlooking something....

Link to comment
Share on other sites

hmm, the problem may be that all of the objects are in the same level of hierarchy with the same name, so their paths are identical gameobject/phoenix/thrustTransform

When KSP goes looking for that item, its always going to find the 1st copy and may not ever process the 2nd. You might have the same issue with your RCS thrusters.

So, try a simple fix, add 2 more empty gameobjects in unity, and add them as another layer in the hierarchy.

like gameobject/phoenix/engine1/thrustTransform

and gameobject/phoenix/engine2/thrustTransform

where engine1 and engine2 are the new empty gameobjects.

So they'd be on the same level as your thrustTransforms currently are, and then the 2 thrustTransforms added as children to them.

Link to comment
Share on other sites

hmm, the problem may be that all of the objects are in the same level of hierarchy with the same name, so their paths are identical gameobject/phoenix/thrustTransform

When KSP goes looking for that item, its always going to find the 1st copy and may not ever process the 2nd. You might have the same issue with your RCS thrusters.

So, try a simple fix, add 2 more empty gameobjects in unity, and add them as another layer in the hierarchy.

like gameobject/phoenix/engine1/thrustTransform

and gameobject/phoenix/engine2/thrustTransform

where engine1 and engine2 are the new empty gameobjects.

So they'd be on the same level as your thrustTransforms currently are, and then the 2 thrustTransforms added as children to them.

Hey, that sounds like it might work. I'll try it out tonight when I get home. Thanks!

Link to comment
Share on other sites

Well, that didn't work either. And then I went in and gave them both completely different names, added two separate ModuleEngine instances, two separate PREFAB_PARTICLE instances, and even that didn't work. Really at a loss to what the problem could be.

Anyway, everything else is set and ready for release, except for that dang engine. Any more ideas?!

screenshot3_1.png

Link to comment
Share on other sites

Looking at some of the others haven't found one yet using ModuleEnginesFX & ModuleRCS here is LazTek Dragonpod cfg

PART{
name = LazTekDragonCargo
module = Part
author = Lazarus Luan

scale = 1.0
rescaleFactor = .85
mesh = model.mu

node_stack_bottom = 0.0, -0.6, 0.0, 0.0, -1.0, 0.0
node_stack_cargo = 0.0, -0.45, 0.0, 0.0, 1.0, 0.0
node_stack_top = 0.0, 1.555, 0.0, 0.0, 1.0, 0.0
node_stack_dock = 0.0, 1.68, 0.0, 0.0, 1.0, 0.0, 0

TechRequired = metaMaterials
entryCost = 34000
cost = 2500
category = Pods
subcategory = 0
title = SpaceX Dragon V1 Cargo Capsule
manufacturer = LazTek
description = The Dragon V1 Cargo Capsule is equipped with six-direction Draco RCS thrusters, monopropellant, interior and docking lighting, opening front panels for cargo access and A PICA-X heatshield for reentry. It can be used with stacking and attachable cargo and may be used to store science data.

attachRules = 1,0,1,1,1

mass = 2
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.1
angularDrag = 2
crashTolerance = 45
maxTemp = 3400

vesselType = Ship

CrewCapacity = 0

MODULE
{
name = ModuleCommand
minimumCrew = 0
}

RESOURCE
{
name = ElectricCharge
amount = 1000
maxAmount = 1000
}

MODULE
{
name = ModuleSAS
}

MODULE
{
name = ModuleReactionWheel

PitchTorque = 10
YawTorque = 10
RollTorque = 10

RESOURCE
{
name = ElectricCharge
rate = 0.8
}
}

MODULE
{
name = ModuleRCS
thrusterTransformName = RCSthruster
thrusterPower = 1
resourceName = MonoPropellant
atmosphereCurve
{
key = 0 260
key = 1 160
}
}

RESOURCE
{
name = MonoPropellant
amount = 400
maxAmount = 400
}

MODULE
{

name = ModuleAnimateGeneric
animationName = DragonCargoDoors
startEventGUIName = Close Cargo Bay
endEventGUIName = Open Cargo Bay
}

MODULE
{

name = ModuleAnimateGeneric
animationName = BlueLights
startEventGUIName = Blue Lights Off
endEventGUIName = Blue Lights On
}

MODULE
{
name = ModuleAnimateGeneric
animationName = DockingLight
startEventGUIName = Docking Light On
endEventGUIName = Docking Light Off
}

MODULE
{
name = ModuleScienceContainer

reviewActionName = Review Stored Data
storeActionName = Store Experiments
evaOnlyStorage = True
storageRange = 7.0
}
MODULE
{
name = ModuleHeatShield
direction = 0, -1, 0
reflective = 0.05
ablative = AblativeShielding
{
key = 650 0 0 0
key = 1000 64 0 0
key = 3000 80 0 0
}
dissipation
{
key = 300 0 0 0
key = 500 180 0 0
}
}

RESOURCE
{
name = AblativeShielding
amount = 950
maxAmount = 950
}
MODULE
{
name = FlagDecal
textureQuadName = flagSurface
}
}

Link to comment
Share on other sites

So does that mean the two modules can't work together in the same part? That seems very limiting. I guess I could change them to two extra RCS nozzles pointing zenith, but I'd rather they work like engines for de-orbit burns.

The stupid thing is, both thrustTransforms WORK. They output thrust and consume fuel, it's just that one of them doesn't display the exhaust flame particle FX.

Link to comment
Share on other sites

Maybe you can import one of LazTek to see how he set it up ?

EDIT- Scrap that after looking back at his OP seen his ModuleEngines was separate pieces haven't played with it in sometime it has some meshing errors with the door.

Edited by Mecripp2
Link to comment
Share on other sites

So you have ModuleEngine and ModuleRCS on the pod? Does the problem go away if you remove one from the config? I'm not sure but I've heard too much modules on one part can have some problems, not sure how cBBp dragon manages engines and RCS in one part though. Maybe have a look at that pod?

Link to comment
Share on other sites

Yep cbbp pod works here his cfg

PART
{
// --- general parameters ---
name = cBBp_Dragon
module = CommandPod
author = cBBp

// --- asset parameters ---

mesh = model.mu


// --- node definitions ---
// definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z


node_stack_bottom = 0.0, -0.8362352, 0.0, 0.0, 1.0, 0.0, 0
node_stack_top = 0.0, 1.4769561, 0.0, 0.0, 1.0, 0.0, 0
node_stack_ASAS = 0.0, 1.3005309, 0.0, 0.0, 1.0, 0.0, 0

//-0.6316727m

node_stack_trunk = 0.0, -0.6316727, 0.0, 0.0, 1.0, 0.0, 0





fx_exhaustFlame_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_small = 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 ---
cost = 1600
category = Pods
subcategory = 0
title = Dragon Rider Capsule
manufacturer = cBBp Space Development Co.
description = The Dragon Capsule is basically the minivan of space transportation with it's ability to hold Seven crew members and it's spacious interior. It comes fully equipped with built in a docking and propulsion to allow it to shuttle its crew and cargo about in orbit. The Dragons array of Lights, landing gear and engines enable it to be the perfect drop pod to make landings on any celestial body.
// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 1,0,1,1,1

// --- standard part parameters ---
mass = 2.5
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.1
angularDrag = 2
crashTolerance = 45
maxTemp = 3400



vesselType = Ship
// --- pod/rcs parameters ---

rotPower = 3
linPower = 1.1


Kp = 1
Kd = 1
// --- tweakables (coming soon...) ---



// --- internal setup ---
CrewCapacity = 7

INTERNAL
{
name = DragonGuts
}

MODULE
{
name = ModuleCommand
minimumCrew = 0

//remove this to make it not use power
RESOURCE
{
name = ElectricCharge
rate = 0.01
}
//end power removal

}

MODULE
{
name = MechJebCore
}

MODULE
{
name = LazorSystemDockingCamera
}

RESOURCE
{
name = ElectricCharge
amount = 500
maxAmount = 500
}

MODULE
{
name = ModuleSAS
}

MODULE
{
name = ModuleReactionWheel

PitchTorque = 5
YawTorque = 5
RollTorque = 5

RESOURCE
{
name = ElectricCharge
rate = 0.5
}
}

MODULE
{
name = ModuleRCS
thrusterTransformName = RCSthruster
thrusterPower = 0
isJustForShow = true
resourceName = MonoPropellant
fxOffset = 0, -39.3, 0
atmosphereCurve
{
key = 0 260
key = 1 100
}
}

MODULE
{
name = ModuleRCS
thrusterTransformName = Special_RCS
thrusterPower = 1
resourceName = MonoPropellant
fxOffset = 1e5, 1e5, 1e5
atmosphereCurve
{
key = 0 260
key = 1 100
}
}




RESOURCE
{
name = MonoPropellant
amount = 500
maxAmount = 500
}



MODULE
{
name = ModuleEngines
thrustVectorTransformName = thrustTransform
exhaustDamage = False
ignitionThreshold = 0.1
minThrust = 0
maxThrust = 250
heatProduction = 400
fxOffset = 0, 0, 0
PROPELLANT
{
name = MonoPropellant

ratio = 1
DrawGauge = True
}
atmosphereCurve
{
key = 0 290
key = 1 250
}

}

MODULE
{
name = ModuleGimbal
gimbalTransformName = thrustTransform
gimbalRange = 0.5
//useGimbalResponseSpeed = true
//GimbalResponseSpeed = 0.5
}

MODULE
{
name = ModuleAnimateHeat
ThermalAnim = overheat
}


MODULE
{
name = ModuleJettison
jettisonName = fairing
bottomNodeName = bottom
isFairing = True
jettisonedObjectMass = 0.1
jettisonForce = 5
jettisonDirection = 0 0 1

}


MODULE
{
name = ModuleAnimateGeneric
animationName = Ladder
startEventGUIName = Extend Ladder
endEventGUIName = Retract Ladder
}



MODULE
{
name = ModuleDockingNode
referenceAttachNode = top
nodeType = size1
//controlTransformName = dockingNode
}

MODULE
{
name = ModuleAnimateGeneric
animationName = RendezvousLight
startEventGUIName = Rendezvous Light On
endEventGUIName = Rendezvous Light Off
}

MODULE
{
name = ModuleAnimateGeneric
animationName = LandingLights
startEventGUIName = Landing Lights On
endEventGUIName = Landing Lights Off
}

MODULE
{
name = ModuleAnimateGeneric
animationName = FloodLights
startEventGUIName = Area Flood Lights On
endEventGUIName = Area Flood Lights Off
}

MODULE
{
name = ModuleAnimateGeneric
animationName = Extend_Gear
startEventGUIName = Extend Landing Struts
endEventGUIName = Retract Landing Struts
}

MODULE
{
name = ModuleDecouple
ejectionForce = 250
explosiveNodeID = bottom
}



//MODULE
//{
// name = ModuleLight
// lightName = LandingLight003
// useAnimationDim = true
// lightBrightenSpeed = 4
// lightDimSpeed = 4
// resourceAmount = 0.1/
// animationName = LandingLight
// useResources = true
//}






// ----- DO NOT EDIT BELOW THIS POINT ------

}

Link to comment
Share on other sites

Thanks! I copied and used that bit of code for the sound and exhaust FX.

Now I have two separate exhaust FX instances where they should be, but definitely not orientated right.

No matter how I change the vector values in the CFG, they never change. Now any ideas?!

screenshot5.png

Link to comment
Share on other sites

Maan, this looks great!! Take some rep! :)

You should rotate the thrustTransform so that the blue arrow is pointing away from the engine nozzle, right now it points upward, so if you just put the pod on the pad it won't launch unless you turn the capsule around. Or is that wanted...?

As for the FX, I ran into the same issues when making my Atlas V. Flames are on both engines, the smoke is only on one engine, and still, I haven't found a real solution for that. :/

But keep it up, it looks really great, and I can't wait to fly it! :)

EDIT: As for the RCS, the green arrow in Unity must point away from the nozzle the FX comes from. Also, I'd suggest using the Stock particle FX, those engine flames for RCS don't look good to me. ;)

Edited by Kartoffelkuchen
Link to comment
Share on other sites

For the FX, I used a third layer of empty objects to act as a spawn point for the FX (I call mine smokePoint)

This is possible because you can specify a different transform in the Particle module than engine module. So I start thrustTransform and smokePoint in the same place and orientation (blue arrow pointing in the direction of thrust) and then move smokePoint where it needs to be to make the FX look right, typically just 'down' below the engine nozzle. Then you can leave fxOffset and rotation as 0 in the config, it really doesn't work that well.

Link to comment
Share on other sites

right now it points upward, so if you just put the pod on the pad it won't launch unless you turn the capsule around

This is intentional. The Dragon capsule has 18 thrusters - 16 of them are for RCS. Two of them are "extra" pointing upward, and are used in de-orbiting. The capsule is launched to rendezvous, and the onboard hydrazine is used for attitude control and deorbiting.

http://www.aviationnews.eu/blog/wp-content/uploads/2009/09/Dragon-qualification-unit.JPG

EDIT: As for the RCS, the green arrow in Unity must point away from the nozzle the FX comes from. Also, I'd suggest using the Stock particle FX, those engine flames for RCS don't look good to me. :wink:

The RCS does use the stock particle FX. The exhaust effect is for the deorbiting engines. I could change them to extra zenith pointing RCS nozzles but then a deorbit burn would take FOREVER. The Draco nozzles on the actual Dragon produces 400 N of thrust, which doesn't translate well to KSP (it would be .4 kN) which would take FOREVER to deorbit. The SuperDraco engines produce 73kN, but are throttled down to 68kN during testing for stability. If I change the RCS nozzle exhaust in KSP from 1kN to 68kN, I feel like the craft would spin out of control. Adjusted down to KSP standards, the full thrust from a SuperDraco engine would be 25kN, which is still WAY too much for RCS.

This is why i wanted to have the two deorbiting nozzles be Engines - to give them 25kN of thrust, which is a good number for deorbit burns - and to keep them separate from the RCS controls.

This is possible because you can specify a different transform in the Particle module than engine module.

To be honest, I didn't think of that. I'll try it out and see if it helps.

EDIT:

BRILLIANT! I added two smokePoint objects and assigned the particle FX to those instead on thrustTransform.

It works!

Thank you so much, Tiberion!

screenshot6.png

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