【发布时间】:2022-11-09 21:53:10
【问题描述】:
这是我第一次提出问题,而不仅仅是随机搜索。提前原谅我,在 JS 和 ES 方面,我比绿色更环保。
我正在尝试对我在这里找到的代码进行逆向工程:For loop in Adobe ExtendScript
它工作得很好,但它只允许我在关键帧的内外插入一个关键帧缓动值。我希望能够将它们分开,这样我就可以使用ease1 和ease2 而不仅仅是ease1。任何帮助将不胜感激!
function storeKeyframes(){
var comp = app.project.activeItem;
if (!comp || comp.typeName !== "Composition") return;
var properties = comp.selectedProperties;
var i, I=properties.length;
var ease1 = new KeyframeEase(0,30);
var ease2 = new KeyframeEase(0,45);
for (i=0; i<I; i++){
if (properties[i] instanceof Property) setEase(properties[i], ease1);
};
};
function setEase(property, ease1){
var ease = property.propertyValueType===PropertyValueType.Two_D ? [ease1, ease1] : (property.propertyValueType===PropertyValueType.Three_D ? [ease1, ease1, ease1] : [ease1]);
var keySelection = property.selectedKeys;
var i, I=keySelection.length;
for (i=0; i<I; i++){
property.setInterpolationTypeAtKey(keySelection[i], KeyframeInterpolationType.BEZIER, KeyframeInterpolationType.BEZIER);
property.setTemporalEaseAtKey(keySelection[i], ease, ease);
};
};
【问题讨论】:
标签: extendscript keyframe after-effects easing