Jump to content

[WIP] Blue Origin BE-4 Engine


GusTurbo

Recommended Posts

Cool :)

I mean, I'd never use the boattail probably, so I wouldn't recommend it for me. Just tossing it out there as it may have been what Cpt. Kipard meant.

I meant something that fits over the tank in some way, otherwise the engines seem to float.

Or maybe make an adapter for a double engine.

Edited by Cpt. Kipard
Link to comment
Share on other sites

Added a support structure to the top, and now it flies! Note: these two things are not necessarily related.

(snip pix)

Rocket has no exhaust, however.

Looks good.

You said you used a NASA engine for the config template? Did you update the transformName in the EFFECTS section? Those should match your thrustVectorTransformName in ModuleEnginesFX, unless you added extra transforms for the flame and smoke effects.

Link to comment
Share on other sites

I meant something that fits over the tank in some way, otherwise the engines seem to float.

Or maybe make an adapter for a double engine.

Yeah, the floating thing is a bit annoying, with the 3.75m tanks. I'll try to come up with an adapter that provides a flat mounting surface. I was also considering a dual-engine configuration that would be mostly enclosed like the current Atlas V.

Link to comment
Share on other sites

Looks good.

You said you used a NASA engine for the config template? Did you update the transformName in the EFFECTS section? Those should match your thrustVectorTransformName in ModuleEnginesFX, unless you added extra transforms for the flame and smoke effects.

They match, so I don't understand why it still doesn't work. Here's what they look like in the cfg file.

EFFECTS

{

running_closed

{

AUDIO

{

channel = Ship

clip = sound_rocket_hard

volume = 0.0 0.0

volume = 1.0 1.0

pitch = 0.0 0.2

pitch = 1.0 1.0

loop = true

}

PREFAB_PARTICLE

{

prefabName = fx_smokeTrail_veryLarge

transformName = thrustTransform

emission = 0.0 0.0

emission = 0.05 0.0

emission = 0.075 0.25

emission = 1.0 1.25

speed = 0.0 0.25

speed = 1.0 1.0

localOffset = 0, 0, 1

}

MODEL_MULTI_PARTICLE

{

modelName = Squad/FX/ks1_Exhaust

transformName = thrustTransform

emission = 0.0 0.0

emission = 0.05 0.0

emission = 0.075 0.25

emission = 1.0 1.25

speed = 0.0 0.5

speed = 1.0 1.2

}

}

engage

{

AUDIO

{

channel = Ship

clip = sound_vent_soft

volume = 1.0

pitch = 2.0

loop = false

}

}

flameout

{

PREFAB_PARTICLE

{

prefabName = fx_exhaustSparks_flameout_2

transformName = thrustTransform

oneShot = true

}

AUDIO

{

channel = Ship

clip = sound_explosion_low

volume = 1.0

pitch = 2.0

loop = false

}

}

}

MODULE

