Jump to content

So, how come this engines effects wont co-operate with me?


Recommended Posts

If anyone saw my mod thread, then, see? I told you this was a learning experience. :P

Any, my upper stage Sarnus V engine, or Poodle Revamp engine is almost finished. Except the exhaust is acting funky. With the normal Poodle exhaust that hasn't changed in the config, the plume comes from deep within the engine, too deep in fact. And even if I change the parameters it doesn't change location oddly enough.

HsF6m1B.png 

Even weirder, I tried to copy the config from my other engine, and add an FXPoint in Unity for it. Yet, even when I have no throttle, the plume shows up and just stays going! No thrust is being applied, it's only visual. How do I fix this?

Config here.

PART
{
	name = liquidEngine2-2Remake
	module = Part
	author = SmashingKirby
	mesh = model.mu
	rescaleFactor = 0.625
	node_stack_top = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2
	node_stack_bottom = 0.0, -3.1, 0.0, 0.0, -1.0, 0.0, 2
	fx_exhaustFlame_blue = 0.0, -5.74338, 0.0, 0.0, 10.0, 0.0, running
	fx_exhaustLight_blue = 0.0, -5.74338, 0.0, 0.0, 0.0, 1.0, running
	fx_smokeTrail_light = 0.0, -5.74338, 0.0, 0.0, 10.0, 0.0, running
	fx_exhaustSparks_flameout = 0.0, -5.74338, 0.0, 0.0, 10.0, 0.0, flameout
	sound_vent_medium = engage
	sound_rocket_hard = running
	sound_vent_soft = disengage
	sound_explosion_low = flameout
	TechRequired = heavyRocketry
	entryCost = 4200
	cost = 1300
	category = Engine
	subcategory = 0
	title = RE-L10 + SI "Poodle" Liquid Fuel Engine
	manufacturer = Rockomax Conglomerate + Smashing Industries
	description = It is agreed by many that the Poodle engine isn't the prettiest engine out there, and therefore doesn't deserve it's name. Smashing Industries stepped in to help Rockomax solve this dilemma.
	attachRules = 1,0,1,0,0
	mass = 1.75
	heatConductivity = 0.06 // half default
	skinInternalConductionMult = 4.0
	emissiveConstant = 0.8 // engine nozzles are good at radiating.
	dragModelType = default
	maximum_drag = 0.2
	minimum_drag = 0.2
	angularDrag = 2
	crashTolerance = 7
	breakingForce = 200
	breakingTorque = 200
	maxTemp = 2000 // = 3600
	bulkheadProfiles = size2
	tags = lander orbit (poodle propuls rocket Sarnus
	MODULE
	{
		name = ModuleEngines
		thrustVectorTransformName = thrustTransform
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 250
		heatProduction = 83
		fxOffset = 0, 0, 0.4
		EngineType = LiquidFuel
		exhaustDamageDistanceOffset = 1.75
		PROPELLANT
		{
			name = LiquidFuel
			ratio = 0.9
			DrawGauge = True
		}
		PROPELLANT
		{
			name = Oxidizer
			ratio = 1.1
		}
		atmosphereCurve
		{
			key = 0 350
			key = 1 90
			key = 3 0.001
		}
	}
	MODULE
	{
		name = ModuleJettison
		jettisonName = fairing
		bottomNodeName = bottom
		isFairing = True
		jettisonedObjectMass = 0.5
		jettisonForce = 15
		jettisonDirection = 0 0 1
	}
	MODULE
	{
		name = ModuleGimbal
		gimbalTransformName = thrustTransform
		gimbalRange = 4.5
	}
	MODULE
	{
		name = FXModuleAnimateThrottle
		animationName = overheat
		responseSpeed = 0.001
		dependOnEngineState = True
		dependOnThrottle = True
	}
	MODULE
	{
		name = ModuleAlternator
		RESOURCE
		{
			name = ElectricCharge
			rate = 8.0
		}
	}
	MODULE
	{
		name = ModuleTestSubject
		useStaging = True
		useEvent = True
		situationMask = 127
		CONSTRAINT
		{
			type = REPEATABILITY
			value = ALWAYS
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = BODYANDSITUATION
			prestige = Significant
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = ONCEPERPART
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 4000
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 8000
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 2000
			prestige = Significant
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 4000
			prestige = Significant
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 1000
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 2000
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = ALTITUDE
			test = GT
			value = 0 // this just registers altitude as something to care about
			situationMask = 8
		}
		CONSTRAINT
		{
			type = ALTITUDE
			test = LT
			value = 300000
			situationMask = 16
			body = _NotSun
		}
		CONSTRAINT
		{
			type = ALTITUDE
			test = LT
			value = 600000
			situationMask = 32
			body = _NotSun
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 0
			situationMask = 8
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 600
			situationMask = 8
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 300
			situationMask = 8
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 1200
			situationMask = 8
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 600
			situationMask = 8
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 2500
			situationMask = 8
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = LT
			value = 200
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = GT
			value = 100
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = LT
			value = 100
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = GT
			value = 50
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = LT
			value = 50
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = GT
			value = 20
			prestige = Exceptional
		}
	}
	MODULE
	{
		name = ModuleSurfaceFX
		thrustProviderModuleIndex = 0
		fxMax = 0.6
		maxDistance = 30
		falloff = 1.5
		thrustTransformName = thrustTransform
	}
}

As you can see the parameters on the fx_exhaust are slightly different than the normal Poodle. This was me copying the parameters from the Swivel to see if maybe I made a typo. And again, that 10 used to be a 1, but didn't change anything (at least noticeably) in-game. :huh:

Link to comment
Share on other sites

Hi usually with exhaust FX the plume is centered around the thrust transform , so in many case if the thrust transform is too close to the engine bell the fx appear to overlap, simply move the transform away from the ngine. The FX showing all the time means you have something wrong in the cfg usually a transform name or a wrongly named animation

Link to comment
Share on other sites

8 hours ago, SpannerMonkey(smce) said:

Hi usually with exhaust FX the plume is centered around the thrust transform , so in many case if the thrust transform is too close to the engine bell the fx appear to overlap, simply move the transform away from the ngine. The FX showing all the time means you have something wrong in the cfg usually a transform name or a wrongly named animation

 

 

8 hours ago, Eleusis La Arwall said:

@SmashingKirby148 Have you tried to move the thrustTransform in your model?

Hmmm.... this will be awkward because the entire nozzle IS the bell so it can gimbal. :S

Link to comment
Share on other sites

Then your setup should look like this:

gimbalTransform
	|
	--->nozzle_mesh
	--->thrustTransform
		

or even:

gimbalTransform
	|
	--->nozzle_mesh
	--->thrustTransform
	--->smokefxTransform

with the exhaust fx coming out of the thrustTransform and the smoke trail from the smokefxTransform. Key here is to have a separate gimbal transform (that even COULD be your mesh) to which the thrustTransform (and smokefxTransform) are parented to. So they move with the gimbal, but can be placed along the thrust axis of the engine).

