Keyfast
Script
Free

Pos Up

By Jack Vaughan
Updated 11/1/2025

About

For each selected layer, animates Y position up by 30px over 30 frames (relative to current value) Now applies custom Bezier easing to the position.y keyframes.

Code

// Cavalry Script: Keyfast - Pos Up
// For each selected layer, animates Y position up by 30px over 30 frames (relative to current value)
// Now applies custom Bezier easing to the position.y keyframes
var selectedLayers = api.getSelection();
if (selectedLayers.length === 0) {
console.warn("No layers are selected. Please select some layers first.");
} else {
var currentFrame = api.getFrame();
var frameOffset = 30; // Number of frames for the animation
var secondFrame = currentFrame + frameOffset;
// Easing data from fastslow Y easing.json
var easingData = [
{
interpolation: 0,
leftBez: { x: -3.0665670527090496, y: -25.3457026717691 },
rightBez: { x: 5.340056419372559, y: 44.13648223876953 },
locked: true,
weightLocked: true
},
{
interpolation: 0,
leftBez: { x: -100.2120136392516, y: -5.839692905031199 },
rightBez: { x: 57.54749298095703, y: 3.353487014770508 },
locked: true,
weightLocked: true
}
];
console.info("Animating Y position on " + selectedLayers.length + " selected layer(s)...");
for (var i = 0; i < selectedLayers.length; i++) {
var layerId = selectedLayers[i];
var layerName = api.getNiceName(layerId);
try {
if (api.hasAttribute(layerId, "position")) {
var pos = api.get(layerId, "position");