-
Notifications
You must be signed in to change notification settings - Fork 19
Controllers
Controllers define the way your effects interact with the game, for example by changing with engine throttle or atmospheric effects. When configuring your effect, you can add Controllers by adding CONTROLLER nodes, which look like this.
CONTROLLER
{
// The name of the controller, which should be unique
name = atmosphereDepth
// The ingame variable to link to. Only a few values are possible
linkedTo = atmosphere_density
}
These variables work as follows:
- Name: The name variable lets you give the controller a name. This will allow Effect Modifiers to link to a controller, so make sure it is something you like writing and not too long.
-
linkedTo: The ingame field that controls how it behaves. Valid values are currently
throttle,atmosphere_density,random,custom
When configuring your effect module, it is usually enough to have a throttle controller and an atmospheric depth controller. However, you can add other controllers, each type is detailed below
A throttle controller links to the engine throttle. It has no special parameters beyond a value of linkedTo of throttle
CONTROLLER
{
// The name of the controller, which should be unique
name = throttle
// The ingame variable to link to. Only a few values are possible
linkedTo = throttle
}
This controller links to the atmospheric depth. It has no special parameters beyond a value of linkedTo of atmosphere_depth
CONTROLLER
{
// The name of the controller, which should be unique
name = atmosphereDepth
// The ingame variable to link to. Only a few values are possible
linkedTo = atmosphere_depth
}
This controller creates randomness that can be used in effects. It has a value of linkedTo of random. It has an additional parameter of range, which is a field used to specify the minimum and maximum of the randomness generated.
CONTROLLER
{
// The name of the controller, which should be unique
name = random
// The ingame variable to link to. Only a few values are possible
linkedTo = random
range = -1,1
}
This controller is a blank slate that can be operated on by other modules to drive effects. It has a value of linkedTo of custom.
CONTROLLER
{
// The name of the controller, which should be unique
name = custom1
// The ingame variable to link to. Only a few values are possible
linkedTo = custom
}