{

name = ModuleEnginesFX

thrustVectorTransformName = thrustTransform

engineID = BE-4

runningEffectName = running_closed

exhaustDamage = True

ignitionThreshold = 0.1

minThrust = 0

maxThrust = 1250

heatProduction = 400

fxOffset = 0, 0, 1.5

PROPELLANT

{

name = LiquidFuel

ratio = 0.9

DrawGauge = True

}

PROPELLANT

{

name = Oxidizer

ratio = 1.1

}

atmosphereCurve

{

key = 0 342

key = 1 307

}

This is really frustrating, since I don't know if it works or not until I load up the game, and it takes several minutes from clicking KSP.exe to actually launching.

My thrust transform is called thrustTransform in Unity, so that wouldn't seem to be the issue.

Edited by GusTurbo
Link to comment
Share on other sites

You can just hit alt+F12 to open the debug menu, go to database and hit reload (while in the space center scene, not in the VAB or any flight scene) and it will reload the game database including any changed configs, models, or textures. So you don't need to relaunch KSP every time.

Also a screenshot of the "Hierarchy" panel from unity might help.

Link to comment
Share on other sites

Thanks for the tip on reloading. That will be a big time (and frustration) saver!

Here's a screenshot of my Unity:

dNqeBvJ.png

I initially tried to use the names of things in one of Squad's parts as a guide, and when that didn't work, I tried setting everything to use the thrustTransform.

Link to comment
Share on other sites

Hmm, it all looks okay, the only thing I can possibly see is the name of your export container "BE-4 Export 2" - I've never tried having spaces in the hierarcy of names, so that could be breaking the path that the engine module is using to find the thrustTransform (while the asset loader is fine with it, it loads pretty much anything. Try naming that BE4_Export_2 and exporting again.

Also, the purpose of that "smokePoint" object is to let you set the spawn point of your flames and smoke in a different place than the thrustTransform, I typically find I have to offset the smokePoint 'down' a bit to get the flame to hit the engine right. The separate objects are also useful for multi-engine or nozzle parts and other useful things.

Also, I assume the thrustTransform is oriented with +Z (blue arrow) pointing down?

Link to comment
Share on other sites

Okay, so this is a bit silly, but the actual problem is that I forgot to change the GameData directory after .90 came out, so I've been writing to the wrong folder. Doh!

Now I've got it!

7na74QH.png

Edited by GusTurbo
Link to comment
Share on other sites

Yeah smokePoint or whatever should be +Z down. Or rather, its more correct to say that your FX outpoint to be towards that objects local +Z, so you point that where you want your the FX to go. The same applies to thrustTransform as well. You could have the thrustTransform pointed straight down (global +Z) and have your engine's nozzle/bell and the smokePoint pointing 45 degrees off if you wanted and it would still work. Most of the time they'll be aligned though (and previous to the fairly recent engine module update, it was hardcoded that they were aligned.)

Also, yes you must reload for any cfg changes as well. The reload button basically reloads all the assets in GameData

Do note that it can get in a weird state sometimes, so if you seem something odd and you can't seem to fix it, be sure to restart KSP entirely before you start tearing things apart.

Link to comment
Share on other sites

Thanks to everyone for being willing to help me learn!

Ok, the latest challenge is setting up engine gimballing. I understand how to set it up in Unity and the cfg file, but I'll need to figure out how the model itself should move, based on its structure.

Link to comment
Share on other sites

Yeah given that your engine is fully modeled, there would be a pivot point that the chamber, pump assembly and nozzle all rotate around, between them and the brackets that mount it to the tank.

In a lot of KSP engines they sort of fudge it and have the nozzle and throat separate from the pump and chamber section, and just gimbal that part; it's even less ovvious if most of it is hidden behind tankbutt and the like.

Link to comment
Share on other sites

That's something you should have done before you started modelling.

Captain Hindsight, AWAY!

That's the great part about learning experiences. You learn things as you experience them. :P

The problem was that I couldn't figure out what point to have it pivot at, and it turned out that I modeled it slightly incorrectly, as far as what the gimbal outriggers(?) were attached to. I've now corrected that.

Yeah given that your engine is fully modeled, there would be a pivot point that the chamber, pump assembly and nozzle all rotate around, between them and the brackets that mount it to the tank.

In a lot of KSP engines they sort of fudge it and have the nozzle and throat separate from the pump and chamber section, and just gimbal that part; it's even less ovvious if most of it is hidden behind tankbutt and the like.

So I know where I want it to pivot, and it's a place that makes sense. The only problem now is that I have to make the gimbal outrigger arms move in a believable way, or at least a semi-believable way. Not sure how to accomplish that.

Link to comment
Share on other sites

So I know where I want it to pivot, and it's a place that makes sense. The only problem now is that I have to make the gimbal outrigger arms move in a believable way, or at least a semi-believable way. Not sure how to accomplish that.

Well, you CAN have multiple gimbal objects, but they will all rotate from their origins according to the flight inputs, and if they are offset from the centerline (say + and - X) then the + side will rotate one way and the - side the other way when yawing.

Whereas all objects that are the childen of a gimbal object (and not sharing the gimbal transform name) will just move with it - so depending on what looks better, you can have the arms static, or move with the gimbal. If you keep the gimbal range low (like <5%) then the amount of visual "travel" is limited and it might look okay without detailed inspection. Also, the position of the origin matters a lot, so if you move it up level with the top of the arm brackets, it might look like the whole thing is swinging from the frame mount.

Link to comment
Share on other sites

Is there any official word on whether the real engine gimbals? You know if not then you don't have to make it gimballed. It's ok. Not all of them are. You can always make another replica that does it IRL.

I haven't found anything about its gimbal capabilities, but I would be surprised if it can't gimbal. Nearly every rocket engine, excluding RCS engines, have gimbal capabilities. Usually much higher than in KSP. The F-1 had a 6 degree gimbal range and I think the SSME / RS-25 had about 10 degrees or so. But yeah, flying rockets in real life would be really difficult without gimballing. Sometimes they use gas thrusters. The Ares I would have used gas thrusters to provide roll control authority.

Link to comment
Share on other sites

So I know where I want it to pivot, and it's a place that makes sense. The only problem now is that I have to make the gimbal outrigger arms move in a believable way, or at least a semi-believable way. Not sure how to accomplish that.

Not sure if I'm answering your question, but there is a MODULE called FXModuleLookAtConstrain. I've seen it used on KOSMOS engines, and I think Bobcat engines.


MODULE
{
name=FXModuleLookAtConstraint
CONSTRAIN
{
targetName = someTransformName
rotatorsName = someOtherTransformName
}

There can be multiple CONSTRAIN groups in the module. Maybe that gives you info to look for?

Link to comment
Share on other sites

All right, so I've got the engine in-game and gimbal is working and looks acceptable. The mass, thrust, and cost are placeholders at the moment. ISP is 307 sea level, 342 vac, which are the values I've found for the real thing. The next thing I need to learn how to do is the emissive. After that, it should be ready for a preliminary release.

XUhKTyG.png

Link to comment
Share on other sites

Can we see the gimbal animation? I still can't figure out where you could possibly put the pivot. That thing looks solid.

I thought it might pivot from the part where the 4 outrigger arms connect. I am now convinced that is very wrong. I've also found an image I hadn't seen before on instagram showing somsome glaring errors in my model.

N6DKhdl.jpg

http://instagram.com/p/tDi6WtGPdz

Found in this NSF thread: http://forum.nasaspaceflight.com/index.php?topic=35655.msg1261169#msg1261169

This is going to require some major backtracking, but there's no way I can put out something so clearly flawed. Ah well, the work will go faster this time! Just goes to show that I should have done more homework first.

As far as the gimbal goes, the entire structure of the engine will have to move, because there is no part of it that can move without taking something with it. Previously I thought that those outriggers were what made the engine gimbal. Now, I think they're actually support that the gimbal actuators attach to. Here's what I'm thinking:

ZDXImJp.png

This is consistent with what I've seen on reference images of other engines, so I think I might have actually hit on the correct thing here. Also, it means that the support structure has got to go, because it would physically restrain the engine from moving.

A helpful NASA image about ththe J-2X:

1038175.jpg

Edited by GusTurbo
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...