Jump to content

[Solved*]Need help with engine: No thrust


Torminator

Recommended Posts

EDIT- I solved the problem, I'm just not sure /how/. See my first post on page 2.

From what I've read, it seems like an issue with my thrustTransform object. I'm using the cloned .cfg from the SQUAD aerospike, so it should work. (made sure the references were all correct, deleted original) I've also tried with several others.

The engine just doesn't produce thrust. It makes noise, and gives a thrust readout on right-click, but it doesn't go anywhere, even under hacked gravity. Here's the two screens in Unity. Ignore the texture: It's just something I threw together to test my UV map.

Things I checked already:

transform name is correct to reference in .cfg file

transform is outside of collider

transform is under same game object as part

Xgkcn7bh.png

3k3t8Nbh.png

So, help me out: What am I doing wrong?

Edited by Torminator
Link to comment
Share on other sites

Not at my main computer atm, but the .cfg is literally the exact same as the stock Toroidal Aerospike (again, the model and thrust transform names are still correct), and a picture would involve it being mounted on a capsule looking pretty. No exhaust plume, no smoke, no impulse. I also tried a modified stock radial liquid engine, and a modified config from B9's Turbojet. I'm trying to learn config file syntax to write my own, but it's tricky since so much of the information on the wiki and in threads is outdated or contradictory. It's hard to tell what's current and what's not. So I'm just using existing ones to minimize the possible sources of error.

Just since I realized it may be confusing: "KSP" is the name of my model, since I'm lazy with naming.

Link to comment
Share on other sites

Understandable. I was just hoping someone might see something and say "You mis-spelled thrust" or something nice like that. I frequently miss things like that because I see the word I wanted to type.

Here's the config, just for giggles.

PART
{
// this is a sample config file, for determining a good file format for defining part parameters
// comment line - ignored by cfg parser
// empty lines, or lines without a '=' sign are also ignored
// all other lines are split at the '=' sign, and the left operand is used to know what parameter we are setting
// diferent parameters require data in different formats (see docs), and each module has it's own parameters (again, see docs)
// each assignment must be in a single line. Lines without assignments will be ignored. (You CAN turn on word wrap, though)
// each keyword here relates to an existing variable in the assigned module. If the keyword isn't found, it is ignored.
// conversely, if a keyword is left unassigned (as in not in the file), it will be initialized with it's default value
// This is done automatically, so any public variable defined in the loaded module can be accessed this way (provided it's value can be parsed)


// --- general parameters ---
name = toroidalAerospike
module = Part
author = C. Jenkins

// --- asset parameters ---
mesh = model.mu
scale = 1.0

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

node_stack_top = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0



// --- FX definitions ---

fx_exhaustFlame_blue = 0.0, -0.0, 0.0, 0.0, 1.0, 0.0, running
fx_exhaustLight_blue = 0.0, -0.0, 0.0, 0.0, 0.0, 1.0, running
fx_smokeTrail_light = 0.0, -0.0, 0.0, 0.0, 1.0, 0.0, running
fx_exhaustSparks_flameout = 0.0, -0.0, 0.0, 0.0, 1.0, 0.0, flameout

// --- Sound FX definition ---

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

// --- editor parameters ---
mass = 1.5
cost = 850
category = Propulsion
subcategory = 0
title = Toroidal Aerospike Rocket
manufacturer = C7 Aerospace Division.
description = Toroidal Aerospike engines feature a heavy spiked nozzle. The engine makes up for this with an efficient burning of fuel at all altitudes.

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

MODULE
{
name = ModuleEngines
thrustVectorTransformName = thrustTransform
exhaustDamage = True
ignitionThreshold = 0.1
minThrust = 0
maxThrust = 175
heatProduction = 550
fxOffset = 0, 0, 0.25
PROPELLANT
{
name = LiquidFuel
ratio = 0.9
DrawGauge = True
}
PROPELLANT
{
name = Oxidizer
ratio = 1.1
}
atmosphereCurve
{
key = 0 390
key = 1 388
}

}

MODULE
{
name = ModuleAnimateHeat
}

}