OR:

gimbalTransform
	|
	--->nozzle_mesh
	--->thrustTransform
smokefxTransform

with the smoke not reacting to the gimbal (and positioned rather below the nozzle) which might look more natural with the smoke beginning later and only beeing incluenced by the flight path of the vehicle.

Edited by InsaneDruid
Link to comment
Share on other sites

Since you're using vanilla effects, no major model changes should be necessary. You don't need multiple effects objects, thrustTransform is going to be the only important object, and only because it's called in your moduleEngines. When using vanilla effects, this line determines both where the thrust originates and where the effects originate:

thrustVectorTransformName = thrustTransform

You can add more objects until they're coming out your ears, but that is the only one that matters.

In my experience, the easiest way to move the effects linearly along an axis is to modify this line:

fxOffset = 0, 0, 0.4

Try changing that to:

fxOffset = 0, 0, 10 or fxOffset = 0, 0, -10

You may want to use smaller or larger numbers than 10, depending on your model scale (meters, centimeters, etc)

 

My standard disclaimer is that I haven't built a new engine in a while, but I am assuming nothing has changed drastically since mine still work.

 

 

 

Link to comment
Share on other sites

10 minutes ago, Randazzo said:

Since you're using vanilla effects, no major model changes should be necessary. You don't need multiple effects objects, thrustTransform is going to be the only important object, and only because it's called in your moduleEngines. When using vanilla effects, this line determines both where the thrust originates and where the effects originate:


thrustVectorTransformName = thrustTransform

You can add more objects until they're coming out your ears, but that is the only one that matters.

In my experience, the easiest way to move the effects linearly along an axis is to modify this line:


fxOffset = 0, 0, 0.4

Try changing that to:


fxOffset = 0, 0, 10 or fxOffset = 0, 0, -10

You may want to use smaller or larger numbers than 10, depending on your model scale (meters, centimeters, etc)

 

My standard disclaimer is that I haven't built a new engine in a while, but I am assuming nothing has changed drastically since mine still work.

 

 

 

 

Huh, dosn't seem to be working. Where do I need to put it? I put it after the fx lines near the top at the config.

Link to comment
Share on other sites

It's part of moduleEngines

Quote

MODULE
{
name = ModuleEngines
thrustVectorTransformName = thrustTransform
exhaustDamage = True
ignitionThreshold = 0.1
minThrust = 0
maxThrust = 250
heatProduction = 83
fxOffset = 0, 0, 0.4         //  <----- This line
EngineType = LiquidFuel
exhaustDamageDistanceOffset = 1.75
PROPELLANT
{
name = LiquidFuel
ratio = 0.9
DrawGauge = True
}
PROPELLANT
{
name = Oxidizer
ratio = 1.1
}
atmosphereCurve
{
key = 0 350
key = 1 90
key = 3 0.001
}
}


 

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