Jump to content

Smoke FX


Recommended Posts

Hello. I am trying to add smoke effects to a mod (it bothered me that there weren't any). This is what I have, but it seems they're not working.

Spoiler

PART
{
	name = AoA.Mk22Vector
	module = Part
	author = Francisco Martinez - martinezfg11
	rescaleFactor = 1
	node_stack_top = 0.0, 0.8926071, 0.0, 0.0, 1.0, 0.0
	TechRequired = supersonicFlight
	entryCost = 38000
	cost = 3150
	category = Engine
	subcategory = 0
	title = MK22-V Afterburning Turbofan Engine
	manufacturer = AoA Technologies
	description = LowBypass afterburning 2D vectoring engine from the engineers at AoA Tech.
	attachRules = 1,0,1,1,0
	mass = 2.8
	heatConductivity = 0.06 // half default
	emissiveConstant = 0.8 // engine nozzles are good at radiating.
	dragModelType = default
	maximum_drag = 0.2
	minimum_drag = 0.2
	angularDrag = 2
	crashTolerance = 7
	maxTemp = 2000 // = 3600
	bulkheadProfiles = mk2
	MODEL
	{
		model = AoATech/Parts/Engine/MK22Vector/model
	}

	EFFECTS
	{

		running_dry
		{
		PREFAB_PARTICLE
			{
				prefabName = fx_smokeTrail_light
				transformName = smokePoint
				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
				localRotation = 1, 0, 0, -90
			}
			AUDIO
			{
				channel = Ship
				clip = sound_jet_low
				volume = 0.0 0.0
				volume = 0.05 0.9
				volume = 1.0 1.0
				pitch = 0.0 0.5
				pitch = 0.05 0.6
				pitch = 0.33 1.0
				pitch = 1.0 1.2
				loop = true
			}
		}

		power_dry
		{
			AUDIO
			{
				channel = Ship
s				volume = 0.0 0.0
				volume = 0.05 0.4
				volume = 1.0 0.9
				pitch = 0.0 0.8
				pitch = 1.0 1.4
				loop = true
			}
		}
		running_wet
		{
			PREFAB_PARTICLE
			{
				prefabName = fx_smokeTrail_light
				transformName = smokePoint
				emission = 0.0 0.0
				emission = 0.05 0.0
				emission = 0.075 0.5
				emission = 1.0 1.25
				speed = 0.0 0.25
				speed = 1.0 1.0
				localOffset = 0, 0, 1
				localRotation = 1, 0, 0, -90
			}
			AUDIO
			{
				channel = Ship
				clip = sound_jet_low
				volume = 0.0 0.0
				volume = 0.05 0.9
				volume = 1.0 1.0
				pitch = 0.0 0.5
				pitch = 0.05 0.6
				pitch = 0.33 1.0
				pitch = 1.0 1.2
				loop = true
			}
		}
		power_wet
		{

			AUDIO
			{
				channel = Ship
				clip = sound_rocket_spurts
				volume = 0.0 0.0
				volume = 0.1 0.3
				volume = 1.0 0.5
				pitch = 0.0 0.5
				pitch = 0.33 0.8
				pitch = 1.0 1.5
				loop = true
			}
			MODEL_MULTI_PARTICLE
			{
				modelName = Squad/FX/afterburner_shock	
				transformName = smokepoint
				emission = 0.0 0.0
				emission = 0.05 0.05
				emission = 0.33 0.1
				emission = 1.0 1.0
				speed = 0.0 0.0
				speed = 0.05 0.05
				speed = 0.33 0.16
				speed = 1.0 1.0
				energy = 0.0 1.5
				energy = 0.33 1.0
				energy = 1.0 1.0
			}
		}
		engage
		{
			AUDIO
			{
				channel = Ship
				clip = sound_vent_medium
				volume = 1.0
				pitch = 2.0
				loop = false
			}
		}
		disengage
		{
			AUDIO
			{
				channel = Ship
				clip = sound_vent_soft
				volume = 1.0
				pitch = 2.0
				loop = false
			}
		}
		flameout
		{
			AUDIO
			{
				channel = Ship
				clip = sound_explosion_low
				volume = 1.0
				pitch = 2.0
				loop = false
			}
		}
	}
	MODULE
	{
		name = MultiModeEngine
		primaryEngineID = Dry
		secondaryEngineID = Wet
		carryOverThrottle = True
		autoSwitchAvailable = False
	}

	MODULE
	{
		name = ModuleEnginesFX
		engineID = Dry
		thrustVectorTransformName = thrustTransform
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 130
		heatProduction = 15
		useEngineResponseTime = True
		engineAccelerationSpeed = 0.5
		engineDecelerationSpeed = 0.5
		useVelocityCurve = False
		flameoutEffectName = flameout
		powerEffectName = power_dry
		//runningEffectName = running_thrust
		engageEffectName = engage
		disengageEffectName = disengage
		spoolEffectName = running_dry
		engineSpoolIdle = 0.05
		engineSpoolTime = 2.0
		EngineType = Turbine
		exhaustDamageMultiplier = 70
		PROPELLANT
		{
			name = LiquidFuel
			resourceFlowMode = STAGE_STACK_FLOW_BALANCE
			ratio = 1
			DrawGauge = True
		}
		PROPELLANT
		{
			name = IntakeAir
			ignoreForIsp = True
			ratio = 40
		}
		atmosphereCurve
		{
			key = 0 9000 0 0
		}
		// Jet params
		atmChangeFlow = True
		useVelCurve = True
		useAtmCurve = True
		flowMultCap = 1.1
		machLimit = 1.75
		machHeatMult = 20.0
		velCurve
		{
			key = 0 1 0 0
			key = 0.35 0.932 0 0
			key = 1 1.13 0.4510796 0.4510796
			key = 1.75 1.5 0 0
			key = 2 1.38 -1.126258 -1.126258
			key = 2.5 0 0 0
		}
		atmCurve
		{
			key = 0 0 1.069445 0.7244952
			key = 0.072 0.08 1.472049 1.472049
			key = 0.17 0.21 1.227685 1.227685
			key = 0.34 0.39 1.01426 1.01426
			key = 1 1 0.969697 0.969697
		}
	}
MODULE
	{
		name = ModuleEnginesFX
		engineID = Wet
		thrustVectorTransformName = thrustTransform
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 215
		heatProduction = 75
		useEngineResponseTime = True
		engineAccelerationSpeed = 0.8
		engineDecelerationSpeed = 0.8
		useVelocityCurve = False
		flameoutEffectName = flameout
		//powerEffectName = running_wet
		runningEffectName = power_wet
		engageEffectName = engage
		disengageEffectName = disengage
		spoolEffectName = running_wet
		engineSpoolIdle = 0.05
		engineSpoolTime = 2.0
		EngineType = Turbine
		exhaustDamageMultiplier = 100
		PROPELLANT
		{
			name = LiquidFuel
			resourceFlowMode = STAGE_STACK_FLOW_BALANCE
			ratio = 1
			DrawGauge = True
		}
		PROPELLANT
		{
			name = IntakeAir
			ignoreForIsp = True
			ratio = 12
		}
		atmosphereCurve
		{
			key = 0 4000 0 0
		}
		// Jet params
		atmChangeFlow = True
		useVelCurve = True
		useAtmCurve = True
		flowMultCap = 1.1
		machLimit = 2.5
		machHeatMult = 20.0

		velCurve
		{
			key = 0 1 0 0
			key = 0.18 0.97 0 0
			key = 0.43 1 0.202683 0.202683
			key = 1 1.42 1.280302 1.280302
			key = 2.5 3.63 0 0
			key = 3 0.58 -2.708558 -2.708558
			key = 3.35 0 -0.6150925 0
		}
		atmCurve
		{
			// less linear because AB has a big ram effect at high speed at high alt.
			key = 0 0 1.666667 1.666667
			key = 0.07066164 0.1397133 1.961396 1.961396
			key = 0.34 0.56 1.084002 1.084002
			key = 1 1 0.5302638 0.5302638
		}
	}
	MODULE
	{
		name = ModuleGimbal
		gimbalTransformName = obj_gimbal
		gimbalRangeXP = 20
		gimbalRangeXN = 20
		gimbalRangeYP = 0
		gimbalRangeYN = 0
		useGimbalResponseSpeed = true
		gimbalResponseSpeed = 20
	}

	MODULE
	{
		name = FXModuleAnimateThrottle
		animationName = engineHeat
		responseSpeed = 0.0005
		dependOnEngineState = True
	}

	MODULE
	{
		name = ModuleAlternator
		RESOURCE
		{
			name = ElectricCharge
			rate = 4
		}
	}

	RESOURCE
	{
		name = ElectricCharge
		amount = 0
		maxAmount = 0
		isTweakable = false
		hideFlow = true
	}

	MODULE
	{
		name = ModuleTestSubject
		useStaging = True
		useEvent = True
		situationMask = 15
		CONSTRAINT
		{
			type = OXYGEN
			value = True
		}
		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
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 450
			situationMask = 8
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 150
			situationMask = 8
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 650
			situationMask = 8
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 250
			situationMask = 8
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 900
			situationMask = 8
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 350
			situationMask = 8
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = DENSITY
			test = GT
			value = 0.2
			situationMask = 8
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = DENSITY
			test = GT
			value = 0.1
			situationMask = 8
			prestige = Significant
		}
		CONSTRAINT
		{
			type = DENSITY
			test = GT
			value = 0.05
			situationMask = 8
			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 = 1000
			prestige = Significant
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 2000
			prestige = Significant
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 500
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 1000
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = ALWAYS
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = BODYANDSITUATION
			prestige = Significant
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = ONCEPERPART
			prestige = Exceptional
		}
	}
}

 

