終了

スクリプトでスケールにイーズを適応する方法

New Here ,
Aug 11, 2024 Aug 11, 2024

リンクをクリップボードにコピー

コピー完了

AEのスクリプトを作っています。
スケールにキーフレームを打ち、そのキーフレームにイーズをつけたいのですが上手くできません。

コードは下記になります。
ーーーーーーーーーーーーーーーーーー

app.beginUndoGroup("Set Easing");

// コンポジションとレイヤーを取得
var comp = app.project.activeItem;
var layer = comp.layer(1);

// ポジションプロパティを取得
var positionProperty = layer.property("scale");

// イージングの設定
var easeIn = new KeyframeEase(0.5, 50); // イージングの強さを設定
var easeOut = new KeyframeEase(0.75, 85); // イージングの強さを設定

// ポジションプロパティのキーフレームを設定
var keyTime1 = comp.time;
var keyTime2 = keyTime1 + 1; // 1秒後に次のキーフレームを設定

// キーフレームを追加し、値を設定
positionProperty.setValueAtTime(keyTime1, [0, 0]); // 初期
positionProperty.setValueAtTime(keyTime2, [100, 100]); // 最終

// イージングを設定
positionProperty.setTemporalEaseAtKey(1, [easeOut], [easeIn]); // キーフレーム1に対してイージング設定
positionProperty.setTemporalEaseAtKey(2, [ easeOut], [easeIn]); // キーフレーム2に対してイージング設定

app.endUndoGroup();
ーーーーーーーーーーーーーーーーーーー

 

ちなみに

var positionProperty = layer.property("scale");の部分で"scale"を"position"に変えると位置のキーフレームにはイーズがつきます。
視覚的にイーズの変化が見えずらいとかではなく、キーフレームは菱形の形(リニア)になったままです。
すごく初歩的なことかもしれませんが解決策を教えていただけますと幸いです。
どうぞよろしくお願いいたいいたします。

キーワード
SDK , スクリプティング

表示

75

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines

correct answers 1 件の正解

エクスプローラー , Aug 12, 2024 Aug 12, 2024

https://ae-scripting.docsforadobe.dev/other/keyframeease.html?highlight=KeyframeEase

によるとスケールのプロパティはその次元分の配列にしないといけないみたいです

    // イージングを設定
    positionProperty.setTemporalEaseAtKey(1, [easeIn, easeIn, easeIn], [easeOut, easeOut, easeOut]); // キーフレーム1に対してイージング設定
    positionProperty.setTemporalEaseAtKey(2, [easeIn, easeIn, easeIn], [easeOut, easeOut, easeOut]); // キーフレーム2に対してイージング設定

 

投票

翻訳

翻訳
エクスプローラー ,
Aug 12, 2024 Aug 12, 2024

リンクをクリップボードにコピー

コピー完了

https://ae-scripting.docsforadobe.dev/other/keyframeease.html?highlight=KeyframeEase

によるとスケールのプロパティはその次元分の配列にしないといけないみたいです

    // イージングを設定
    positionProperty.setTemporalEaseAtKey(1, [easeIn, easeIn, easeIn], [easeOut, easeOut, easeOut]); // キーフレーム1に対してイージング設定
    positionProperty.setTemporalEaseAtKey(2, [easeIn, easeIn, easeIn], [easeOut, easeOut, easeOut]); // キーフレーム2に対してイージング設定

 

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Sep 15, 2024 Sep 15, 2024

リンクをクリップボードにコピー

コピー完了

最新

できましたー!!
ありがとうございます!!

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines