首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ES在AE脚本中添加一个输入和输出轻松值

ES在AE脚本中添加一个输入和输出轻松值
EN

Stack Overflow用户
提问于 2022-01-29 11:47:16
回答 1查看 180关注 0票数 1

这是我第一次问问题,而不是随便搜索。请原谅我,在谈到JS和ES的时候,我比绿色更环保。

我正在试图反向工程我在这里找到的代码:For loop in Adobe ExtendScript

它工作得很好,但它只允许我在键帧的输入和输出之间插入一个关键帧轻松值。我希望能够将它们分开,这样我就可以使用ease1和ease2,而不仅仅是ease1。任何帮助都将不胜感激!

代码语言:javascript
复制
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);
        };
    };
EN

回答 1

Stack Overflow用户

发布于 2022-02-26 21:02:26

我相信这可能就是你想要的:

代码语言:javascript
复制
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()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70905006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档