Any help would be appreciated. Thank you.

Link to comment
Share on other sites

Hey guys, I have been looking into the smokepoint issue on the MK22 engine. Seems like there can only be one smokePoint per part, my part has two smokePoints; which causes the smoke to only appear on one nozzle. 

Currently the fix will be to make the smokepoint in the center of the model or somehow add it to the FX. You can pick up the latest on Github where @Wolfair corp. and I are constantly updating it.

https://github.com/WolfairCorp/AoA-Technologies

 

Let me know if there is anything else you think that can be improved on the part.

Link to comment
Share on other sites

45 minutes ago, martinezfg11 said:

like there can only be one smokePoint per part, my part has two smokePoints; which causes the smoke to only appear on one nozzle. 

Currently the fix will be to make the smokepoint in the center of the model or somehow add

I asked @NecroBones about this, I think there is a way to have more than one smokePoint - there are many mods that have two engine nozzles in one part that work fine.

Link to comment
Share on other sites

9 hours ago, martinezfg11 said:

I'll look into it.

I went on your Github and it looks like you did almost the exact same thing I did; did you have absolutely nothing show or it only show from one smokepoint? You can add multiple smokepoints (I've seen them named "smokepoint1, smokepoint2", etc) and have the same FX coming from it.

Link to comment
Share on other sites

9 hours ago, martinezfg11 said:

I'll look into it.

I went on your Github and it looks like you did almost the exact same thing I did; did you have absolutely nothing show or it only show from one smokepoint? You can add multiple smokepoints (I've seen them named "smokepoint1, smokepoint2", etc) and have the same FX coming from it.

If there's anything I can do to help don't hesitate to ping me.

Link to comment
Share on other sites

28 minutes ago, DuoDex said:

I went on your Github and it looks like you did almost the exact same thing I did; did you have absolutely nothing show or it only show from one smokepoint? You can add multiple smokepoints (I've seen them named "smokepoint1, smokepoint2", etc) and have the same FX coming from it.

If there's anything I can do to help don't hesitate to ping me.

I have two smokePoint transforms. Both named smokePoint.  I will need to go into the Unity Prefab and do some adjustments there. Right now the smoke only comes from one nozzle. 

Link to comment
Share on other sites

38 minutes ago, martinezfg11 said:

I have two smokePoint transforms. Both named smokePoint.  I will need to go into the Unity Prefab and do some adjustments there. Right now the smoke only comes from one nozzle. 

Having two smokepoints with the same name could definitely be the cause of some of this weirdness.

Link to comment
Share on other sites

11 hours ago, DuoDex said:

Having two smokepoints with the same name could definitely be the cause of some of this weirdness.

Same name will result only the 1st works.

And BTW, how to add more than one smoke trail? Add 2 PREFAB_PARTICLE in the same effect?

Link to comment
Share on other sites

3 minutes ago, flywlyx said:

Same name will result only the 1st works.

And BTW, how to add more than one smoke trail? Add 2 PREFAB_PARTICLE in the same effect?

Probably, haven't tested it myself but I have seen several mods with 2 PREFAB_PARTICLE in the same effect.

Link to comment
Share on other sites

On 2/21/2017 at 11:41 AM, DuoDex said:

I asked @NecroBones about this, I think there is a way to have more than one smokePoint - there are many mods that have two engine nozzles in one part that work fine.

 

Multiple smoke points is something I'd expect to work, but I haven't really tested it (that I can recall off hand). Most of the stock parts, and also my multi-engine parts, use a single smoke emitter right in the middle. It's a bit of a framerate saver. :)

 

Multiple prefab emitters can be done, but they have to be assigned separate names (which are often missing in stock configs).

Link to comment
Share on other sites

You can have multiple smokepoint on one model when using PREFAB_PARTICLE. You just need to give the smokepoints different names and reference them individually in the .cfg file.

PREFAB_PARTICLE
      {
        name = smoketrail1
        prefabName = fx_smokeTrail_medium
        transformName = fxTransform1                 // <-----------smokepoint number 1
        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, 0
      }
      PREFAB_PARTICLE
      {
        name = smoketrail2
        prefabName = fx_smokeTrail_medium
        transformName = fxTransform2                 // <-----------smokepoint number 2
        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, 0
      }
      PREFAB_PARTICLE
      {
        name = smoketrail3
        prefabName = fx_smokeTrail_medium
        transformName = fxTransform3                 // <-----------smokepoint number 3
        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, 0
      }

Link to comment
Share on other sites

 

1 hour ago, Enceos said:

If a model has two or more objects with identical names PartTools renames the second object with suffix .001 and counting.

I believe that's just a Blender specific way of handling meshes with identical names.

Edited by martinezfg11
Link to comment
Share on other sites

4 hours ago, liquidhype said:

 


 PREFAB_PARTICLE
      {
        name = smoketrail3
        prefabName = fx_smokeTrail_medium
        transformName = fxTransform3                 // <-----------smokepoint number 3
        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, 0
      }


"name = smoketrail3"

That's not stock, isn't?

We're not using SmokeScreen for now.

For now my config looks like this:

	EFFECTS
	{

		running_dry
		{
			PREFAB_PARTICLE
			{
				prefabName = fx_smokeTrail_light
				transformName = smokePoint1
				emission = 0.0 0.0
				emission = 0.05 0.0
				emission = 0.075 0.5
				emission = 1.0 1.25
				speed = 0.0 0.25
				speed = 1.0 1.0
				localOffset = 0, 0, 1
				localRotation = 1, 0, 0, -90
			}
			PREFAB_PARTICLE
			{
				prefabName = fx_smokeTrail_light
				transformName = smokePoint2
				emission = 0.0 0.0
				emission = 0.05 0.0
				emission = 0.075 0.5
				emission = 1.0 1.25
				speed = 0.0 0.25
				speed = 1.0 1.0
				localOffset = 0, 0, 1
				localRotation = 1, 0, 0, -90
			}
			AUDIO
			{
				channel = Ship
				clip = sound_jet_low
				volume = 0.0 0.0
				volume = 0.05 0.9
				volume = 1.0 1.0
				pitch = 0.0 0.5
				pitch = 0.05 0.6
				pitch = 0.33 1.0
				pitch = 1.0 1.2
				loop = true
			}
		}
4 hours ago, martinezfg11 said:

Waiting for config changes from @Wolfair corp.

 

As soon as it works...

Edited by Wolfair corp.
Link to comment
Share on other sites

7 hours ago, martinezfg11 said:

 

I believe that's just a Blender specific way of handling meshes with identical names.

I stand corrected. After checking the part hierarchy in the game I indeed found the identical names untouched.

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