Skip to main content
sasakitirol
Participating Frequently
September 22, 2021
Answered

動画の幅と高さを変更(各レイヤーの素材も一緒に拡大・縮小)したい

  • September 22, 2021
  • 1 reply
  • 31952 views

After Effectsの初心者で、初歩的なことかもしれませんが調べても分からなかったので教えていただきたいです。

 

途中まで作成したアニメーションの、動画の幅と高さを変更することになりました。

この際、各レイヤーの素材も一緒に拡大・縮小する方法はありますか?

コンポジション設定から動画の幅と高さを変更できることは知っているのですが、「各レイヤーの素材も一緒に拡大・縮小」ができません。

書き出しの際にサイズ変更をする方法ではなく、作業データを変更する方法を知りたいです。

 

After Effects 2021

macOS Big Sur 11.4

を使用しています。

 

どうぞよろしくお願いいたします。

    This topic has been closed for replies.
    Correct answer Mukaida

    <追記>
    質問の最後の文章を見落としていました。

     

    コンポジションのサイズに合わせるだけなら、先の方法でもできますが、移動が必要な場合は下記スレッドが参考になるかもしれません。
    解決済み: AEスクリプトで、選択した複数のコンポ内のレイヤーの位置をまとめて調整したいです。 - Adobe Support Community - 10090004 

    1 reply

    Community Expert
    September 22, 2021

    新規コンポジションを作成して、タイムラインに既存のコンポジションを配置します。
    レイヤーメニューの「コンポジションに合わせる」でサイズを合わせます。

    MukaidaCommunity ExpertCorrect answer
    Community Expert
    September 22, 2021

    <追記>
    質問の最後の文章を見落としていました。

     

    コンポジションのサイズに合わせるだけなら、先の方法でもできますが、移動が必要な場合は下記スレッドが参考になるかもしれません。
    解決済み: AEスクリプトで、選択した複数のコンポ内のレイヤーの位置をまとめて調整したいです。 - Adobe Support Community - 10090004 

    Community Expert
    September 23, 2021

    コンポジションと一緒にサイズを変更する機能は無いので、先の回答にあるスクリプトを応用して2Kから4Kに変更した場合のスクリプトを作ってみました。


    サイズと位置の両方を変更しないと同じアニメーションになりません。

    開いているコンポジション内のレイヤー全てに適用されます。

     

    サイズ:

    var n = app. project. activeItem. numLayers;
    var iLayer;
    for (iLayer=1;iLayer<=n;iLayer++) {
    var myLayer = app.project.activeItem.layer(iLayer);
    var myProp = myLayer.property("Scale"); //プロパティ
    var curVal;
    if (myProp.numKeys > 0){
    for (var i = 1; i <= myProp.numKeys; i++){
    curVal = myProp.keyValue(i);
    myProp.setValueAtKey(i,[curVal[0]*2,curVal[1]*2]); // X: 2倍 Y: 2倍
    }
    }else{
    curVal = myProp.value;
    myProp.setValue([curVal[0]*2,curVal[1]*2]); // X: 2倍 Y: 2倍
    }
    }

     

    位置:

    var n = app. project. activeItem. numLayers;
    var iLayer;
    for (iLayer=1;iLayer<=n;iLayer++) {
    var myLayer = app.project.activeItem.layer(iLayer);
    var myProp = myLayer.property("Position"); // プロパティ
    var curVal;
    if (myProp.numKeys > 0){
    for (var i = 1; i <= myProp.numKeys; i++){
    curVal = myProp.keyValue(i);
    myProp.setValueAtKey(i,[curVal[0]*2-1920,curVal[1]*2-1080]); // X: 2倍 Y: 2倍 追加:位置調整
    }
    }else{
    curVal = myProp.value;
    myProp.setValue([curVal[0]*2-1920,curVal[1]*2-1080]); // X: 2倍 Y: 2倍 追加:位置調整
    }
    }