Link two parameters together?

Hey folks,

I was wondering if it is possible to link two parameters together, or automate one parameter with another one. For example:

  • Parameter 1 has values from 1 - 50 and is getting its values directly from the game engine
  • Parameter 2 has values from 0 - 1 and acts more like an on-off-switch
  • When parameter 1 reaches the value 38, parameter 2 will jump to 1 and trigger something

Instead of creating another parameter in reference to the existing one in the game engine and feeding it to FMOD, wouldn’t it be nice to just trigger parameter 2 inside of FMOD when parameter 1 reaches a certain value? Like linking two faders in a DAW or automating a parameter with another on a synth. There are a lot of possibilities here with creating some chains of reactions all within FMOD without messing around in the game engine.

Is there a feature like this in FMOD? If not, consider this as a request :wink:

1 Like

Hi,

Maybe I’m overlooking it, but in the last bullet:
“When parameter 1 reaches the value 38, parameter 2 will jump to 1 and trigger something”, why can’t you trigger the something with parameter 1 and setting trigger boundaries to 38-50?

For the first look seems like a good feature, however right now I can’t think of a situation when it can’t be implemented with current FMOD features. Maybe you could give some more examples?

Hey,

the overall use case for me is driving changes temporal independent from one another, while being controlled by the same game parameter:

  • Dynamic music: Smoothly fading in and out layers of music using different seek speed or velocity settings
  • Bullet time: Slowing down different elements at different rates using different seek speed or velocity settings

In all these cases parameter 1 will get its values from the game engine and functions as the overall trigger for the events. How fast the behaviour is actually happening, is controlled by parameter 2 with its own settings.

Of course parameter 2 could always be driven from the game engine as well, but as a sound designer I’m not that familiar with tweaking game engines and therefore try to do as many things as I can in FMOD.

But you are right, everything can already be done with the given tools in FMOD. It’s more of a workflow thing.

You can automate a parameter by another parameter by having the event in question as an event instrument.

Create a new event (Event A) and then drag the event with the two parameters (Event B) onto the timeline or a parameter sheet of the first event (Event A).

You can now select the event instrument and add automation to parameter 2. Add a curve to allow parameter 1 to control it. You can set the curve as harshly or smoothly as needed.

Thanks for your input. Unfortunately it’s not working as expected.

When I drag event B (with 2 parameters) onto event A, the 2 parameters are now also available in event A. But their values are not interconnected between the two events. I can have totally different values for the parameters on event A than on B. So automating one parameter using the other in event A won’t effect event B.

Furthermore the main event B (with 2 parameters) contains several loop regions, transitions and sustain points. These won’t work with an event instrument anymore.

Once an event is being referenced in another event, you don’t need to interact with the referenced event. You only need to play the parent event (event A) and adjust event A’s parameters.

The event instrument acts the same way as an async instrument so loop regions and transitions will work just fine. You are right in that sustain points will not work with event instrument, so instead you can use loop regions with escape parameter conditions.

I just found out, that FMOD 2.0 has this feature built in and it’s awesome! So no more workarounds :+1:

how?

I’m interested in this too. Did you find a method other than the nested event?

Here is how you can automate a parameter with another parameter since version 2:

  1. Click on the parameter’s name you want to be automated by a different parameter within the transport bar to select it.

  2. Right click on its name and select “Add Automation” from the context menu.

  1. Afterwards an automation window will appear at the bottom within the editor zone. Click on “Add Curve” and select the parameter, which you want to control the currently selected one, from the list.

Select Parameter

  1. Draw the automation you like.

Draw Automation

1 Like

thanks for spelling this out, appreciate it.

if anyone knows a way to do this without disengaging the original param behaviour that would be great!

It sounds like you want to be able to set the value of the parameter both from your game’s code, and by automating it from another parameter. There are a few different ways to make a parameter whose value is controlled by multiple different sources, but they differ in how they resolve situations in which the parameter is set to different parameter values by different sources.

Exactly what behavior do you want when the parameter is set to one value by your game’s code, but a different value by its automation?

Hi Joseph. I’m trying to make a wheel turn param bump up a speed param, so when the kart is stationary but turning (it can rotate in stationary position) it bumps up the speed param so that the engine revvs a bit during the turn. It’s a clunky idea (I’m trying to fix someone else’s work) so I’ll probably find a better way to do it than this!

But yes you’re right, it’s being controlled by Code. Now I’m more curious how I can preview parameters that are controlled by code so that they don’t snap back to 0 when they reach their target value. Currently if I pull the RPM up to, say 80, it will snap back to 0 when it reaches that amount. Works fine in game just makes previewing/testing in FMOD bit tricky.

Many thanks
Matt

Is the wheel actually animated in your game? If so, it might make more sense to have a “wheel speed” parameter whose value is set by the same code that sets the wheel animation speed, rather than trying to calculate the wheel speed separately in your game code and in FMOD Studio.

If the wheel isn’t animated, one option would be to automate the wheel speed parameter on multiple parameters - specifically, on the cart’s speed built-in parameter and on another parameter that represents “turning speed.” When a parameter is automated on multiple parameters, it adopts the mean of the values to which the automation curves set it, so you’ll have to adjust your automation curves accordingly to prevent the wheel sounding slower than it actually is.

I’m not sure what you mean by this. By default, parameters change instantly when set, and do not automatically change in value unless they’re built-in parameters or subject to parameter velocity.

Could you share a screenshot of the deck and edit parameter dialog of the parameter you’re having this problem with?