Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function(){
- var comp = app.project.activeItem;
- var layers = comp.selectedLayers;
- var markers = comp.markerProperty;
- // MOVE LAYERS TO MARKERS
- app.beginUndoGroup("Move Layers to Markers");
- for (var l = 0; l < layers.length; l++) {
- for (var m = 1; m <= markers.numKeys; m++) {
- var layerName = layers[l].name.split(' - ')[0];
- var markerName = markers.keyValue(m).comment.split(' - ')[0];
- var markerTime = markers.keyTime(m);
- if (layerName == markerName) {
- layers[l].startTime = markerTime;
- break;
- }
- }
- }
- app.endUndoGroup();
- app.beginUndoGroup("Set Keyframes");
- // PARAMETERS
- var startTime = app.project.activeItem.selectedLayers.inPoint;
- var waitFrames = 5;
- var fps = comp.frameRate;
- var frameGap = waitFrames / fps;
- var endTime = startTime + frameGap;
- var spacingY = 60;
- var startPosX = 950;
- var moveX = 300;
- var endPosX = startPosX + moveX;
- var startPosY = 100;
- function deleteAllKeys(theProperty) {
- while (theProperty.numKeys) {
- theProperty.removeKey(1);
- }
- }
- for (var i = 0; i < layers.length; i++) {
- var layerPosX = layers[i].transform.position.getSeparationFollower(0);
- var layerPosY = layers[i].transform.position.getSeparationFollower(1);
- var layerOpacity = layers[i].property("Opacity");
- var layerScale = layers[i].property("Scale");
- var name1 = layers[i].name.split('-')[0];
- var name2 = name1.split(' ')[0];
- if (name2 == "SHAPE") {
- // DELETE ALL KEYFRAMES
- deleteAllKeys(layerPosX);
- deleteAllKeys(layerPosY);
- deleteAllKeys(layerOpacity);
- deleteAllKeys(layerScale);
- // SET IN ANIMATION KEYFRAMES
- layerOpacity.setValueAtTime(layers[i].inPoint, 0);
- layerOpacity.setValueAtTime(layers[i].inPoint+frameGap, 100);
- layerPosX.setValueAtTime(layers[i].inPoint, startPosX);
- layerPosX.setValueAtTime(layers[i].inPoint + frameGap, endPosX);
- layerPosY.setValueAtTime(layers[i].inPoint, startPosY);
- // SET SHIFTING ANIMATION KEYFRAMES
- for (var j = 1; j < layers.length; j++) {
- if (i < layers.length - j) {
- layerPosY.setValueAtTime(layers[i + j].inPoint, startPosY + spacingY * (j - 1));
- layerPosY.setValueAtTime(layers[i + j].inPoint + frameGap, startPosY + spacingY * j);
- }
- }
- }
- }
- app.endUndoGroup();
- })()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement