リンクをクリップボードにコピー
コピー完了
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"に変えると位置のキーフレームにはイーズがつきます。
視覚的にイーズの変化が見えずらいとかではなく、キーフレームは菱形の形(リニア)になったままです。
すごく初歩的なことかもしれませんが解決策を教えていただけますと幸いです。
どうぞよろしくお願いいたいいたします。
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に対してイージング設定
リンクをクリップボードにコピー
コピー完了
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に対してイージング設定
リンクをクリップボードにコピー
コピー完了
できましたー!!
ありがとうございます!!