forked from kyletmartinez/after-effects-scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSet Simple Time Remap Loop.jsx
32 lines (31 loc) · 1.31 KB
/
Set Simple Time Remap Loop.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/**
* @name Set Simple Time Remap Loop
* @version 1.0
* @author Kyle Martinez <www.kyle-martinez.com>
*
* @description Automatically enable Time Remapping, set the appropriate keyframes, and apply the
* loopOut() expression to correctly loop a layer.
*
* @license This script is provided "as is," without warranty of any kind, expressed or implied. In
* no event shall the author be held liable for any damages arising in any way from the use of this
* script.
*
* In other words, I'm just trying to help make life as an animator easier
* "A rising tide lifts all boats." - John F. Kennedy, 1963
*/
(function setSimpleTimeRemapLoop() {
app.beginUndoGroup("Set Simple Time Remap Loop");
var comp = app.project.activeItem;
var layer = comp.selectedLayers[0];
layer.timeRemapEnabled = true;
layer.outPoint = comp.duration;
var timeRemapping = layer.property("ADBE Time Remapping");
var numKeys = timeRemapping.numKeys;
var firstKeyTime = timeRemapping.keyTime(1);
var lastKeyTime = timeRemapping.keyTime(numKeys);
var firstKeyValue = timeRemapping.valueAtTime(firstKeyTime, false);
timeRemapping.addKey(lastKeyTime - comp.frameDuration);
timeRemapping.setValueAtTime(lastKeyTime, firstKeyValue);
timeRemapping.expression = "loopOut(\"cycle\");";
app.endUndoGroup();
})();