Screenshot of it not working IMk73Pu.jpg

The screenshot is almost definitely useless, but who knows, maybe engines can't be red or something.

Link to comment
Share on other sites

Well, you didn't change the name of the part at the top, its still toroidalAerospike like the stock one. Are you sure the original is gone from Gamedata/Squad? You should change the name anyway, won't hurt anything.

The screenshots from Unity are pretty lowrez, so I can't see much detail. You don't need to have the transform outside of the collider or model like that, though. I always put the transform pivot right where I want the FX to start animating, usually at the neck of a nozzle on rocket engines.

Also, try dragging the transform so that it is parented to your KSP object, having it on the same level as the main object may be removing it from the engine's hierarchy (I have had 2 objects on that level before, but never an engine transform)

Everything else looks okay, so hopefully one of those things makes a difference.

Edited by Tiberion
Link to comment
Share on other sites

Tried changing the name, and even went through and re-wrote the config to make it purely an intake, using the same empty object as the intake transform. Works as an intake, it just doesn't, you know, take in. In other words, a jet engine will run, but once the 5 units of air run out, it stops.

Right Click behaves like an engine. Debug doesn't say anything helpful. Tried putting the empty under KSP in the hierarchy (in other words, GameObject -> KSP -> Intake rather than GameObject -> KSP, Intake)

It almost has to be a problem with setting up the transform, since the model loads, the texture loads, and the game sees the thing as an engine/intake just fine. It just doesn't work.

Config for the intake version:

PART
{
// this is a sample config file, for determining a good file format for defining part parameters
// comment line - ignored by cfg parser
// empty lines, or lines without a '=' sign are also ignored
// all other lines are split at the '=' sign, and the left operand is used to know what parameter we are setting
// diferent parameters require data in different formats (see docs), and each module has it's own parameters (again, see docs)
// each assignment must be in a single line. Lines without assignments will be ignored. (You CAN turn on word wrap, though)
// each keyword here relates to an existing variable in the assigned module. If the keyword isn't found, it is ignored.
// conversely, if a keyword is left unassigned (as in not in the file), it will be initialized with it's default value
// This is done automatically, so any public variable defined in the loaded module can be accessed this way (provided it's value can be parsed)


// --- general parameters ---
name = Dorsal Nacelle
module = Part
author = me

// --- asset parameters ---
mesh = model.mu
scale = 1.0

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

node_stack_top = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0



// --- FX definitions ---


// --- Sound FX definition ---


// --- editor parameters ---
mass = 1.5
cost = 850
category = Propulsion
subcategory = 0
title = Nacelle
manufacturer = C7 Aerospace Division.
description = ...

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

MODULE
{
name = ModuleResourceIntake
resourceName = IntakeAir
checkForOxygen = true
area = 0.01
intakeSpeed = 10
intakeTransformName = Intake
}

RESOURCE
{
name = IntakeAir
amount = 5
maxAmount = 5
}


}

EDIT- Here's the full size. Sorry about that

3k3t8Nb.png

Xgkcn7b.png

Link to comment
Share on other sites

Just did, still nothing.

This is really quite frustrating, just because I can't figure out where the error is. I'm doing things exactly like others have done them, as far as I can tell. Don't get me wrong, I really appreciate the help you guys are giving me, I had just hoped it would be something obvious and easy to fix.

Here's my entire workflow process, just in case I'm doing something wrong somewhere else in the chain.

1. Make mesh in Blender, centered on 0,0,0

2. Unwrap mesh

3. export mesh as .dae

4. make simple texture in photoshop, export as .tga

5. open unity, new project, add part tools .20 plugin

6. Setup part tools plugin

7. new empty gameobject, add part tools plugin to it

8. import .dae mesh and texture as assets, assign texture to mesh. Add mesh collider

9. create new empty game object, place it under the primary game object and on the same level as the mesh, name it thrustTransform. Position properly. (Z axis in thrust vector)

