Expression with thisLayer Controls

for thisLayer you do not need to include a variable declaring it. However, for best practises I always find it a good idea to include it so the expression is easily editable in the future.

Example 1:

Property: position Controls: Slider Description: adjusts position with an x slider and y slider

/*
===expression.lib functions===
addSliderControl('thisLayer','X Position',0);
addSliderControl('thisLayer','Y Position',0);
===expression.lib end functions===
*/
//set target
var target = thisLayer;
//get effects from target
var xSlider = target.effect("X Position")("Slider");
var ySlider = target.effect("Y Position")("Slider");
//set x Position
var x = value[0] + xSlider;
//set y position
var y = value[1] + ySlider;
[x,y]

Example 2:

Property: rotation Controls: Slider, Angle Description: Sets the rotation to the angle * the slider

/*

===expression.lib functions===

addSliderControl('thisLayer','multiplier',0);

addAngleControl('thisLayer','rotation',10);

===expression.lib end functions===

*/

//set target

var target = thisLayer;

//get effects from target

var multi = target.effect("multiplier")("Slider");

var rot = target.effect("rotation")("Angle");

//set rotation

rot*multi

Example 3:

Property: scale Controls: Slider, Checkbox Description: Add the slider value to base value when checkbox is ticked.

/*


===expression.lib functions===

addSliderControl('thisLayer','Increase Amount',100);


addCheckboxControl('thisLayer','Size Increase',0);


===expression.lib end functions===


*/


//set target

var target = thisLayer;

//get effects from target

var checkbox = target.effect("Size Increase")("Checkbox");

var increase = target.effect("Increase Amount")("Slider");

//set scale

if ( checkbox == 1 ) {
	
    [value[0] + increase, value[1] + increase]

}else {
	
    value;

}

Last updated

Was this helpful?