Skip to content
Chris Adderley edited this page Jul 22, 2019 · 3 revisions

Deployable Engines is a plugin that mod authors can use to manage engines that need to be extended or otherwise have an animation played before they can be used.

ModuleDeployableEngine

This module provides a simple interface to play an animation before igniting an engine. Note that this module shares an animation between states if used in a MultiModeEngine - the animation will not play again when switching between modes.

Setup

Simply add the ModuleDeployableEngine block to the config. The part should contain an animation that starts in the 'closed' state. The part should also contain an engine - it must use ModuleEnginesFX, not the legacy ModuleEngines.

Fields

  • EngineAnimationName: The name of the animation as exported
  • Layer: This ensure the animation is played on a separate layer to avoid conflict with other animations on the part. Set it to something unique
  • WaitForAnimation: A fractional value where 1.0 = the end of the animation. When the animations reaches this fraction, the engine will activate

Examples

MODULE
{
	name = ModuleDeployableEngine
	EngineAnimationName = NozzleExtend //name of animation
	WaitForAnimation = 0.95
	Layer = 1
}

ModuleMultiStateEngine

This module provides a way to change the animated state of part between engine modes. The part will be animated between the two states.

Setup

Simply add the ModuleMultiStateEngine block to the config. The part should also contain a MultiModeEngine module and two engines - both must use ModuleEnginesFX, not the legacy ModuleEngines.

The part should also contain an animation.

Fields

  • EngineAnimationName: The name of the animation as exported
  • Layer: This ensure the animation is played on a separate layer to avoid conflict with other animations on the part. Set it to something unique
  • SpeedMultiplier: Higher number, faster speed
  • EngineIDAtTimeZero: The engineID field from the instance of ModuleEnginesFX that should be running when the animation is at t=0.

Examples

MODULE
{
	name = ModuleMultiStateEngine
	EngineAnimationName =  OpenJet
	Layer = 4
	SpeedMultiplier = 4
	EngineIDAtTimeZero = AirBreathing
}

ModuleAdvancedLookAtConstraint

A version of the basic FXModuleLookConstraint with the addition of better viewing vector handling. Tries (mostly successfully) to ensure a constrained object's up vector (green transform in unity) matches the up vector of the target object, which resolves problems with things like almost vertical/vertical gimbal actuators

Setup

replace the FXModuleLookConstraint's name field with ModuleAdvancedLookAtConstraint in the config. Use identically to the old one.

Examples

MODULE
{
	name = ModuleAdvancedLookAtConstraint
	CONSTRAINLOOKFX
	{
		targetName = HecateCylUpper001
		rotatorsName = HecateCylLower001
	}
	CONSTRAINLOOKFX
	{
		targetName = HecateCylUpper002
		rotatorsName = HecateCylLower002
	}
}