这是我第一次问问题,而不是随便搜索。请原谅我,在谈到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);
};
};发布于 2022-02-26 21:02:26
我相信这可能就是你想要的:
function storeKeyframes(){
var comp = app.project.activeItem;
if (!comp || comp.typeName !== "Composition") return;
var properties = comp.selectedProperties;
var numProps = properties.length;
var ease1 = new KeyframeEase(0,30);
var ease2 = new KeyframeEase(0,45);
for (var i = 0; i < numProps; i++){
if (properties[i] instanceof Property) setEase(properties[i], ease1, ease2 );
};
};
function newSetEase( prop, inEase, outEase ) {
var keySelection = prop.selectedKeys;
var numKeys = keySelection.length;
for(var i = 0; i < numKeys; i++) {
prop.setInterpolationTypeAtKey(keySelection[i], KeyframeInterpolationType.BEZIER, KeyframeInterpolationType.BEZIER);
if (!prop.isSpatial && prop.value.length == 3) {
prop.setTemporalEaseAtKey(keySelection[i],[inEase,inEase,inEase],[outEase,outEase,outEase]);
}
else if (!prop.isSpatial && prop.value.length == 2) {
prop.setTemporalEaseAtKey(keySelection[i],[inEase,inEase],[outEase,outEase]);
}
else {
prop.setTemporalEaseAtKey(keySelection[i],[inEase],[outEase]);
}
}
}
storeKeyframes()https://stackoverflow.com/questions/70905006
复制相似问题