"When Variable changes"... to what? Any way to show a layer when a variable changes to a specific value?


is there any way to show a layer when a variable changes to a specific value using the Trigger wizard?

For instance, if we take the Trigger Wizard window:

  • Action:  Show layer
  • Layer: [layer name]
  • When: Variable changes
  • Variable: [variable]
  • Condition: [having a drop-down menu for operators] / [having a drop-down menu for values]

The Condition part is made up, as it isn't available. It is available for sliders and dials, but not as a regular function. I absolutely need to give it another instruction so I then add conditions related to variable values, such as "When Timeline ends" or "When user clicks". As of now, I cannot show a layer when a specific variable changes to True and another layer when that same specific variable changes to False; the Variable Change function doesn't allow me to pick specific values, leading me to jury-rig a bunch of triggers to make something simple work as intended.

Yes, I can add a condition such as [variable] == Equal to [value], but that's just repeating the same exact function, because I cannot do so in the first function.

8 Replies
Phil Mayor

Yes,  add a condition at the bottom of the trigger wizard you can add conditions.

Conditions are available for all triggers just press the plus button.

You can add a trigger for when timeline ends on condition variable is equal to.

Or when variable changes on condition. the functionality is there.

JC Goyette

Hi Phil,

This is something I had to do, but I do think it's redundant to tell SL3 to activate a trigger when a variable changes if that same variable changes to a certain value.

It's a condition being repeated for the sake of having a condition that cannot be filled with a regular condition.

JC Goyette
Phil Mayor

Not sure I understand that one. I often use a trigger for when variable changes without a condition. I can see how having the condition available would reduce the mouse clicks. Articulate are always looking at ways to improve the triggers experience so would be worth a feature request.

It's essentially what I'd like to see in the future. The dial and slider have a 5th drop-down menu to pinpoint the exact value you wish to use.

However, for the "Variable changes" function, the software first checks if the variable even changes in the first place. As you demonstrated, you can add a secondary condition so that the trigger further verifies if the variable is of the correct value. The problem is that if the variable doesn't change at all due to a problem, the secondary condition will not verify the variable's value.

Basically, say I want to show a layer if the variable is TRUE. The trigger needs to verify if the variable changes in a first time, but it might not do so if the variable "is not equal" to TRUE. It feels... counterintuitive.

Phil Mayor

Sorry I am now really confused.

The trigger is an event listener so you can then do something, e.g. when the slider moves, when the timeline ends. You are saying to storyline do this when this happens, the condition is just adding a restriction to only do it when this is met.

For the Slider and Dial triggers there is no secondary condition, this is just a condition that has been more elegantly displayed because the expectation is that you want the slider  to do something when the variable has a value.

The when variable changes trigger can be used without a condition, however you can also add a condition there is no secondary condition it works exactly the same way.

If the slider is not working properly (such as being set to the wrong variable)  or the variable does not change then the condition in both cases does nothing. The role of the condition is to ensure that the trigger only fires at a specific point. It is is simple programming. 

JC Goyette
Phil Mayor

For the Slider and Dial triggers there is no secondary condition, this is just a condition that has been more elegantly displayed because the expectation is that you want the slider  to do something when the variable has a value.


I'm simply pointing out that if such a menu is available for sliders and dials, then its omittion for the "variable changes" function is just strange.

You would think that you would be able to tell SL3 to "show a layer when a variable1 changes to TRUE", not "show a layer when a variable1 changes... but only if variable1 is equal to TRUE."

Phil Mayor

You can by using a condition, but for most variables you may not want the condition to relate to that specific variable.

For example you want to show a layer when a variable A, B and C are true.

You would need three triggers each with 3 conditions where A, B and C is true.

Sliders and dials are different you always want the relation to be to the variable in use, for other when variable changes you may want different conditions. I would say 50% of the triggers I create will never reference the variable that is changing. There is a need for a more elegant condition wizard I just think this may make life a bit more difficult for some of us.