10. in Part Tools, set name as "model", texture type as .mbm, path url as me/Parts/Nacelle, click write

11. Run trimmed down KSP install with no mods except mine, see the part, place the part

12. Launch. Space activates engine, shift makes noise, fuel goes down, but no thrust is produced, nor is there any smoke or particles. I even looked inside the mesh to make sure they weren't just misplaced.

I'm hesitant to say "Stupid unity isn't working!" because only a fool blames the tools, but I may re-install just to make sure there isn't something bugged there. I definitely didn't install some of the extra stuff that came with it.

EDIT- the only other thing I can think of is that I didn't open a new blend to make this. I used an existing project, saved it under a different name, and then deleted everything in the scene. Shouldn't make a difference, but who knows?

Edited by Torminator
Link to comment
Share on other sites

Okay, wiped Unity, re-installed. Started new blender project, remade model from scratch. Made completely new texture, opened Unity, manually added the part-tools script through import package, imported model, created empty game objects for the part tools, thrust transform (it's back to trying to be an engine...), and a surface attach node point, since I wanted to try that.

In short, everything was re-done from scratch, and still nothing. At this point I really can't think of anything else to try. I've checked the ksp.log, and there are no error messages during part loading or use.

On a whim, I attached the old mesh, parented to the thrust transform just to see if I could get vectoring to work. The second mesh doesn't even show up. This indicates either that KSP isn't seeing my thrustTransform object at all, or that I messed something up in another way.

EDIT- forgot a collider for the "nozzle". Also, realized KSP was still loading the old texture for the new model. Deleted old folder and now, for reasons I can't even comprehend, the thing works.

I would be happy if I knew why... *sigh*

EDIT2- Okay, doesn't seem to depend on the Nozzle. It's either re-hierarchying (that's a word now) the transform under the model, even though the example picture you posted (http://forum.kerbalspaceprogram.com/showthread.php/26118?p=343215&viewfull=1#post343215) shows a level hierarchy with no problems, deleting the old folder (which wouldn't explain why THAT one didn't work), or, and this is possibly the most likely, that reload database does not fully reload the part, and a full restart is necessary.

Additionally, I was getting weird errors in Unity when writing the part without realizing it before the reinstall, so it's possible that one of the proposed solutions that I thought I tried and didn't work actually never got applied.

Edited by Torminator
Link to comment
Share on other sites

  • 2 weeks later...
  • 1 year later...
Okay, wiped Unity, re-installed. Started new blender project, remade model from scratch. Made completely new texture, opened Unity, manually added the part-tools script through import package, imported model, created empty game objects for the part tools, thrust transform (it's back to trying to be an engine...), and a surface attach node point, since I wanted to try that.

In short, everything was re-done from scratch, and still nothing. At this point I really can't think of anything else to try. I've checked the ksp.log, and there are no error messages during part loading or use.

On a whim, I attached the old mesh, parented to the thrust transform just to see if I could get vectoring to work. The second mesh doesn't even show up. This indicates either that KSP isn't seeing my thrustTransform object at all, or that I messed something up in another way.

EDIT- forgot a collider for the "nozzle". Also, realized KSP was still loading the old texture for the new model. Deleted old folder and now, for reasons I can't even comprehend, the thing works.

I would be happy if I knew why... *sigh*

EDIT2- Okay, doesn't seem to depend on the Nozzle. It's either re-hierarchying (that's a word now) the transform under the model, even though the example picture you posted (http://forum.kerbalspaceprogram.com/showthread.php/26118?p=343215&viewfull=1#post343215) shows a level hierarchy with no problems, deleting the old folder (which wouldn't explain why THAT one didn't work), or, and this is possibly the most likely, that reload database does not fully reload the part, and a full restart is necessary.

Additionally, I was getting weird errors in Unity when writing the part without realizing it before the reinstall, so it's possible that one of the proposed solutions that I thought I tried and didn't work actually never got applied.

Really wish there was a more simple solution and direct cause I'm having the exact same issue down to the letter. I've tried everything you have done

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